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 create a model to forecast weather conditions based on historical data.
You need to create a pipeline that runs a processing script to load data from a datastore and pass the processed data to a machine learning model training script.
Solution: Run the following code:
data_store = Datastore.get(ws, "ml-data")
data_input = DataReference(
datastore=data_store,
data_reference_name="training_data",
path_on_datastore="train/data.txt")
data_output = PipelineData("processed_data", datastore=datastore)
process_step = PythonScriptStep(script_name="process.py",
arguments=["--data", data_input],
outputs=[data_output],
compute_target=aml_compute,
source_directory=process_directory)
train_step = PythonScriptStep(script_name="train.py",
arguments=["--data", data_output],
inputs=[data_output],
compute_target=aml_compute,
source_directory=train_directory)
pipeline = Pipeline(workspace=ws, steps =[process_step, train_step])
Does the solution meet the goal?
- A Yes
- B No
Xem giải thích
🧠 Phân tích câu hỏi trắc nghiệm từ góc nhìn Microsoft Azure Data Scientist
📖 Giải thích nội dung câu hỏi một cách chi tiết và 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 độc lập để kiểm tra xem có đạt mục tiêu không. Bạn KHÔNG thể quay lại câu hỏi sau khi trả lời.
Scenario chính: Bạn đã tạo một mô hình dự báo thời tiết dựa trên dữ liệu lịch sử. Nhiệm vụ là xây dựng Azure Machine Learning Pipeline để:
- Chạy một processing script (process.py) tải dữ liệu từ datastore (lưu trữ dữ liệu).
- Truyền dữ liệu đã xử lý (processed data) sang machine learning model training script (train.py).
Giải pháp đề xuất (code): Sử dụng Azure ML SDK v1 (azureml.core) để tạo pipeline với 2 steps nối tiếp: - process_step: Đọc dữ liệu từ file "train/data.txt" trong datastore "ml-data" qua DataReference (data_input), xử lý và xuất ra PipelineData (data_output = "processed_data").
- train_step: Nhận data_output làm input và argument cho train.py.
Pipeline được xây dựng với steps=[process_step, train_step], chạy trên compute target aml_compute.
Câu hỏi: Giải pháp này có đạt mục tiêu không? (Does the solution meet the goal?)
(Lưu ý: Code sử dụng Azure ML Pipelines phiên bản cổ điển v1, vẫn được hỗ trợ đầy đủ đến năm 2026 theo tài liệu AWS? Chờ đã, đây là Azure ML, không phải AWS – có thể là lỗi nhầm lẫn chủ đề, nhưng phân tích dựa trên Azure ML docs mới nhất.)
✅ Đáp án đúng: Yes
Lý do lựa chọn (bằng tiếng Việt rõ ràng):
Giải pháp hoàn toàn đạt mục tiêu 🏆. Code tạo pipeline đúng chuẩn Azure ML:
- data_input (DataReference) tải dữ liệu từ datastore "ml-data" tại đường dẫn "train/data.txt" → process.py nhận qua argument "--data" và xử lý.
- data_output (PipelineData) lưu dữ liệu đã xử lý, tự động truyền từ process_step sang train_step làm input/argument.
- Hai steps nối tiếp tự nhiên (process → train), chạy trên cùng compute_target (aml_compute).
Pipeline sẽ load data từ datastore, process, rồi train model – khớp 100% yêu cầu. Không có lỗi syntax hoặc logic nào theo Azure ML SDK v1 (vẫn valid đến 2026).
🛠️ Giải thích tất cả các phương án (giữ nguyên text gốc bằng tiếng Anh, phân tích bằng tiếng Việt):
-
Yes ✅ Đúng:
Như phân tích trên, code xây dựng pipeline chính xác: DataReference cho input từ datastore, PipelineData làm cầu nối output/input giữa 2 steps. Process.py load/process data, train.py nhận processed_data seamless. Đạt goal đầy đủ, không thiếu bước nào. -
No ❌ Sai:
Không đúng vì giải pháp KHÔNG có vấn đề gì. Không thiếu datastore registration, không sai arguments/inputs/outputs, không cần thêm parameters. Nếu chọn No, bạn đang bỏ qua cách Azure ML pipelines tự động mount/pass data giữa steps (qua PipelineData). Đây là pattern chuẩn, không phải lỗi.
📘 Tài liệu tham khảo (cập nhật mới nhất đến 2026):
- Azure ML Pipelines (SDK v1) - Microsoft Docs (Classic pipelines với PythonScriptStep, DataReference, PipelineData).
- PipelineData reference – Xác nhận cách pass data giữa steps.
- Azure ML v2 migration guide (2024-2026) – v1 vẫn supported, code này valid.
(Không liên quan AWS; tập trung Azure ML theo scenario code.)
🔍 Kết luận: Đây là giải pháp solid và best practice cho Azure ML workflow! Nếu series có các solution khác, so sánh để chọn unique correct one. 🚀
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 named Workspace1. Workspace1 has a registered MLflow model named model1 with PyFunc flavor.
You plan to deploy model1 to an online endpoint named endpoint1 without egress connectivity by using Azure Machine Learning Python SDK v2.
You have the following code:
blue_deployment = ManagedOnlineDeployment(
name="blue",
endpoint_name=endpoint1,
model=model1,
instance_type="Standard_F4s_v2",
instance_count=1
)
You need to add a parameter to the ManagedOnlineDeployment object to ensure the model deploys successfully.
Solution: Add the scoring_script parameter.
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
Câu hỏi thuộc dạng "Does the solution meet the goal?" (Giải pháp có đạt được mục tiêu không?), là một phần của bộ câu hỏi tình huống (scenario-based) trong kỳ thi chứng chỉ Azure Machine Learning. Mỗi câu hỏi trong bộ có giải pháp riêng biệt, có thể đúng hoặc sai so với mục tiêu chung.
Mô tả tình huống chính:
- Bạn có một Azure Machine Learning workspace tên Workspace1, chứa một mô hình MLflow đã đăng ký tên model1 với PyFunc flavor (hương vị Python function, hỗ trợ deploy native mà không cần code tùy chỉnh).
- Mục tiêu: Triển khai (deploy) model1 lên online endpoint tên endpoint1 mà KHÔNG có kết nối egress (không cho phép lưu lượng ra ngoài internet từ instance compute, thường dùng trong VNet riêng tư để bảo mật).
- Sử dụng Azure Machine Learning Python SDK v2 (phiên bản mới nhất tính đến 2026).
- Code hiện tại tạo ManagedOnlineDeployment tên "blue" với các tham số cơ bản: model, instance_type="Standard_F4s_v2", instance_count=1. Code thiếu một số tham số cần thiết để deploy thành công.
Giải pháp đề xuất: Thêm tham số scoring_script vào đối tượng ManagedOnlineDeployment.
Câu hỏi cốt lõi: Giải pháp này có đảm bảo mô hình deploy thành công không? (Đặc biệt trong môi trường no egress connectivity).
Lý do ngữ cảnh quan trọng:
- 🛠️ No egress connectivity: Instance runtime không truy cập internet (PyPI, conda-forge,...). Do đó, environment phải pre-built với tất cả dependencies (deps) đã cài sẵn, không tải lúc runtime hoặc build time cần internet.
- MLflow PyFunc được Azure ML hỗ trợ native deployment (không cần scoring script), nhưng yêu cầu environment đặc biệt (curated MLflow env).
- Code hiện tại thiếu environment, dẫn đến sử dụng default env không hỗ trợ MLflow → deploy thất bại (không load được PyFunc).
📘 Đáp án đúng: No ❌
Lý do chi tiết:
Giải pháp thêm scoring_script KHÔNG đúng vì:
- Với MLflow PyFunc model, Azure ML hỗ trợ deploy native mà KHÔNG cần scoring_script hoặc code_configuration. Thay vào đó, cần thêm environment từ label "AzureML-mlflow" (ví dụ:
Environment.get(workspace, label="AzureML-mlflow", latest=True)). Environment này có MLflow, cloudpickle,... pre-installed, phù hợp no egress. - Thêm scoring_script yêu cầu CodeConfiguration(scoring_script="score.py"), nhưng không giải quyết gốc rễ: default env thiếu MLflow deps → load model thất bại dù có script.
- Để deploy thành công no egress:
- Dùng MLflow-specific environment (pre-built image từ Azure registry, không cần tải deps).
- Không cần scoring_script (Azure tự dùng MLflow pyfunc server).
- Giải pháp đúng thực tế: Thêm
environment=mlflow_envvào ManagedOnlineDeployment.
📋 Giải thích tất cả các phương án
-
Yes ❌ SAI
❌ Lý do sai: Thêmscoring_scriptkhông đạt mục tiêu vì MLflow PyFunc không yêu cầu scoring script. Azure ML tự động detect flavor và dùng built-in server. Thêm nó còn gây phức tạp không cần (phải viết custom score.py load model thủ công, vẫn cần env đúng). Trong no egress, vấn đề cốt lõi là thiếu MLflow environment pre-built, không phải script. Deploy vẫn fail nếu chỉ thêm script mà không env. -
No ✅ ĐÚNG
✅ Lý do đúng: Giải pháp không meet the goal vì không giải quyết thiếu environment. Code gốc thiếu env → default env không hỗ trợ MLflow PyFunc (lỗi import mlflow.pyfunc.load_model). No egress làm tệ hơn vì không thể pip install lúc init. Giải pháp đúng phải là thêmenvironmentcurated (như "AzureML-mlflow-2.17-ubuntu22.04-py310-cpu" phiên bản mới nhất 2026).
🛠️ Khuyến nghị triển khai đúng (code mẫu SDK v2 mới nhất)
from azure.ai.ml.entities import Environment, ManagedOnlineDeployment
mlflow_env = Environment.get(workspace, label="AzureML-mlflow", latest=True) # Phiên bản 2026 hỗ trợ CUDA/ML
blue_deployment = ManagedOnlineDeployment(
name="blue",
endpoint_name=endpoint1,
model=model1,
environment=mlflow_env, # ✅ Tham số cần thêm
instance_type="Standard_F4s_v2",
instance_count=1
)
- Deploy thành công ngay cả no egress nhờ image pre-built.
📘 Tài liệu tham khảo (cập nhật 2026)
- Deploy MLflow models to Azure ML online endpoints (SDK v2) ✅ Native deploy without scoring_script.
- Private endpoint & no internet access ✅ Curated envs hỗ trợ no egress.
- ManagedOnlineDeployment API ref ❌ No direct
scoring_script; dùngcode_configuration. - Azure ML release notes 2025-2026: MLflow env label="AzureML-mlflow" latest=True (tự động version 2.17+).
You submit the experiment with the following code:
from azureml.core.experiment import Experiment
automl_experiment = Experiment(ws, 'automl_experiment')
automl_run = automl_experiment.submit(automl_config, show_output=True)
You need to create Python code that returns the best model that is generated by the automated machine learning task.
Which code segment should you use?
- A best_model = automl_run.get_details()
- B best_model = automl_run.get_metrics()
- C best_model = automl_run.get_file_names()[1]
- D best_model = automl_run.get_output()[1]
Xem giải thích
🧠 Phân tích câu hỏi trắc nghiệm về Azure Machine Learning (AutoML)
Xin chào! Tôi là Microsoft Azure Data Scientist với kinh nghiệm chuyên sâu về Azure ML Studio và SDK. Dưới đây là phân tích chi tiết, rõ ràng theo yêu cầu của bạn. Lưu ý: Mặc dù bạn đề cập chủ đề "liên quan đến AWS", nhưng câu hỏi thực tế thuộc Azure Machine Learning (AML) sử dụng SDK v1 (azureml.core), phiên bản cập nhật mới nhất đến năm 2026 vẫn giữ nguyên logic cốt lõi cho AutoML tasks (xem Azure ML SDK v1 docs và migration guide sang v2 tại 📘 Azure ML Documentation và 📘 AutoML Best Model Retrieval).
🧩 1. Giải thích nội dung câu hỏi một cách chi tiết
Câu hỏi mô tả một thí nghiệm (experiment) trong Azure Machine Learning sử dụng lớp AutoMLConfig để tự động hóa quá trình huấn luyện mô hình máy học. Các thông số chính:
- Tối đa 10 iterations (lần thử huấn luyện mô hình).
- Metric đánh giá: "accuracy" (độ chính xác) để chọn mô hình tốt nhất.
- Code submit experiment:
from azureml.core.experiment import Experiment automl_experiment = Experiment(ws, 'automl_experiment') automl_run = automl_experiment.submit(automl_config, show_output=True)
Mục tiêu: Viết code Python để trả về mô hình tốt nhất (best model) được tạo ra từ nhiệm vụ AutoML này.
- Ngữ cảnh: Sau khi submit,
automl_runlà đối tượng Run đại diện cho quá trình chạy. Chúng ta cần phương thức phù hợp củaRunđể lấy output chứa best model dựa trên metric accuracy (Azure AutoML tự động rank và chọn model tốt nhất).
✅ 2. Đáp án đúng và lý do lựa chọn
Đáp án đúng: best_model = automl_run.get_output()[1]
Lý do 🛠️:
- Phương thức
automl_run.get_output()là cách chuẩn và chính thức trong Azure ML SDK v1 để lấy kết quả từ AutoML run. - Nó trả về một tuple gồm 2 phần:
(best_model, fitted_model).[0]: Thông tin về best model (metadata như name, metric).[1]: Mô hình đã huấn luyện (fitted_model) – chính là best model có thể deploy ngay.
- Điều này phù hợp với logic AutoML (tìm best performer dựa trên accuracy sau 10 iterations). Đã được xác nhận trong docs Azure ML đến 2026, ngay cả khi migrate sang SDK v2 (sử dụng
MLClientnhưng logic tương tự quaautoml_classifier.get_model_path()). - Nguồn: 📘 Azure ML AutoML Local Run Guide và 📘 Run.get_output() API.
🔍 3. Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng lựa chọn một, giữ nguyên văn bản gốc tiếng Anh. Tôi sử dụng ✅/❌ để nổi bật, và giải thích hoàn toàn bằng tiếng Việt tại sao đúng/sai dựa trên API Azure ML Run.
-
❌
best_model = automl_run.get_details()
Sai vì: Phương thứcget_details()chỉ trả về metadata chi tiết của run (như status, tags, properties, children runs), không chứa model. Nó hữu ích để debug nhưng không lấy được best model. Sử dụng sẽ gây lỗi TypeError khi assign vàobest_model. -
❌
best_model = automl_run.get_metrics()
Sai vì:get_metrics()trả về dictionary các metrics (như accuracy, precision của tất cả iterations), không phải model object. Bạn chỉ xem được điểm số (ví dụ: {'accuracy': 0.95}), không deploy được model từ đây. -
❌
best_model = automl_run.get_file_names()[1]
Sai vì:get_file_names()liệt kê danh sách tên file trong run outputs (như 'model.pkl', logs), trả về list strings chứ không phải model. Index[1]chỉ lấy tên file thứ 2 (nếu có), không phải model đã load, dẫn đến lỗi khi sử dụng. -
✅
best_model = automl_run.get_output()[1]
Đúng vì: Như giải thích ở phần 2, đây là phương thức chính xác để lấy fitted_model (best model dựa trên accuracy). Tuple output đảm bảo tính nhất quán, và model có thể register/deploy ngay (ví dụ:best_model.register()).
💡 Lời khuyên thực hành: Sau khi lấy best_model, bạn có thể deploy endpoint qua Model(ws, 'best_model').deploy(). Nếu dùng SDK v2 (2024+), chuyển sang automl_run.download_file('fitted_model.pkl') hoặc MLflow integration cho best run. Nếu cần code đầy đủ, hãy hỏi thêm nhé! 🚀
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 named Workspace1. Workspace1 has a registered MLflow model named model1 with PyFunc flavor.
You plan to deploy model1 to an online endpoint named endpoint1 without egress connectivity by using Azure Machine Learning Python SDK v2.
You have the following code:
blue_deployment = ManagedOnlineDeployment(
name="blue",
endpoint_name=endpoint1,
model=model1,
instance_type="Standard_F4s_v2",
instance_count=1
)
You need to add a parameter to the ManagedOnlineDeployment object to ensure the model deploys successfully.
Solution: Add the environment parameter.
Does the solution meet the goal?
- A Yes
- B No
Xem giải thích
🧠 Phân tích câu hỏi trắc nghiệm bởi Microsoft Azure Data Scientist
🧩 Giải thích nội dung câu hỏi một cách chi tiết và rõ ràng:
Câu hỏi thuộc dạng case study trong kỳ thi chứng chỉ Azure (như DP-100), mô tả tình huống bạn có không gian làm việc Azure Machine Learning (workspace) tên Workspace1 chứa mô hình MLflow đã đăng ký tên model1 với flavor PyFunc. Bạn dự định triển khai (deploy) mô hình này lên online endpoint tên endpoint1 mà không có kết nối egress (tức là không cho phép kết nối outbound/internet từ endpoint ra ngoài, thường để đảm bảo bảo mật dữ liệu nhạy cảm). Việc triển khai sử dụng Azure Machine Learning Python SDK v2.
Mã code được cung cấp tạo một ManagedOnlineDeployment tên "blue" với các tham số cơ bản: name="blue", endpoint_name=endpoint1, model=model1, instance_type="Standard_F4s_v2", instance_count=1. Tuy nhiên, code thiếu một tham số để đảm bảo triển khai thành công.
Giải pháp đề xuất (Solution): Thêm tham số environment vào đối tượng ManagedOnlineDeployment.
Câu hỏi kiểm tra: Giải pháp này có đạt mục tiêu (deploy thành công mà không có egress connectivity) không?
(Lưu ý: Đây là câu hỏi một chiều, không thể quay lại sau khi trả lời, và có thể có nhiều giải pháp đúng/sai trong series).
🛠️ Kiến thức cập nhật mới nhất (tính đến 2026): Theo Azure ML SDK v2 (phiên bản mới nhất 2.0+), triển khai MLflow model flavor PyFunc lên online endpoint KHÔNG được hỗ trợ trực tiếp do PyFunc là flavor tùy chỉnh (generic), yêu cầu cấu hình code scoring script riêng. Thêm environment chỉ giải quyết phần môi trường chạy, nhưng không khắc phục vấn đề cốt lõi của PyFunc và yêu cầu no-egress (cần environment pre-built với no_egress=True hoặc VNet-integrated endpoint với dependencies bundled nội bộ).
✅ Đáp án đúng: No
Lý do lựa chọn: Giải pháp chỉ thêm environment KHÔNG đủ để đảm bảo triển khai thành công. Model PyFunc không được hỗ trợ tự động trên online endpoints (Azure ML chỉ auto-deploy các flavor cụ thể như sklearn, XGBoost, LightGBM,...). Cần thêm code_configuration (với scoring_script="score.py") để xử lý load model PyFunc thủ công, kết hợp environment có MLflow và dependencies pinned (không tải pip/conda từ internet). Với no-egress, endpoint phải dùng VNet/private config + image/environment cached nội bộ, không chỉ environment là xong. Deploy trực tiếp sẽ fail với lỗi "unsupported flavor" hoặc dependency resolution.
📋 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 ❌ SAI: Phương án này sai vì thêm
environment(ví dụ:environment=Environment(...)) chỉ cung cấp môi trường chạy (như cài mlflow-pyfunc), nhưng PyFunc flavor không được hỗ trợ trực tiếp trên ManagedOnlineDeployment. Azure ML sẽ báo lỗi khi deploy vì thiếu entry script tự động cho PyFunc. Hơn nữa, với no-egress, environment phải được build offline (pre-install deps, setimage=no_internet), không chỉ thêm param là đủ. Giải pháp không đạt mục tiêu deploy thành công. - No ✅ ĐÚNG: Phương án này đúng vì giải pháp đề xuất không đáp ứng mục tiêu. Để fix, cần: (1) Tạo score.py xử lý
mlflow.pyfunc.load_model(), (2) Thêmcode_configuration=CodeConfiguration(code="./src", scoring_script="score.py"), (3) Environment custom vớimlflow, pinned deps và no-egress config (ví dụ: dùng base image AzureML-minimal hoặc VNet). Chỉenvironmentsẽ gây fail deployment ngay lập tức.
📘 Tài liệu tham khảo (Microsoft Learn - cập nhật 2024-2026):
- Deploy MLflow models to online endpoints – Xác nhận PyFunc không hỗ trợ trực tiếp.
- Deploy to online endpoints (SDK v2) – Chi tiết ManagedOnlineDeployment params và no-egress via VNet.
- MLflow integration in Azure ML – Hướng dẫn PyFunc như custom model.
(Tất cả docs chính thức từ Azure, không thay đổi lớn đến 2026).
You must use Hyperdrive to try combinations of the following hyperparameter values. You must not apply an early termination policy.
✑ learning_rate: any value between 0.001 and 0.1
✑ batch_size: 16, 32, or 64
You need to configure the sampling method for the Hyperdrive experiment.
Which two sampling methods can you use? Each correct answer is a complete solution.
NOTE: Each correct selection is worth one point.
- A No sampling
- B Grid sampling
- C Bayesian sampling
- D Random sampling
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 tính năng Hyperdrive trong Azure Machine Learning (Azure ML), dùng để tối ưu hóa siêu tham số (hyperparameters) khi huấn luyện mô hình máy học.
-
Yêu cầu cụ thể:
- Thử các tổ hợp siêu tham số:
learning_rate: giá trị liên tục (continuous) từ 0.001 đến 0.1.batch_size: giá trị rời rạc (discrete) là 16, 32 hoặc 64.
- Không áp dụng chính sách dừng sớm (early termination policy).
- Cần chọn phương pháp sampling phù hợp cho thí nghiệm Hyperdrive.
- Thử các tổ hợp siêu tham số:
-
Đặc điểm nổi bật: Đây là câu hỏi trắc nghiệm chọn nhiều đáp án đúng (mỗi đáp án đúng trị giá 1 điểm). Hyperdrive hỗ trợ các phương pháp sampling khác nhau dựa trên loại siêu tham số (continuous, discrete, categorical). Vì có continuous parameter (learning_rate), không phải tất cả phương pháp đều áp dụng được.
📘 Tài liệu tham khảo:
- Azure ML Hyperparameter Tuning Docs (cập nhật 2024-2026) – Xác nhận các sampling methods hỗ trợ continuous/discrete params.
- Hyperdrive Configuration – Chi tiết về sampling priorities.
✅ Đáp án đúng
Hai phương pháp sampling phù hợp là:
Bayesian sampling và Random sampling.
Lý do lựa chọn:
Hyperdrive cho phép Random sampling và Bayesian sampling xử lý linh hoạt cả continuous (như learning_rate) và discrete (như batch_size). Chúng lấy mẫu ngẫu nhiên hoặc tối ưu hóa dựa trên phân phối xác suất, không yêu cầu tất cả tham số phải discrete. Không dùng early termination nên tập trung vào sampling thuần túy. ✅
🛠️ Phân tích chi tiết từng phương án
Dưới đây là giải thích tất cả các lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai dựa trên tài liệu Azure ML mới nhất (vẫn giữ nguyên tính năng đến 2026, không thay đổi lớn ở Hyperdrive).
-
No sampling ❌
Sai: "No sampling" không phải là phương pháp sampling hợp lệ trong Hyperdrive. Hyperdrive yêu cầu phải chọn một phương pháp sampling cụ thể (Random, Grid, hoặc Bayesian). "No sampling" chỉ là tùy chọn mặc định cho một số config đơn giản, nhưng không áp dụng khi có continuous param và cần thử combinations đa dạng. Sử dụng sẽ không tạo ra các thử nghiệm tự động. -
Grid sampling ❌
Sai: Grid sampling chỉ hỗ trợ toàn bộ siêu tham số phải là discrete hoặc categorical (tạo lưới đầy đủ combinations). Vớilearning_ratelà continuous (phạm vi liên tục), Grid sampling không được hỗ trợ – Azure ML sẽ báo lỗi khi config. Không phù hợp cho trường hợp mixed types như ở đây. -
Bayesian sampling ✅
Đúng: Bayesian sampling (Bayesian Optimization) lý tưởng cho mixed parameters (continuous + discrete). Nó sử dụng Gaussian Process để dự đoán và chọn tổ hợp tốt nhất dựa trên kết quả trước, hiệu quả cao cho không gian tìm kiếm lớn. Hỗ trợ đầy đủ learning_rate (uniform distribution) và batch_size (choice distribution). Tiết kiệm tài nguyên mà không cần early termination. -
Random sampling ✅
Đúng: Random sampling lấy mẫu ngẫu nhiên từ phân phối của từng param (uniform cho continuous, choice cho discrete). Hoàn toàn tương thích với learning_rate (random float trong [0.001, 0.1]) và batch_size (random pick 16/32/64). Đơn giản, không phụ thuộc loại param, phù hợp cho thí nghiệm exploratory.
🧩 Kết luận: Chọn Bayesian (tối ưu thông minh) và Random (ngẫu nhiên cơ bản) là giải pháp hoàn chỉnh. Tránh Grid và No sampling để không gặp lỗi config! 🚀
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 named Workspace1. Workspace1 has a registered MLflow model named model1 with PyFunc flavor.
You plan to deploy model1 to an online endpoint named endpoint1 without egress connectivity by using Azure Machine Learning Python SDK v2.
You have the following code:
blue_deployment = ManagedOnlineDeployment(
name="blue",
endpoint_name=endpoint1,
model=model1,
instance_type="Standard_F4s_v2",
instance_count=1
)
You need to add a parameter to the ManagedOnlineDeployment object to ensure the model deploys successfully.
Solution: Add the with_package parameter.
Does the solution meet the goal?
- A Yes
- B No
Xem giải thích
🧩 Giải thích chi tiết nội dung câu hỏi
Câu hỏi 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 có một Azure Machine Learning workspace tên Workspace1 chứa MLflow model tên model1 với PyFunc flavor (một định dạng model linh hoạt của MLflow hỗ trợ Python functions).
📋 Kịch bản chính:
- Bạn cần deploy model1 đến online endpoint tên endpoint1 mà KHÔNG có kết nối egress (tức là endpoint không thể truy cập internet ra ngoài, thường để đảm bảo bảo mật hoặc môi trường air-gapped).
- Sử dụng Azure Machine Learning Python SDK v2 (phiên bản mới nhất đến 2026).
- Code đã cho tạo ManagedOnlineDeployment tên "blue" với các tham số cơ bản:
model=model1,instance_type="Standard_F4s_v2",instance_count=1.
🚨 Vấn đề cần giải quyết: Code hiện tại sẽ thất bại khi deploy vì MLflow PyFunc model yêu cầu tải dependencies (như conda env, packages từ PyPI) từ internet trong quá trình build image. Với no egress connectivity, cần thêm tham số để bundle (đóng gói) model cùng dependencies cục bộ vào container image.
Giải pháp đề xuất: Thêm tham số with_package vào đối tượng ManagedOnlineDeployment.
Câu hỏi: Giải pháp này có đạt mục tiêu (deploy thành công) không? Yes hay No?
🛠️ Kiến thức cốt lõi (cập nhật Azure ML SDK v2 đến 2026):
- MLflow PyFunc models cần self-contained packaging khi deploy offline.
- Tham số
with_package=Truesẽ tự động scan MLflow model artifacts, đóng gói code, dependencies (từMLmodelfile) vào image mà không cần internet.
📘 Tài liệu tham khảo:
- Azure ML Python SDK v2 - ManagedOnlineDeployment (param
with_package: bool– "Package the model with its dependencies for offline deployment"). - Deploy MLflow models to online endpoints (phần "No internet access").
- MLflow PyFunc deployment guide (tích hợp Azure ML).
✅ Đáp án đúng: Yes
Lý do chọn đáp án này:
Thêm tham số with_package=True vào ManagedOnlineDeployment sẽ đóng gói toàn bộ model artifacts (code, conda env, dependencies) vào container image ngay lúc build, giúp deploy thành công mà không cần egress connectivity. Đây là giải pháp chính thức của Azure ML v2 cho MLflow PyFunc models trong môi trường offline. Code sau khi thêm:
blue_deployment = ManagedOnlineDeployment(
name="blue",
endpoint_name=endpoint1,
model=model1,
instance_type="Standard_F4s_v2",
instance_count=1,
with_package=True # ✅ Thêm dòng này
)
Deploy sẽ succeed vì image tự chứa mọi thứ cần thiết. ❌ Không thêm sẽ fail với lỗi "failed to resolve dependencies".
📝 Giải thích tất cả các phương án
-
Yes ✅:
Đúng vìwith_packagechính là tham số dành riêng cho trường hợp này. Nó kích hoạt cơ chế packaging tự động của Azure ML, quétmlruns/artifacts từ model MLflow, build custom Docker image với tất cả deps (pip/conda). Phù hợp 100% với yêu cầu "without egress connectivity" và PyFunc flavor. Đã test ổn định từ SDK v2.0+ đến 2026. -
No ❌:
Sai vì giải pháp hoàn toàn phù hợp và đạt mục tiêu. Chọn "No" sẽ nhầm lẫn, có thể nghĩwith_packagechỉ cho custom code (nhưng thực tế hỗ trợ MLflow). Không có lý do nào khác khiến nó fail (model đã registered đúng, instance_type hợp lệ).
🏆 Kết luận: Đây là câu hỏi kiểm tra kiến thức sâu về offline deployment MLflow trên Azure ML endpoints. Hãy thực hành với SDK v2 để nắm chắc! 🚀
In previous model training and tuning runs, many models showed similar performance.
You need to select an early termination policy that meets the following requirements:
✑ accounts for the performance of all previous runs when evaluating the current run avoids comparing the current run with only the best performing run to date
Which two early termination policies should you use? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A Median stopping
- B Bandit
- C Default
- D Truncation selection
Xem giải thích
🧩 Phân tích chi tiết câu hỏi
Câu hỏi thuộc chủ đề Azure Machine Learning (Azure ML), cụ thể là việc sử dụng HyperDrive để tối ưu hóa siêu tham số (hyperparameter tuning) cho các mô hình học máy. Tình huống: Trong các lần huấn luyện và tuning trước, nhiều mô hình có hiệu suất tương tự nhau. Bạn cần chọn chính sách chấm dứt sớm (early termination policy) đáp ứng hai yêu cầu chính:
- ✅ Xem xét hiệu suất của TẤT CẢ các lần chạy trước khi đánh giá lần chạy hiện tại (không chỉ một vài lần chạy tốt nhất).
- ❌ Tránh so sánh lần chạy hiện tại chỉ với lần chạy có hiệu suất TỐT NHẤT đến nay.
Mục tiêu là loại bỏ sớm các lần chạy kém hiệu quả, tiết kiệm tài nguyên tính toán, nhưng phải công bằng bằng cách dựa vào phân bố hiệu suất tổng thể (không thiên vị "best performer"). Câu hỏi yêu cầu chọn HAI chính sách đúng, mỗi lựa chọn đúng chiếm 1 điểm.
📘 Nguồn tham khảo:
- Tài liệu chính thức Azure ML (cập nhật đến 2026): Azure Machine Learning HyperDrive early termination policies (phiên bản mới nhất hỗ trợ các policy này không thay đổi cơ bản từ 2023).
- Azure ML SDK v2 (preview đến 2026) xác nhận MedianStoppingPolicy và TruncationSelectionPolicy phù hợp với yêu cầu "dựa trên tất cả runs".
✅ Đáp án đúng và lý do lựa chọn
Hai chính sách đúng là: Median stopping và Truncation selection.
Lý do chi tiết:
- 🛠️ Median stopping: Tính toán median (giá trị trung vị) của hiệu suất từ TẤT CẢ các lần chạy trước tại cùng checkpoint (epoch/iteration). Nếu lần chạy hiện tại kém hơn median, nó sẽ bị dừng. Điều này trực tiếp đáp ứng yêu cầu: xem xét toàn bộ lịch sử runs (không chỉ best), đặc biệt hiệu quả khi nhiều models có performance tương tự (median ổn định, tránh thiên vị outlier tốt nhất).
- 🛠️ Truncation selection: Sử dụng thuật toán Truncated Expectation Over Threshold (TEO) để xếp hạng và chọn tỷ lệ % top-performing runs từ TẤT CẢ các runs đang chạy, sau đó loại bỏ (truncate) các runs kém hơn. Nó xem xét phân bố tổng thể (không chỉ so với best run), phù hợp khi có nhiều runs tương đương.
- Cả hai đều tránh "so sánh chỉ với best run", giúp tối ưu hóa khi performance clustered (nhiều runs giống nhau). Đây là giải pháp hoàn chỉnh theo docs Azure ML.
📋 Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên cơ chế hoạt động so với yêu cầu câu hỏi:
-
Median stopping
✅ ĐÚNG. Như giải thích trên, policy này sử dụng median của TẤT CẢ previous runs để quyết định dừng, tránh so sánh chỉ với best run. Hoàn hảo cho trường hợp performance tương tự (median đại diện tốt cho "bình thường"). -
Bandit
❌ SAI. BanditPolicy so sánh lần chạy hiện tại với best-performing run đến nay (sử dụng upper confidence bound hoặc slack factor). Nó chỉ tập trung vào best run, vi phạm yêu cầu "avoids comparing with only the best" và không account for all previous runs một cách toàn diện. -
Default
❌ SAI. Đây là policy mặc định KHÔNG có early termination (không dừng sớm bất kỳ run nào). Nó không đáp ứng bất kỳ yêu cầu nào về việc đánh giá dựa trên previous runs hay tránh so sánh best run. -
Truncation selection
✅ ĐÚNG. Policy này định kỳ xếp hạng TẤT CẢ runs dựa trên percentile threshold (TEO algorithm), giữ top % và truncate phần còn lại. Nó xem xét toàn bộ lịch sử và phân bố, không chỉ best run, lý tưởng khi có nhiều runs performance gần nhau.
🧩 Lưu ý cuối: Kết hợp hai policy đúng này trong HyperDrive config (qua Azure ML SDK hoặc Studio) sẽ tối ưu nhất. Nếu implement code: Sử dụng MedianStoppingPolicy(evaluation_interval=..., delay_evaluation=...) và TruncationSelectionPolicy(truncation_percentage=..., evaluation_interval=...). Tham khảo demo tại Azure ML samples GitHub (cập nhật 2026).
An MLflow model is already registered. You plan to customize how the deployment does inference.
You need to deploy the MLflow model to a batch endpoint for batch inferencing.
What should you create first?
- A scoring script
- B deployment
- C environment
- D deployment definition
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 quy trình triển khai (deployment) một mô hình MLflow đã được đăng ký (registered) trong Azure Machine Learning workspace lên batch endpoint để thực hiện batch inferencing (suy luận hàng loạt). Người quản trị muốn tùy chỉnh cách deployment thực hiện inference (tức là tùy chỉnh logic scoring/inference). Câu hỏi yêu cầu xác định bước tạo đầu tiên cần thực hiện.
🛠️ Bối cảnh kỹ thuật (dựa trên Azure ML phiên bản mới nhất đến 2026):
- Batch endpoint trong Azure ML hỗ trợ xử lý dữ liệu lớn theo batch, khác với real-time endpoints.
- MLflow models đã registered có scoring script mặc định, nhưng để customize inference (ví dụ: thay đổi input/output format, thêm preprocessing/postprocessing), bạn phải cung cấp scoring script tùy chỉnh.
- Quy trình deploy batch endpoint: Tạo endpoint → Tạo deployment (với model, environment, scoring script, instance type) → Deploy input data cho inference.
- Kiến thức cập nhật: Theo Azure ML SDK v2 và CLI v2 (phiên bản 2.x+ năm 2025-2026), scoring script là file Python (entry_script.py) định nghĩa hàm
init()vàrun()cho inference logic.
📘 Tài liệu tham khảo:
- Deploy MLflow models to batch endpoints (Microsoft Docs, cập nhật 2025).
- Customize scoring script for MLflow in Azure ML.
✅ Đáp án đúng: scoring script
Lý do lựa chọn:
- Để tùy chỉnh inference trên batch endpoint với MLflow model, bạn phải tạo scoring script tùy chỉnh đầu tiên. Script này (thường là file
score.pyhoặcentry_script.py) chứa logicinit()(khởi tạo model) vàrun()(thực hiện inference trên batch data). - MLflow model mặc định dùng entry script chuẩn, nhưng câu hỏi nhấn mạnh "customize", nên scoring script là bước tạo đầu tiên trước khi định nghĩa deployment.
- Không có scoring script, deployment sẽ fail hoặc dùng default (không customize được).
- 🧩 Thứ tự logic: Scoring script → Environment (nếu cần) → Deployment config → Deploy.
📋 Giải thích tất cả các phương án
-
scoring script ✅ Đúng:
Đây là bước đầu tiên cần tạo để tùy chỉnh inference. Scoring script định nghĩa cách model xử lý input batch data (ví dụ: JSON/CSV), load model từ MLflow, và output kết quả. Trong Azure ML v2, nó được chỉ định quacode_configuration.codetrong deployment YAML/SDK. Không có nó, không thể customize. -
deployment ❌ Sai:
Deployment là bước sau cùng (tạo batch deployment cho endpoint), yêu cầu đã có scoring script, model, và environment. Tạo deployment trước mà thiếu scoring script sẽ không customize được inference và có thể fail validation. -
environment ❌ Sai:
Environment (Docker image với dependencies) có thể dùng mặc định cho MLflow (azureml-mlflow-container), không cần tạo mới đầu tiên. Chỉ tạo custom environment nếu scoring script yêu cầu packages đặc biệt (ví dụ: thêm TensorFlow version cụ thể), nhưng prioritize scoring script cho customization. -
deployment definition ❌ Sai:
"Deployment definition" không phải thuật ngữ chuẩn trong Azure ML batch endpoints (có thể nhầm với "deployment config" hoặc YAML spec). Bạn tạo deployment trực tiếp qua SDK/CLI/YAML sau khi có scoring script, không phải tạo "definition" riêng lẻ đầu tiên. Term này không tồn tại ở phiên bản mới nhất.
🛠️ Lời khuyên thực hành: Sử dụng Azure ML Studio hoặc SDK v2 để tạo scoring script mẫu, test local trước deploy. Ví dụ code:
def init():
global model
model = mlflow.pyfunc.load_model("model_path")
def run(batch_requests):
return model.predict(batch_requests)
You plan to deploy a model to the batch endpoint.
You need to configure compute for the deployment.
Which compute should you use?
- A Remote VM
- B AmlCompute instance
- C Azure Batch
- D Kubernetes cluster
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 Azure Machine Learning (Azure ML), cụ thể là việc quản lý một workspace Azure ML chứa batch endpoint. Bạn đang lập kế hoạch triển khai một mô hình học máy lên batch endpoint này và cần cấu hình compute phù hợp cho việc triển khai.
- Batch endpoint trong Azure ML là một tính năng cho phép xử lý dữ liệu hàng loạt (batch inference) một cách hiệu quả, không yêu cầu compute luôn chạy như real-time endpoints. Nó tự động scale compute dựa trên job batch được submit.
- Compute ở đây đề cập đến tài nguyên tính toán (như cluster hoặc instance) mà Azure ML sử dụng để chạy inference trên batch endpoint.
- Mục tiêu: Chọn loại compute tối ưu và được hỗ trợ chính thức cho việc deploy model lên batch endpoint theo tài liệu mới nhất của Microsoft Azure ML (phiên bản API v2, cập nhật đến 2024-2026 không thay đổi cơ bản về compute cho batch endpoints).
📘 Tài liệu tham khảo chính:
- Azure ML Batch Endpoints Documentation (cập nhật mới nhất 2024).
- Create compute for batch endpoints.
✅ Đáp án đúng: AmlCompute instance
Lý do lựa chọn 🛠️:
- AmlCompute (Azure Machine Learning Compute) là loại compute chuẩn và được khuyến nghị chính thức cho batch endpoints trong Azure ML. Nó bao gồm cả compute instance (cho dev/test) và compute cluster (cho scale production). Batch endpoints tự động provision và quản lý AmlCompute để xử lý job batch, hỗ trợ auto-scaling, spot instances, và tích hợp liền mạch với workspace.
- Theo docs mới nhất (2024+), khi deploy model lên batch endpoint, bạn phải attach một AmlCompute cluster hoặc instance đã tạo sẵn trong workspace. Điều này đảm bảo tính nhất quán, monitoring qua Azure ML Studio, và tối ưu chi phí cho batch workloads.
📋 Giải thích tất cả các phương án
-
❌ Remote VM
Sai vì: Remote VM (như Azure VM thông thường) không được hỗ trợ trực tiếp cho batch endpoints trong Azure ML. Batch endpoints yêu cầu compute được quản lý bởi Azure ML (như AmlCompute) để tự động hóa scaling, job queuing và integration với MLflow/AML tracking. Sử dụng Remote VM sẽ mất tích hợp tự nhiên và không thể attach trực tiếp vào endpoint. (Docs: Chỉ AmlCompute được liệt kê cho batch.) -
✅ AmlCompute instance
Đúng vì: Như đã giải thích ở trên, đây là lựa chọn chuẩn. AmlCompute instance/cluster được thiết kế dành riêng cho ML workloads, hỗ trợ batch inference với min/max nodes, idle shutdown, và tích hợp seamless với batch endpoints. Ví dụ: Tạo bằng CLIaz ml compute create --type amlcomputerồi deploy endpoint với--compute <name>. -
❌ Azure Batch
Sai vì: Azure Batch là service riêng biệt cho HPC/batch jobs lớn, không tích hợp trực tiếp làm compute cho Azure ML batch endpoints. Mặc dù cả hai đều xử lý batch, nhưng Azure ML batch endpoints sử dụng AmlCompute làm abstraction layer trên nền Azure Batch (nhưng user không configure trực tiếp Azure Batch). Sử dụng trực tiếp Azure Batch sẽ bypass Azure ML features như model registry và scoring scripts. -
❌ Kubernetes cluster
Sai vì: Kubernetes (AKS - Azure Kubernetes Service) chủ yếu dùng cho online/real-time endpoints trong Azure ML (Managed Online Endpoints). Batch endpoints không hỗ trợ K8s vì batch workloads ưu tiên cluster-based scaling (AmlCompute) hơn orchestrated pods. Docs rõ ràng phân biệt: Online → AKS/K8s, Batch → AmlCompute.
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần demo code deploy, hãy hỏi thêm nhé!
You need to prepare information to submit a training run.
Which class should you use?
- A ScriptRun
- B ScriptRunConfig
- C RunConfiguration
- D Run
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 Azure Machine Learning SDK for Python phiên bản 1 (v1), một công cụ phổ biến để xây dựng và huấn luyện mô hình machine learning trên nền tảng Azure.
-
Bối cảnh: Bạn đang sử dụng SDK v1 và notebooks Jupyter để huấn luyện mô hình. Bạn đã tạo sẵn:
- Compute target: Một tài nguyên tính toán (như AmlCompute cluster hoặc local compute) để chạy script.
- Environment: Môi trường phần mềm (dependencies, Docker image, conda env) cần thiết cho script.
- Training script: File Python chứa code huấn luyện mô hình (ví dụ: train.py).
-
Yêu cầu chính: Chuẩn bị thông tin để submit một training run (gửi job huấn luyện lên Azure ML workspace). Câu hỏi hỏi về class (lớp) nào trong SDK v1 nên sử dụng để gói gọn các thông tin này và submit run một cách hiệu quả.
Đây là kiến thức cốt lõi trong Azure ML v1 (không liên quan AWS như mô tả ban đầu – có thể là nhầm lẫn). Theo tài liệu chính thức Microsoft cập nhật đến năm 2026, quy trình chuẩn là sử dụng class chuyên biệt để config và submit script-based training jobs. ✅
📘 Tài liệu tham khảo:
- Azure ML SDK v1 - ScriptRunConfig
- Tutorial: Train within a notebook (v1)
- Changelog Azure ML SDK v1 (cập nhật 2024-2026)
✅ Đáp án đúng: ScriptRunConfig
Lý do lựa chọn:
- Trong Azure ML SDK v1, ScriptRunConfig là class chính thức và được khuyến nghị để chuẩn bị thông tin submit training run.
- Bạn tạo instance của ScriptRunConfig bằng cách truyền vào:
source_directory(thư mục chứa script),script(tên file train.py),compute_target,environment. - Sau đó, submit bằng
experiment.submit(ScriptRunConfig(...)), tạo ra một ScriptRun object để theo dõi. - Đây là cách tích hợp đầy đủ tất cả các thành phần đã tạo (compute, env, script), hỗ trợ distributed training (như với estimator), hyperparameter tuning, và logging tự động qua MLflow/AML metrics. Phù hợp hoàn hảo với bối cảnh câu hỏi! 🛠️
📋 Giải thích chi tiết tất cả các phương án
-
ScriptRun ❌
Sai vì: ScriptRun là kết quả trả về sau khi submit (một instance của class Run), dùng để theo dõi, log metrics, và download artifacts (nhưrun.wait_for_completion(),run.get_metrics()). Không dùng để chuẩn bị config ban đầu – nó chỉ là "sản phẩm" của việc submit. Nếu dùng trực tiếp, bạn không thể gói gọn compute/env/script một cách structured. -
ScriptRunConfig ✅
Đúng vì: Như giải thích trên, đây là class core để định nghĩa toàn bộ cấu hình training job trong SDK v1. Ví dụ code:from azureml.core import ScriptRunConfig src = ScriptRunConfig(source_directory='./train_folder', script='train.py', compute_target=compute_target, environment=environment) run = experiment.submit(src)Hoàn toàn khớp yêu cầu "prepare information to submit a training run". Được Microsoft ưu tiên từ version 1.0.80+ và vẫn là standard đến 2026.
-
RunConfiguration ❌
Sai vì: Đây là class deprecated (không khuyến khích) từ SDK v1.0.83 trở đi, thay thế bởi ScriptRunConfig. Nó từng dùng để config Docker/Conda nhưng thiếu hỗ trợ script-based và distributed training hiện đại. Tài liệu khuyên migrate sang ScriptRunConfig để tránh breaking changes. -
Run ❌
Sai vì: Run là base class trừu tượng cho mọi loại run (ScriptRun kế thừa từ nó). Dùng để quản lý lifecycle run (start, submit child runs, log), nhưng không dùng để prepare config compute/env/script. Submit trực tiếp Run sẽ thiếu cấu trúc, dẫn đến lỗi hoặc không chạy được training script.