Ngân hàng đề — Microsoft Azure Data Scientist
Tìm thấy 313 câu.
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 have an Azure Machine Learning workspace.
You plan to tune model hyperparameters by using a sweep job.
You need to find a sampling method that supports early termination of low-performance jobs and continuous hyperparameters.
Solution: Use the Sobol sampling method over the hyperparameter space.
Does the solution meet the goal?
- A Yes
- 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 này thuộc dạng case study trong kỳ thi chứng chỉ (có thể là Azure AI Engineer Associate hoặc tương tự), nơi bạn đang làm việc với Azure Machine Learning workspace. Mục tiêu là tối ưu hóa hyperparameters của mô hình bằng sweep job (công việc quét tham số). Yêu cầu cụ thể:
- Tìm sampling method (phương pháp lấy mẫu) hỗ trợ early termination (chấm dứt sớm) các job có hiệu suất kém.
- Đồng thời hỗ trợ continuous hyperparameters (tham số liên tục, ví dụ: learning rate = 0.01).
Giải pháp đề xuất: Sử dụng Sobol sampling method trên không gian hyperparameters.
Câu hỏi: Giải pháp này có đạt mục tiêu không? (Yes/No).
✅ Lưu ý quan trọng: Đây là câu hỏi "might meet the goals", và không thể quay lại sau khi trả lời.
✅ Đáp án đúng: No
Lý do lựa chọn (bằng tiếng Việt):
Sobol là phương pháp lấy mẫu quasi-random (dãy Sobol) rất tốt cho continuous hyperparameters vì phân bố đều và hiệu quả hơn Random sampling. Tuy nhiên, Sobol KHÔNG hỗ trợ early termination cho các job kém hiệu suất. Early termination chỉ khả dụng với Random sampling kết hợp Bandit policy hoặc Bayesian optimization (như Gaussian Process hoặc TPE). Sobol chỉ chạy full tất cả các trial mà không dừng sớm, dẫn đến lãng phí tài nguyên. Do đó, giải pháp KHÔNG đáp ứng đầy đủ mục tiêu (thiếu early termination).
(Kiến thức cập nhật đến 2026: Azure ML v2 hỗ trợ Sobol từ 2021, nhưng early stopping policy vẫn giới hạn như trên - không thay đổi cơ bản ở phiên bản mới nhất).
🛠️ Giải thích tất cả các phương án (giữ nguyên văn bản gốc):
- Yes ❌ SAI vì: Phương án này cho rằng Sobol đáp ứng cả hai yêu cầu, nhưng Sobol chỉ hỗ trợ continuous hyperparameters (nhờ tính chất quasi-Monte Carlo phân bố đều), KHÔNG hỗ trợ early termination. Trong Azure ML sweep job, Sobol chạy toàn bộ trials mà không áp dụng Bandit policy hay bất kỳ cơ chế dừng sớm nào cho low-performance jobs. Chọn Yes sẽ sai vì bỏ qua hạn chế này.
- No ✅ ĐÚNG vì: Như giải thích trên, Sobol thiếu early termination dù phù hợp continuous space. Phương án đúng phải là Random với bandit_earliest_stopping_policy hoặc Bayesian (hỗ trợ cả hai: continuous params và dừng sớm dựa trên benchmark trials).
📚 Tài liệu tham khảo (nguồn chính thức AWS/Azure - cập nhật 2026):
- Azure ML Docs: Hyperparameter tuning - Sampling methods (Sobol: "Supports continuous and discrete parameters. Does not support early stopping.").
- Azure ML Sweep Job Early Termination (Chỉ Random + Bandit hoặc Bayesian hỗ trợ).
- Azure ML v2 Release Notes 2025-2026 (Không có thay đổi hỗ trợ early stop cho Sobol).
Hy vọng phân tích này giúp bạn nắm vững Azure ML tuning! 🚀 Nếu cần thêm ví dụ code Python, hãy hỏi nhé!
You experiment with an MLflow model that trains interactively by using a notebook in the workspace.
You need to log dictionary type artifacts of the experiments in Azure Machine Learning by using MLflow.
Which syntax should you use?
- A mlflow.log_artifact(my_dict)
- B mlflow.log_metric("my_metric", my_dict)
- C mlflow.log_metrics(my_dict)
- D mlflow.log_artifacts(my_dict)
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi tập trung vào việc quản lý một Azure Machine Learning workspace, nơi bạn đang thử nghiệm (experiment) với một mô hình MLflow được huấn luyện tương tác (interactively) thông qua notebook trong workspace.
📌 Yêu cầu chính: Ghi log (log) các artifacts kiểu dictionary (dữ liệu dạng từ điển Python, ví dụ: my_dict = {"accuracy": 0.95, "loss": 0.1}) của các experiment vào Azure Machine Learning bằng cách sử dụng MLflow tracking.
🛠️ Bối cảnh: Azure ML tích hợp chặt chẽ với MLflow (một thư viện mã nguồn mở để quản lý lifecycle ML), cho phép log metrics, parameters, artifacts từ notebook. "Dictionary type artifacts" ở đây ám chỉ việc log dữ liệu dạng dict dưới dạng metrics (không phải file artifacts thông thường), vì MLflow phân biệt rõ: metrics là số liệu số, artifacts là file/tệp.
🔍 Phiên bản cập nhật: Theo tài liệu MLflow 2.10+ (tích hợp Azure ML v2, cập nhật đến 2026), API log_metrics hỗ trợ dict trực tiếp cho batch logging metrics trong Azure ML experiments.
✅ Đáp án đúng: mlflow.log_metrics(my_dict)
Lý do lựa chọn:
- Hàm
mlflow.log_metrics()được thiết kế chuyên biệt để ghi log nhiều metrics cùng lúc từ một dictionary (key là tên metric, value là số thực/float/int). - Trong Azure ML notebook, lệnh này sẽ tự động lưu dict vào MLflow run hiện tại, đồng bộ với Azure ML experiment tracking.
- Phù hợp hoàn hảo với "dictionary type artifacts" vì metrics dict được coi như artifacts số liệu trong tracking UI của Azure ML/MLflow.
📘 Nguồn tham khảo: - MLflow Tracking Docs (log_metrics accepts dict).
- Azure ML MLflow Integration (xác nhận syntax cho dict metrics, cập nhật 2024-2026).
📋 Phân tích tất cả các phương án
Dưới đây là giải thích chi tiết từng lựa chọn, với lý do đúng/sai dựa trên API MLflow chính thức:
-
❌ mlflow.log_artifact(my_dict)
Sai vì: Hàm này chỉ chấp nhận đường dẫn file cục bộ (local file path) như string (ví dụ: "path/to/file.txt"), không hỗ trợ dictionary trực tiếp. Nếu truyền dict, sẽ báo lỗi TypeError vì không thể coi dict là file artifact. Artifacts dùng cho file/model, không phải dữ liệu dict số liệu. -
❌ mlflow.log_metric("my_metric", my_dict)
Sai vì: Hàmlog_metric()chỉ log một metric đơn lẻ với key (string) và value phải là số (float/int). Truyền dict vào value sẽ lỗi vì dict không phải số; chỉ log được một giá trị, không batch từ dict. -
✅ mlflow.log_metrics(my_dict)
Đúng vì: Như đã giải thích ở trên, đây là syntax chuẩn để log toàn bộ dictionary làm metrics batch. MLflow sẽ iterate qua các key-value pairs và lưu vào tracking server (Azure ML). Ví dụ:my_dict = {"acc": 0.95, "f1": 0.92}→ log tất cả. -
❌ mlflow.log_artifacts(my_dict)
Sai vì: Hàm này yêu cầu đường dẫn thư mục cục bộ (local directory path) để log recursively tất cả file bên trong làm artifacts. Truyền dict sẽ lỗi tương tự log_artifact, vì không phải path hợp lệ.
🛡️ Lưu ý thực hành: Trong Azure ML notebook, đảm bảo đã gọi mlflow.start_run() trước khi log. Nếu dict chứa non-numeric values, MLflow sẽ bỏ qua hoặc lỗi – chỉ hỗ trợ số cho metrics!
📚 Tài liệu bổ sung: Azure ML Experiment Tracking with MLflow (cập nhật 2026 preview).
You plan to create an Azure Files datastore in Workspace1 to target Share1.
You need to configure permanent access to Share1 from the Azure Files datastore.
Which authorization method should you use?
- A Primary access key
- B Anonymous access
- C Account SAS key
- D User delegation SAS key
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 mô tả tình huống bạn đang quản lý một Azure Machine Learning Workspace có tên là Workspace1 và một Azure Files share có tên là Share1. Bạn dự định tạo một Azure Files datastore trong Workspace1 để kết nối và truy cập dữ liệu từ Share1. Yêu cầu chính là cấu hình quyền truy cập vĩnh viễn (permanent access) từ datastore này đến Share1. Câu hỏi yêu cầu chọn phương thức ủy quyền (authorization method) phù hợp nhất để đảm bảo truy cập liên tục, không bị hết hạn.
🛠️ Bối cảnh kỹ thuật: Azure Files là dịch vụ lưu trữ file share trong Azure Storage Account, và Azure ML hỗ trợ đăng ký datastore để đọc/ghi dữ liệu từ đó. "Permanent access" nhấn mạnh vào phương thức không có thời hạn hết hạn, phù hợp cho môi trường sản xuất dài hạn (dựa trên tài liệu Azure ML cập nhật đến 2026).
✅ Đáp án đúng: Primary access key
Lý do lựa chọn: Primary access key (hay còn gọi là storage account key chính) là phương thức ủy quyền vĩnh viễn và an toàn nhất cho Azure Files datastore trong Azure ML Workspace. Key này được tạo tự động khi tạo Storage Account và không có thời hạn hết hạn, cho phép datastore truy cập Share1 một cách liên tục mà không cần gia hạn. Theo hướng dẫn chính thức của Microsoft (phiên bản mới nhất 2026), đây là lựa chọn ưu tiên cho permanent access vì nó cấp quyền đầy đủ (read/write/delete) mà không phụ thuộc vào SAS token có thời hạn.
📘 Nguồn tham khảo:
- Register datastores - Azure Machine Learning (cập nhật 2025-2026).
- Azure Storage security guide (khuyến nghị account key cho file shares).
🔍 Giải thích tất cả các phương án trả lời
-
✅ Primary access key
Phương án ĐÚNG. Như đã giải thích, đây là storage account key chính, cung cấp quyền truy cập vĩnh viễn, đầy đủ đến Azure Files share mà không expire. Lý tưởng cho datastore trong Azure ML để tránh gián đoạn trong training/inference pipeline. 🏆 Hoàn hảo cho yêu cầu "permanent access". -
❌ Anonymous access
Phương án SAI. Anonymous access cho phép truy cập công khai mà không cần bất kỳ xác thực nào, nhưng không an toàn và không được hỗ trợ cho Azure Files datastore trong Azure ML. Nó chỉ dùng cho public blobs, không phù hợp với file shares bảo mật, và vi phạm nguyên tắc least privilege. ⚠️ Rủi ro lộ dữ liệu cao! -
❌ Account SAS key
Phương án SAI. Account SAS key (Shared Access Signature ở mức account) có thời hạn hết hạn (tối đa 1 giờ đến vài năm tùy cấu hình), nên không đảm bảo permanent access. Trong Azure ML datastore, SAS có thể dùng tạm thời nhưng cần renew định kỳ, gây phức tạp cho production. 🚫 Không vĩnh viễn! -
❌ User delegation SAS key
Phương án SAI. User delegation SAS dựa trên Azure AD (Entra ID) để ủy quyền, nhưng chủ yếu hỗ trợ cho Blob storage, không phải Azure Files share trong datastore context. Azure Files chưa hỗ trợ đầy đủ user delegation SAS cho ML workloads (cập nhật 2026), và nó vẫn có thời hạn expire. 🔒 Phù hợp hơn cho blobs với RBAC, không phải file shares vĩnh viễn.
💡 Kết luận: Sử dụng Primary access key giúp datastore kết nối ổn định, tuân thủ best practices Azure ML. Nếu triển khai, hãy rotate keys định kỳ qua Azure Portal để tăng bảo mật! 🚀