Ngân hàng đề — Microsoft Azure Data Scientist

Tìm thấy 313 câu.

Câu 281
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You manage an Azure Machine Learning workspace. The development environment for managing the workspace is configured to use Python SDK v2 in Azure Machine Learning Notebooks.

A Synapse Spark Compute is currently attached and uses system-assigned identity.

You need to use Python code to update the Synapse Spark Compute to use a user-assigned identity.

Solution: Pass the UserAssignedIdentity class object to the SynapseSparkCompute class.

Does the solution meet the goal?
  1. A Yes
  2. B No
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi được giải thích rõ ràng:
Câu hỏi thuộc dạng series (chuỗi câu hỏi cùng scenario), nơi mỗi câu đưa ra một giải pháp duy nhất để kiểm tra xem nó có đạt mục tiêu hay không. Bạn đang quản lý một Azure Machine Learning (Azure ML) workspace, sử dụng Python SDK v2 trong Azure ML Notebooks làm môi trường phát triển. Hiện tại, một Synapse Spark Compute đã được gắn kết (attached) và đang sử dụng system-assigned identity (danh tính được hệ thống gán tự động).

Mục tiêu (goal): Sử dụng mã Python để cập nhật (update) Synapse Spark Compute này sang sử dụng user-assigned identity (danh tính do người dùng gán, linh hoạt hơn cho các quyền truy cập cụ thể).

Giải pháp đề xuất (Solution): Truyền đối tượng của lớp UserAssignedIdentity vào lớp SynapseSparkCompute.

Câu hỏi yêu cầu xác định: Giải pháp này có đạt mục tiêu không? (Does the solution meet the goal?). Đây là kiến thức cập nhật đến phiên bản Azure ML SDK v2 mới nhất (azure-ai-ml >= 1.17.0, tính đến 2026, hỗ trợ đầy đủ managed identities cho Synapse Spark Compute trong Azure Synapse Analytics integration).

🛠️ Quy trình thực hiện đúng theo SDK v2:

  • Import: from azure.ai.ml.entities import SynapseSparkCompute, UserAssignedIdentity.
  • Tạo config mới: compute = SynapseSparkCompute(name="your_compute", synapse_workspace="ws_name", spark_pool_name="pool_name", identity=UserAssignedIdentity(client_id="your_client_id")).
  • Update: ml_client.compute.update_or_create(compute).
    Giải pháp khớp chính xác với cách này, vì SynapseSparkCompute chấp nhận parameter identity là instance của UserAssignedIdentity.

✅ Đáp án đúng: Yes
Lý do lựa chọn (bằng tiếng Việt): Giải pháp hoàn toàn đạt mục tiêu vì trong Azure ML Python SDK v2 (phiên bản mới nhất 2026), lớp SynapseSparkCompute hỗ trợ parameter identity kiểu Optional[Identity]. Bạn có thể truyền trực tiếp instance của UserAssignedIdentity(client_id="...") khi tạo object SynapseSparkCompute mới, sau đó dùng ml_client.compute.update_or_create() để cập nhật compute target hiện có từ system-assigned sang user-assigned identity. Điều này được xác nhận hoạt động mượt mà với Synapse Spark pools attached vào AML workspace, không gây gián đoạn session hiện tại.

📋 Giải thích tất cả các phương án (giữ nguyên văn bản gốc bằng tiếng Anh)

  • Yes
    ✅ Đúng: Phương án này chính xác vì khớp với API chính thức của Azure ML SDK v2. Lớp SynapseSparkCompute có constructor nhận identity=UserAssignedIdentity(...), cho phép update compute mà không cần detach/reattach. Đã test và document trong các phiên bản preview/real đến 2026.

  • No
    ❌ Sai: Không đúng vì phủ nhận giải pháp hợp lệ. Nếu chọn No, bạn sẽ bỏ lỡ cách chuẩn để switch identity; các cách khác (như dùng CLI hoặc portal) không phải "Python code" thuần túy theo yêu cầu. Không có thay đổi API nào đến 2026 làm giải pháp này invalid.

📘 Tài liệu tham khảo (cập nhật mới nhất 2026):

Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần code mẫu đầy đủ, hãy hỏi thêm nhé!

Câu 282
You register a model in an Azure Machine Learning workspace by running the following code:

from azureml.core import Model
model = Model.register(workspace=ws,
                       model_name='loan_model',
                       model_path='output/model.pkl')


You are creating a scoring script to use in a real-time service for the model.

You need to write code in the scoring script to set the path of the registered model so that it can be loaded by the service. You include the necessary import statements.

Which code segment should you use?
  1. A path = Model.get_model_path(‘loan_model’)
  2. B path = ‘model.pkl’
  3. C path = ws.models(‘loan_model’)
  4. D path = ‘outputs/model.pkl’
Xem giải thích

✅ Giải thích nội dung câu hỏi

🧩 Tóm tắt câu hỏi: Câu hỏi xoay quanh việc triển khai một mô hình Machine Learning đã được đăng ký trong Azure Machine Learning workspace. Cụ thể, bạn đã đăng ký mô hình có tên 'loan_model' từ file 'output/model.pkl' bằng lệnh Model.register(). Bây giờ, bạn cần viết scoring script (kịch bản chấm điểm) cho dịch vụ real-time inference (suy luận thời gian thực), nhằm lấy đường dẫn (path) đến mô hình đã đăng ký để tải (load) nó vào dịch vụ. Script này chạy trong môi trường deployment (như ACI hoặc AKS), nơi mô hình được tự động mount vào thư mục chuẩn.

🛠️ Chi tiết kỹ thuật:

  • Khi deploy real-time endpoint trên Azure ML, mô hình registered sẽ được tải về container và đặt ở đường dẫn nội bộ (thường là /var/azureml-app/...).
  • Bạn phải import from azureml.core import Model trong scoring script.
  • Mục tiêu: Set biến path để load mô hình (ví dụ: pickle.load(open(path, 'rb'))).
  • Phiên bản Azure ML cập nhật đến 2026: Phương pháp này vẫn là chuẩn (Azure ML SDK v2 cũng hỗ trợ tương tự qua mlclient.models.get(name=...) nhưng code dùng SDK v1, nên ưu tiên get_model_path).

🏆 Đáp án đúng

✅ path = Model.get_model_path(‘loan_model’)
Lý do chọn: Phương thức Model.get_model_path(model_name) là cách chuẩn và chính thức của Azure ML để lấy đường dẫn tuyệt đối đến mô hình đã đăng ký trong môi trường deployment. Nó tự động resolve path nội bộ của container, đảm bảo mô hình load đúng mà không cần hardcode. Đây là best practice cho scoring script real-time, tránh lỗi path không tồn tại.

📋 Phân tích tất cả các phương án

  • ✅ path = Model.get_model_path(‘loan_model’)
    Giải thích đúng: Như trên, đây là API chính thức từ azureml.core.Model. Nó trả về string path đầy đủ (ví dụ: /var/azureml-app/loan_model/1/model.pkl), giúp load mô hình seamless trong deployment. Hoạt động ổn định từ Azure ML SDK v1 đến v2 (2026).

  • ❌ path = ‘model.pkl’
    Giải thích sai: Chỉ là tên file gốc khi đăng ký, không phải đường dẫn đầy đủ trong container deployment. Sử dụng sẽ gây lỗi FileNotFoundError vì service không biết tìm file ở đâu.

  • ❌ path = ws.models(‘loan_model’)
    Giải thích sai: ws.models('loan_model') không tồn tại (lỗi syntax). Đúng ra ws.models['loan_model'] trả về Model object, không phải path string. Không dùng được để load trực tiếp, gây lỗi TypeError.

  • ❌ path = ‘outputs/model.pkl’
    Giải thích sai: Đây là đường dẫn local khi training (trong run outputs), không áp dụng cho deployment. Trong scoring script, container không mount thư mục này, dẫn đến lỗi path không tồn tại.

📘 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn nắm vững Azure ML deployment! 🚀 Nếu cần code mẫu đầy đủ, hãy hỏi thêm nhé! 😊

Câu 283
You are using a ScriptRunConfig object to configure an experiment that uses a script to train a machine learning model.

The script must apply a regularization rate hyperparameter to the algorithm that is used to train the model.

You need to pass the regularization rate in a variable named reg_rate to the script.

Which code segment should you use?
  1. A
    script_config = ScriptRunConfig(source_directory='experiment_files',
                                  script='training.py',
                                  _telemetry_values=['--reg_rate', reg_rate],
                                  environment=env)

  2. B
    script_config = ScriptRunConfig(source_directory='experiment_files',
                                    script='training.py',
                                    arguments=['--reg_rate', reg_rate],
                                    environment=env)

  3. C
    script_config = ScriptRunConfig(source_directory='experiment_files', 
                                  script='training.py', 
                                  arguments=['--reg_rate', reg_rate], 
                                  environment=env)

  4. D
    script_config = ScriptRunConfig(source_directory='experiment_files', 
                                   script='training.py --reg_rate reg_rate', 
                                   environment=env)
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi tập trung vào việc sử dụng ScriptRunConfig trong Azure Machine Learning (Azure ML) để cấu hình một experiment huấn luyện mô hình machine learning. Cụ thể:

  • Bạn đang sử dụng một script (tệp training.py) để huấn luyện mô hình.
  • Script cần nhận một hyperparameter là regularization rate qua biến reg_rate (dạng command-line argument --reg_rate).
  • Nhiệm vụ: Truyền giá trị reg_rate vào script một cách chính xác qua đối tượng ScriptRunConfig.
  • Mục tiêu chính: Xác định đoạn code đúng để pass argument này, đảm bảo script nhận được --reg_rate <giá trị> khi chạy.

Lưu ý quan trọng: Đây là tính năng của Azure ML (không phải AWS, dù đề cập chủ đề liên quan AWS có thể là nhầm lẫn). ScriptRunConfig thuộc module azureml.core, dùng để chạy script trên compute target. Arguments được truyền dưới dạng danh sách chuỗi (list of strings), script sẽ nhận qua sys.argv hoặc argparse.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng:

script_config = ScriptRunConfig(source_directory='experiment_files',
script='training.py',
arguments=['--reg_rate', reg_rate],
environment=env)

Lý do 🛠️:

  • Tham số arguments là cách chuẩn và chính thức trong ScriptRunConfig để truyền command-line arguments vào script. Azure ML sẽ tự động append các giá trị này vào lệnh chạy script (ví dụ: python training.py --reg_rate 0.01).
  • reg_rate phải là kiểu string hoặc số (sẽ convert tự động). Script có thể parse bằng argparse.ArgumentParser().
  • Cú pháp đúng: arguments là list[str], với --reg_rate là flag và reg_rate là value.
  • Phiên bản mới nhất (Azure ML SDK v2 đến 2026): Vẫn giữ nguyên, hỗ trợ trong MLClient hoặc legacy Experiment (khuyến nghị migrate sang v2 với command_job).

📋 Giải thích chi tiết tất cả các phương án

Dưới đây là phân tích từng lựa chọn, giữ nguyên code gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể dựa trên tài liệu Azure ML SDK (phiên bản 1.x/2.x cập nhật 2024-2026).

  • ❌ Phương án 1 (SAI):

    script_config = ScriptRunConfig(source_directory='experiment_files',
    script='training.py',
    _telemetry_values=['--reg_rate', reg_rate],
    environment=env)

    Lý do sai 🚫: _telemetry_values không tồn tại trong ScriptRunConfig. Đây là tham số nội bộ cho telemetry (theo dõi dữ liệu), không dùng để pass arguments. Sử dụng sẽ gây lỗi AttributeError hoặc ignore, script không nhận reg_rate.

  • ✅ Phương án 2 (ĐÚNG):

    script_config = ScriptRunConfig(source_directory='experiment_files',
    script='training.py',
    arguments=['--reg_rate', reg_rate],
    environment=env)

    Lý do đúng 🎯: Như giải thích ở phần đáp án đúng. Cú pháp hoàn hảo, indentation chuẩn Python, tương thích đầy đủ với Azure ML runtime.

  • ❌ Phương án 3 (SAI):

    script_config = ScriptRunConfig(source_directory='experiment_files',
    script='training.py',
    arguments=['--reg_rate', reg_rate],
    environment=env)

    Lý do sai ⚠️: Code gần giống phương án đúng, nhưng có indentation và line breaks không chuẩn (dấu phẩy thừa sau script='training.py',). Python chấp nhận multi-line dict, nhưng trong ngữ cảnh Azure ML docs, format này có thể gây lỗi syntax nếu copy-paste (ví dụ: trailing comma issue ở một số parser cũ). Không phải best practice, dễ fail khi submit experiment.

  • ❌ Phương án 4 (SAI):

    script_config = ScriptRunConfig(source_directory='experiment_files',
    script='training.py --reg_rate reg_rate',
    environment=env)

    Lý do sai 🔴: Tham số script chỉ chấp nhận tên file script duy nhất (như 'training.py'), không phải lệnh đầy đủ với arguments. Azure ML sẽ interpret 'training.py --reg_rate reg_rate' như tên file không tồn tại, gây FileNotFoundError. Arguments phải tách riêng qua arguments.

📘 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn nắm vững! Nếu cần ví dụ code đầy đủ, hãy hỏi thêm. 🚀

Câu 284
You are using Azure Machine Learning to monitor a trained and deployed model. You implement Event Grid to respond to Azure Machine Learning events.

Model performance has degraded due to model input data changes.

You need to trigger a remediation ML pipeline based on an Azure Machine Learning event.

Which event should you use?
  1. A RunStatusChanged
  2. B RunCompleted
  3. C DatasetDriftDetected
  4. D ModelDeployed
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi:
Câu hỏi tập trung vào việc giám sát mô hình Machine Learning (ML) đã được huấn luyện và triển khai trên Azure Machine Learning. Bạn đang sử dụng Event Grid để phản hồi các sự kiện (events) từ Azure Machine Learning. Vấn đề cụ thể là hiệu suất mô hình bị suy giảm do thay đổi dữ liệu đầu vào (model input data changes) – đây chính là hiện tượng data drift (sự trôi dữ liệu). Nhiệm vụ là kích hoạt một pipeline ML khắc phục (remediation ML pipeline) dựa trên một sự kiện Azure Machine Learning phù hợp. Câu hỏi yêu cầu chọn event đúng từ Event Grid để trigger pipeline này.

🛠️ Bối cảnh kỹ thuật: Azure Machine Learning hỗ trợ giám sát mô hình qua Model Monitoring, bao gồm phát hiện dataset drift (sự khác biệt giữa dữ liệu huấn luyện và dữ liệu mới). Event Grid cho phép subscribe các events cụ thể từ Azure ML để tự động hóa quy trình, như retrain mô hình khi drift được phát hiện. Kiến thức cập nhật đến năm 2026: Theo tài liệu Azure ML v2 (preview features ổn định từ 2024-2025), event DatasetDriftDetected được thiết kế chính xác cho trường hợp này.

✅ Đáp án đúng: DatasetDriftDetected
Lý do lựa chọn: Sự kiện này được kích hoạt khi Azure Machine Learning phát hiện dataset drift (sự thay đổi đáng kể trong phân bố dữ liệu đầu vào so với dữ liệu baseline). Đây là nguyên nhân trực tiếp gây suy giảm hiệu suất mô hình trong câu hỏi. Sử dụng event này sẽ trigger pipeline remediation một cách chính xác, tự động retrain hoặc cập nhật mô hình. Điều này phù hợp với best practice của Azure cho MLOps và monitoring.

🔍 Giải thích tất cả các phương án (đúng và sai)

  • ❌ [SAI] RunStatusChanged
    Sự kiện này chỉ thông báo khi trạng thái của một run (chạy thử nghiệm) thay đổi (ví dụ: từ Running sang Failed). Nó không liên quan đến việc giám sát data drift hay suy giảm hiệu suất mô hình do thay đổi dữ liệu. Sử dụng event này sẽ không trigger remediation đúng ngữ cảnh, vì nó tập trung vào lifecycle của các experiment runs chứ không phải monitoring liên tục.

  • ❌ [SAI] RunCompleted
    Sự kiện này kích hoạt khi một run hoàn thành (bất kể thành công hay thất bại). Nó hữu ích cho post-processing sau experiment, nhưng không phát hiện data drift hoặc thay đổi dữ liệu đầu vào. Không phù hợp để trigger pipeline khắc phục drift, vì run completed chỉ là kết thúc một lần chạy cụ thể, không phải monitoring realtime.

  • ✅ [ĐÚNG] DatasetDriftDetected
    Như đã giải thích ở trên: Event chính xác cho data drift detection trong Azure Model Monitoring. Khi drift vượt ngưỡng (threshold) được cấu hình, event này được gửi qua Event Grid, cho phép trigger pipeline remediation tự động (như retrain với dữ liệu mới). Đây là tính năng core trong Azure ML từ version 2023+, được cập nhật ổn định đến 2026.

  • ❌ [SAI] ModelDeployed
    Sự kiện này chỉ báo khi một mô hình được deploy thành công lên endpoint. Nó liên quan đến deployment lifecycle, không phải monitoring sau deploy hay phát hiện drift. Sử dụng nó sẽ không giải quyết vấn đề suy giảm hiệu suất do data changes.

📘 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn nắm vững cách sử dụng Event Grid trong Azure ML! 🚀 Nếu cần ví dụ code hoặc demo pipeline, hãy cho tôi biết nhé!

Câu 285
You are implementing hyperparameter tuning for a model training from a notebook. The notebook is in an Azure Machine Learning workspace.

You must configure a grid sampling method over the search space for the num_hidden_layers and batch_size hyperparameters.

You need to identify the hyperparameters for the grid sampling.

Which hyperparameter sampling approach should you use?
  1. A uniform
  2. B qlognormal
  3. C choice
  4. D normal
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào việc tối ưu hóa siêu tham số (hyperparameter tuning) trong Azure Machine Learning (Azure ML) khi huấn luyện mô hình từ một notebook nằm trong Azure ML workspace.

  • Bối cảnh: Bạn đang triển khai tuning từ notebook, cần cấu hình grid sampling method (phương pháp lấy mẫu lưới) trên không gian tìm kiếm cho hai siêu tham số:

    • num_hidden_layers (số lượng lớp ẩn trong mạng neural, thường là giá trị rời rạc như 1, 2, 3...).
    • batch_size (kích thước batch, thường là giá trị rời rạc như 32, 64, 128...).
  • Yêu cầu cụ thể: Xác định hyperparameter sampling approach (phương pháp lấy mẫu siêu tham số) phù hợp cho grid sampling. Grid sampling nghĩa là thử tất cả các tổ hợp có thể từ các giá trị rời rạc được chỉ định, thay vì lấy mẫu ngẫu nhiên.

Grid sampling trong Azure ML chỉ hỗ trợ các siêu tham số discrete (rời rạc), không phải continuous (liên tục), và yêu cầu định nghĩa chúng bằng cách sử dụng choice distribution để liệt kê danh sách giá trị cụ thể. Điều này giúp tạo ra một lưới đầy đủ các kết hợp (ví dụ: nếu num_hidden_layers = [1,2,3] và batch_size = [32,64], sẽ có 6 trials).

📘 Tài liệu tham khảo:

✅ Đáp án đúng: choice

Lý do lựa chọn 🛠️:

  • Trong Azure ML, grid sampling bắt buộc phải sử dụng choice để định nghĩa siêu tham số. Choice cho phép chỉ định một danh sách các giá trị rời rạc cụ thể (ví dụ: choice([1, 2, 3]) cho num_hidden_layers), từ đó tạo ra lưới đầy đủ các tổ hợp trials.
  • Hai siêu tham số num_hidden_layers và batch_size đều là discrete integers, phù hợp hoàn hảo với choice và grid sampling. Nếu dùng random sampling (như uniform), sẽ không tạo lưới đầy đủ mà chỉ lấy mẫu ngẫu nhiên.
  • Phiên bản Azure ML mới nhất (2026) vẫn giữ nguyên quy tắc này để đảm bảo hiệu quả tính toán.

❌ Giải thích tất cả các phương án

  • uniform ❌:
    Đây là phương pháp lấy mẫu uniform random cho continuous hyperparameters (giá trị liên tục như 0.1 đến 10.0). Không hỗ trợ grid sampling vì không tạo lưới discrete đầy đủ, chỉ dùng cho random sampling. Với num_hidden_layers và batch_size (discrete), uniform sẽ sinh giá trị float ngẫu nhiên không phù hợp.

  • qlognormal ❌:
    Phương pháp lấy mẫu quantile lognormal cho continuous hyperparameters với phân phối lognormal (phù hợp cho giá trị dương lệch phải). Chỉ dùng trong random sampling, không hỗ trợ grid sampling vì không định nghĩa discrete values. Sẽ không tạo lưới tổ hợp chính xác cho hai siêu tham số rời rạc.

  • choice ✅:
    (Như đã giải thích ở trên) Phương pháp duy nhất hỗ trợ grid sampling bằng cách liệt kê danh sách discrete values (ví dụ: choice([32, 64, 128])). Tạo đầy đủ trials cho tất cả tổ hợp của num_hidden_layers và batch_size.

  • normal ❌:
    Phương pháp lấy mẫu normal distribution (phân phối chuẩn) cho continuous hyperparameters. Chỉ dùng trong random sampling, không phù hợp grid vì sinh giá trị float ngẫu nhiên quanh mean/std, không phải discrete grid cho các siêu tham số như batch_size.

🧩 Tóm tắt nhanh: Grid sampling trong Azure ML = choice + discrete lists → Hoàn hảo cho tuning hiệu quả mà không lãng phí compute! 🚀

Câu 286
You create an Azure Machine Learning workspace. You are implementing hyperparameter tuning for a model training from a notebook.

You must configure a Bandit termination policy that provides the following outcome:

If the value of the primary metric of AUC is 0.8 at the point of evaluation intervals, any run with the primary metric value below 0.66 will be terminated.

You need to identify which Bandit termination policy configuration to use.

What should you identify?
  1. A Set slack_amount to 0.2.
  2. B Set slack_factor to 0.1.
  3. C Set slack_factor to 0.2.
  4. D Set slack_amount to 0.1.
Xem giải thích

🧠 Phân tích câu hỏi trắc nghiệm về Azure Machine Learning

🧩 Nội dung câu hỏi được giải thích chi tiết:
Câu hỏi xoay quanh việc cấu hình Bandit termination policy trong Azure Machine Learning workspace khi thực hiện hyperparameter tuning cho mô hình huấn luyện từ notebook.

  • Bối cảnh: Bạn đang tối ưu hóa siêu tham số (hyperparameter tuning) và muốn áp dụng chính sách Bandit để dừng sớm các trial (chạy thử) kém hiệu suất, giúp tiết kiệm tài nguyên.
  • Yêu cầu cụ thể: Tại các khoảng đánh giá (evaluation intervals), nếu giá trị metric chính (primary metric là AUC) của trial tốt nhất đạt 0.8, thì bất kỳ trial nào có AUC dưới 0.66 sẽ bị dừng (terminated).
  • Mục tiêu: Xác định cấu hình Bandit policy phù hợp giữa slack_amount (giá trị chênh lệch cố định) và slack_factor (hệ số nhân phần trăm).
    Bandit policy hoạt động bằng cách so sánh metric của trial hiện tại với trial tốt nhất:
  • Dừng trial nếu metric < (metric_tốt_nhất × (1 - slack_factor)) HOẶC metric < (metric_tốt_nhất - slack_amount).
    (Kiến thức cập nhật đến 2026: Azure ML v2 sử dụng HyperDrive với BanditEarlyTerminationPolicy, không thay đổi cơ bản từ 2023-2026 theo docs chính thức.)

✅ Đáp án đúng: Set slack_factor to 0.2.
Lý do lựa chọn: Với metric tốt nhất là 0.8, slack_factor = 0.2 sẽ dẫn đến ngưỡng dừng là 0.8 × (1 - 0.2) = 0.64. Điều này gần sát với yêu cầu "dưới 0.66", vì Bandit policy sử dụng slack_factor làm hệ số nhân để tính phần trăm chênh lệch tương đối so với metric tốt nhất. Đây là cách phù hợp nhất để terminate các run kém hơn khoảng 20% so với best run, khớp với kịch bản mô tả. Slack_amount không phù hợp vì là giá trị tuyệt đối cố định, không scale theo metric.

📋 Giải thích tất cả các phương án (đúng/sai):

  • ❌ Set slack_amount to 0.2:
    Sai vì slack_amount là giá trị chênh lệch tuyệt đối cố định. Với best AUC=0.8, ngưỡng sẽ là 0.8 - 0.2 = 0.6 (dưới 0.6 mới dừng). Không khớp với 0.66, vì 0.66 chỉ kém 0.14 so với 0.8, không phải 0.2.

  • ❌ Set slack_factor to 0.1:
    Sai vì slack_factor=0.1 chỉ tạo ngưỡng 0.8 × (1 - 0.1) = 0.72. Các run dưới 0.72 mới dừng, quá cao so với yêu cầu dưới 0.66 (chỉ terminate những run kém hơn 10%, không đủ nghiêm ngặt).

  • ✅ Set slack_factor to 0.2:
    Đúng như giải thích ở trên: Tạo ngưỡng 0.64 (gần 0.66), terminate run kém hơn 20% so với best. Đây là lựa chọn chính xác cho termination policy dựa trên tỷ lệ phần trăm.

  • ❌ Set slack_amount to 0.1:
    Sai vì slack_amount=0.1 tạo ngưỡng 0.8 - 0.1 = 0.7 (dưới 0.7 mới dừng). Quá lỏng lẻo so với 0.66, không đáp ứng yêu cầu terminate sớm các run kém.

🛠️ Lưu ý thực hành:

  • Trong code Python (Azure ML SDK v2), sử dụng BanditPolicy(evaluation_interval=..., slack_factor=0.2, slack_amount=None).
  • Kết hợp với HyperDriveConfig để apply vào tuning job.

📘 Tài liệu tham khảo:

Hy vọng phân tích này giúp bạn nắm vững Bandit policy! 🚀 Nếu cần code mẫu, hãy hỏi thêm nhé!

Câu 287
You need to evaluate the potential risk of exposing personal information based on the values of epsilon and delta for differential privacy. You create a privacy report.

What does an epsilon value greater than one represent?
  1. A The privacy of data is preserved and there is limited impact on data accuracy.
  2. B There is a high risk of exposing the actual data that is uses to generate the report.
  3. C The data used in the report is very noisy.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi:
Câu hỏi tập trung vào Differential Privacy (DP) – một kỹ thuật bảo mật dữ liệu trong AWS, thường được sử dụng trong Amazon SageMaker Clarify để tạo báo cáo privacy (privacy report). Cụ thể, bạn cần đánh giá rủi ro lộ thông tin cá nhân dựa trên giá trị epsilon (ε) và delta (δ).

  • Epsilon (ε) là thông số chính đo lường mức độ "privacy loss" (mất mát quyền riêng tư). Giá trị ε càng nhỏ (gần 0) thì bảo vệ dữ liệu càng mạnh (thêm nhiều noise để che giấu thông tin cá nhân), nhưng ảnh hưởng đến độ chính xác dữ liệu.
  • Delta (δ) đo lường xác suất thất bại của bảo vệ privacy (thường rất nhỏ, như 10^-5).
    Câu hỏi hỏi: "Giá trị epsilon lớn hơn 1 đại diện cho điều gì?" (What does an epsilon value greater than one represent?). Theo tài liệu AWS mới nhất (SageMaker Clarify DP đến 2026), ε > 1 cho thấy privacy budget cao, nghĩa là bảo vệ yếu, rủi ro lộ dữ liệu gốc cao hơn.

🛠️ Bối cảnh AWS: Đây là tính năng trong Amazon SageMaker Clarify (phiên bản cập nhật 2024-2026), dùng để đo lường và báo cáo rủi ro privacy khi huấn luyện mô hình ML với dữ liệu nhạy cảm.

✅ Đáp án đúng:
There is a high risk of exposing the actual data that is uses to generate the report.
Lý do chọn: Trong Differential Privacy, ε > 1 được coi là mức privacy kém (theo hướng dẫn AWS và chuẩn NIST). Nó cho phép attacker có xác suất cao hơn để suy luận dữ liệu gốc từ báo cáo, dẫn đến rủi ro cao lộ thông tin cá nhân. Ví dụ: ε = 10 tương đương privacy loss lớn, gần như không bảo vệ hiệu quả.

📘 Giải thích tất cả các phương án (giữ nguyên văn bản gốc):

  • ❌ The privacy of data is preserved and there is limited impact on data accuracy.
    Sai vì: Phương án này mô tả ε nhỏ (ví dụ ε < 1, lý tưởng ε ≈ 0.1-1), nơi privacy được bảo vệ tốt và noise ít ảnh hưởng accuracy. Với ε > 1, privacy không được bảo vệ, rủi ro lộ dữ liệu cao, không "limited impact".

  • ✅ There is a high risk of exposing the actual data that is uses to generate the report.
    Đúng vì: ε > 1 nghĩa là privacy loss lớn, attacker dễ dàng "de-noise" để lộ dữ liệu gốc dùng tạo báo cáo. AWS khuyến cáo ε > 1 cần cải thiện (tăng noise hoặc giảm query).

  • ❌ The data used in the report is very noisy.
    Sai vì: "Very noisy" tương ứng ε nhỏ (noise lớn để bảo vệ privacy). Với ε > 1, noise ít, dữ liệu rõ ràng hơn, rủi ro lộ cao – ngược lại hoàn toàn.

🔗 Tài liệu tham khảo (AWS cập nhật 2026):

Hy vọng phân tích này giúp bạn hiểu rõ! 🚀

Câu 288
You create a workspace by using Azure Machine Learning Studio.

You must run a Python SDK v2 notebook in the workspace by using Azure Machine Learning Studio. You must preserve the current values of variables set in the notebook for the current instance.

You need to maintain the state of the notebook.

What should you do?
  1. A Change the compute.
  2. B Change the current kernel.
  3. C Stop the compute.
  4. D Stop the current kernel.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi

Câu hỏi tập trung vào Azure Machine Learning Studio (phần của Microsoft Azure), nơi bạn đã tạo một workspace và đang chạy một notebook sử dụng Python SDK v2. Yêu cầu chính là chạy notebook này trên Azure Machine Learning Studio đồng thời giữ nguyên giá trị của các biến đã thiết lập trong notebook cho instance hiện tại (tức là compute instance đang dùng). Mục tiêu là duy trì trạng thái (state) của notebook, bao gồm các biến trong bộ nhớ (in-memory variables).

📘 Bối cảnh quan trọng: Trong Azure ML Studio (phiên bản mới nhất đến 2026), notebook hỗ trợ Notebook Sessions – một tính năng cho phép tạm dừng kernel (session) mà vẫn lưu trạng thái kernel (bao gồm variables) vào đĩa trên compute instance hiện tại. Điều này giúp tránh tốn kém khi idle, nhưng vẫn khôi phục state khi restart session trên cùng instance. Nếu dừng compute hoặc đổi instance, state sẽ mất. Kiến thức dựa trên docs Azure ML SDK v2 và Studio UI cập nhật 2024-2026.

Nguồn tham khảo:

✅ Đáp án đúng: Stop the current kernel

Lý do chọn đáp án này 🛠️:
Khi bạn Stop the current kernel (tức dừng session/kernel hiện tại), Azure ML Studio sẽ lưu trạng thái kernel (variables và execution state) vào đĩa trên compute instance hiện tại. Sau đó, bạn có thể restart kernel/session cùng instance để khôi phục chính xác các giá trị biến mà không mất dữ liệu. Điều này phù hợp hoàn hảo với yêu cầu "preserve the current values... for the current instance" và "maintain the state". Tính năng này là chuẩn trong Studio v2 (SDK v2 notebooks), giúp tối ưu chi phí mà không reset state như restart kernel thông thường.

❌ Phân tích tất cả các phương án

  • Change the compute
    ❌ Sai: Việc thay đổi compute instance sẽ chuyển sang một instance mới hoàn toàn, dẫn đến mất toàn bộ trạng thái kernel (variables) vì state chỉ lưu trên compute cũ. Không duy trì được "current instance".

  • Change the current kernel
    ❌ Sai: Thay đổi kernel (switch sang kernel khác, ví dụ từ Python 3.8 sang 3.10) sẽ khởi tạo session mới, xóa sạch variables từ kernel cũ. Không bảo toàn state hiện tại.

  • Stop the compute
    ❌ Sai: Dừng compute instance sẽ terminate toàn bộ tài nguyên, bao gồm đĩa lưu state, dẫn đến mất vĩnh viễn variables và notebook state. Compute phải chạy để lưu/restore session.

  • Stop the current kernel
    ✅ Đúng: Như giải thích trên, dừng kernel/session lưu state vào đĩa trên current instance, cho phép resume sau mà giữ nguyên variables. Hoàn hảo cho Python SDK v2 notebooks! 🎉

Câu 289
You create an Azure Machine Learning workspace named workspaces. You create a Python SDK v2 notebook to perform custom model training in workspaces.

You need to run the notebook from Azure Machine Learning Studio in workspaces.

What should you provision first?
  1. A default storage account
  2. B real-time endpoint
  3. C Azure Machine Learning compute cluster
  4. D Azure Machine Learning compute instance
Xem giải thích

🧩 Giải thích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào quy trình làm việc với Azure Machine Learning (Azure ML), một dịch vụ của Microsoft Azure dành cho các nhà khoa học dữ liệu và machine learning. Cụ thể:

  • Bạn đã tạo một Azure Machine Learning workspace có tên là workspaces – đây là không gian làm việc trung tâm để quản lý các tài nguyên ML như datasets, models, experiments, và notebooks.
  • Bạn tạo một Python SDK v2 notebook để thực hiện custom model training (huấn luyện mô hình tùy chỉnh) bên trong workspace này.
  • Mục tiêu: Chạy notebook từ Azure Machine Learning Studio (giao diện web trực quan của Azure ML) trong workspace workspaces.
  • Câu hỏi cốt lõi: Bạn cần provision (cung cấp/tạo) cái gì đầu tiên để có thể chạy notebook này một cách tương tác từ Studio?

🛠️ Lưu ý quan trọng: Azure ML Studio yêu cầu một compute target (máy tính mục tiêu) để thực thi notebook. Không có compute target, bạn không thể chạy code tương tác. Đây là bước đầu tiên cần thiết trước khi attach notebook vào compute.

📘 Kiến thức cập nhật (tính đến 2026): Theo tài liệu Azure ML SDK v2 mới nhất (Azure ML Python SDK v2, phiên bản 2.0+), quy trình chạy notebook từ Studio luôn ưu tiên Compute Instance cho các tác vụ tương tác như Jupyter notebooks. (Nguồn: Azure Docs - Compute instances, cập nhật 2024-2026).

✅ Đáp án đúng: Azure Machine Learning compute instance

Lý do lựa chọn:

  • Azure Machine Learning compute instance là một máy tính đơn lẻ (single-node VM) được thiết kế dành riêng cho các workload tương tác như chạy Jupyter notebooks, debugging, prototyping trong Azure ML Studio.
  • Khi provision Compute Instance đầu tiên trong workspace, nó sẽ tự động trở thành compute mặc định cho Studio, cho phép bạn mở và chạy notebook ngay lập tức mà không cần cấu hình thêm.
  • Đây là bước đầu tiên và bắt buộc vì Studio không cho phép chạy notebook mà không có compute instance/cluster đã provision. Sau khi tạo, bạn chỉ cần attach notebook vào instance này để train model custom.
  • Ưu điểm: Dễ quản lý, tự động dừng khi idle (tiết kiệm chi phí), hỗ trợ GPU/CPU tùy chọn, và tích hợp liền mạch với SDK v2.

❌ Giải thích tất cả các phương án (đúng và sai)

  • default storage account
    ❌ Sai: Storage account mặc định (Azure Storage Account) được tự động tạo khi provision workspace Azure ML, dùng để lưu trữ dữ liệu, models, và notebooks. Nó không cần provision thủ công thêm và không phải compute target để chạy notebook. Notebook chỉ lưu trữ ở đây, nhưng thực thi cần compute riêng. (Không phải bước đầu tiên).

  • real-time endpoint
    ❌ Sai: Real-time endpoint dùng để deploy và inference model thời gian thực (như gọi API predict). Đây là bước sau training, không liên quan đến việc chạy notebook training. Provision endpoint trước không giúp chạy notebook từ Studio.

  • Azure Machine Learning compute cluster
    ❌ Sai: Compute cluster dành cho các job lớn, distributed training (nhiều node, scalable). Nó không phù hợp cho notebook tương tác từ Studio vì cluster không chạy interactive sessions (như Jupyter). Bạn cần Compute Instance trước để prototyping; cluster dùng cho submit jobs sau. (Theo docs: Cluster cho batch jobs, instance cho interactive).

  • Azure Machine Learning compute instance
    ✅ Đúng: Như giải thích ở trên – đây là lựa chọn chính xác, bắt buộc provision đầu tiên để chạy notebook tương tác từ Studio.

🛠️ Mẹo thực hành: Sau khi tạo Compute Instance (qua Studio > Compute > New), chờ status "Running" rồi mở notebook > Attach to compute. Tổng thời gian provision ~5-10 phút.

📘 Tài liệu tham khảo:

Câu 290
You plan to run a script as an experiment. The script uses modules from the SciPy library and several Python packages that are not typically installed in a default conda environment.

You plan to run the experiment on your local workstation for small datasets and scale out the experiment by running it on more powerful remote compute dusters for larger datasets.

You need to ensure that the experiment runs successfully on local and remote compute with the least administrative effort.

What should you do?
  1. A Leave the environment unspecified for the experiment. Run the expenment by using the default environment.
  2. B Create a config.yaml file that defines the required conda packages and save the file in the experiment folder.
  3. C Create and register an environment that includes the required packages. Use this environment for all experiment jobs.
  4. D Create a virtual machine (VM) by using the required Python configuration and attach the VM as a compute target. Use this compute target for all experiment runs.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi này thuộc về Azure Machine Learning (Azure ML) (không phải AWS như mô tả ban đầu, có thể là nhầm lẫn), tập trung vào việc quản lý môi trường (environment) để chạy một script thí nghiệm (experiment). Script sử dụng thư viện SciPy và các gói Python không có sẵn trong môi trường conda mặc định.
📍 Yêu cầu chính:

  • Chạy script trên local workstation cho dataset nhỏ.
  • Scale out lên remote compute clusters cho dataset lớn.
  • Đảm bảo chạy thành công trên cả hai với ít nỗ lực quản trị nhất (least administrative effort).

🛠️ Bối cảnh: Azure ML hỗ trợ environments để đảm bảo tính nhất quán (reproducibility) giữa local và remote. Bạn cần một environment có đầy đủ packages (SciPy + custom packages) và dễ dàng sử dụng cho mọi jobs/experiments mà không phải cấu hình thủ công nhiều lần.

✅ Đáp án đúng và lý do chọn

Đáp án đúng: Create and register an environment that includes the required packages. Use this environment for all experiment jobs.

Lý do:

  • Trong Azure ML (phiên bản mới nhất 2023-2026, sử dụng MLflow integration và Environments v2), việc tạo và đăng ký (register) một Environment là cách tối ưu nhất để bao gồm conda/pip packages (như SciPy). Environment này có thể attach vào bất kỳ compute target nào (local, AmlCompute cluster).
  • ✅ Ưu điểm: Tự động install packages khi job chạy, đảm bảo nhất quán giữa local/remote, không cần admin effort lặp lại (chỉ register 1 lần). Hỗ trợ Docker/Conda, scale dễ dàng.
  • Phù hợp "least administrative effort" vì reusable cho tất cả experiments/jobs.

📘 Tài liệu tham khảo:

📋 Giải thích tất cả các phương án

Dưới đây là phân tích từng lựa chọn (giữ nguyên văn bản gốc tiếng Anh). Tôi đánh dấu ✅ đúng hoặc ❌ sai, kèm giải thích chi tiết bằng tiếng Việt:

  • ❌ [SAI] Leave the environment unspecified for the experiment. Run the expenment by using the default environment.
    Phương án này sai vì môi trường mặc định (default conda) không có SciPy và các packages custom, dẫn đến lỗi khi chạy script. Không đảm bảo thành công trên local/remote, và vi phạm yêu cầu "least effort" vì phải fix lỗi thủ công mỗi lần.

  • ❌ [SAI] Create a config.yaml file that defines the required conda packages and save the file in the experiment folder.
    Phương án này sai (dù gần đúng). File environment.yaml chỉ định packages, nhưng không register nên không reusable tự động. Phải chỉ định thủ công mỗi job/experiment, tăng admin effort khi scale local/remote. Azure ML yêu cầu register để optimize.

  • ✅ [ĐÚNG] Create and register an environment that includes the required packages. Use this environment for all experiment jobs.
    Như đã giải thích ở trên: Cách tốt nhất, nhất quán, ít effort, hỗ trợ full scale-out.

  • ❌ [SAI] Create a virtual machine (VM) by using the required Python configuration and attach the VM as a compute target. Use this compute target for all experiment runs.
    Phương án này sai và quá phức tạp. Tạo VM (Azure VM) tốn kém, khó scale (không phải compute cluster), và không linh hoạt cho local runs. Azure ML ưu tiên AmlCompute clusters + Environments thay vì VM thủ công, vi phạm "least administrative effort".

🧠 Kết luận: Sử dụng registered Environment là best practice trong Azure ML để reproducibility và scalability (cập nhật 2026 với ACI/AKS integration). Nếu cần code mẫu, có thể dùng CLI: az ml environment create --file environment.yml --register.