Ngân hàng đề — Microsoft Azure Data Scientist
Tìm thấy 313 câu.
You have a Run object named run that references the experiment run. You must review the log files that were generated during the experiment run.
You need to download the log files to a local folder for review.
Which two code segments can you run to achieve this goal? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
- A run.get_details()
- B run.get_file_names()
- C run.get_metrics()
- D run.download_files(output_directory='./runfiles')
- E run.get_all_logs(destination='./runlogs')
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc chủ đề Azure Machine Learning (Azure ML), tập trung vào việc xử lý Run object trong một experiment. Cụ thể:
- Bạn đang chạy một script như một experiment trong Azure ML workspace.
- Có một đối tượng Run tên là
runtham chiếu đến experiment run đó. - Nhiệm vụ: Tải xuống (download) các log files được tạo ra trong quá trình chạy experiment về một thư mục local để kiểm tra.
- Đây là câu hỏi multiple choice chọn nhiều đáp án đúng (mỗi đáp án đúng đáng 1 điểm), yêu cầu chọn hai đoạn code có thể thực hiện mục tiêu này một cách hoàn chỉnh.
Mục tiêu chính: Xem xét và tải log files local từ Run object. Lưu ý rằng Azure ML SDK (phiên bản v1 - azureml-core, cập nhật đến 2023-2026) hỗ trợ các phương thức trên Run để truy xuất logs, files và metrics. Không liên quan đến AWS như ghi chú ban đầu (có thể là nhầm lẫn).
📘 Tài liệu tham khảo:
- Azure ML Python SDK v1 - Run class (cập nhật latest đến 2026).
- Download files and logs from a run (Azure ML docs).
✅ Đáp án đúng (hai lựa chọn hoàn chỉnh)
Hai đoạn code sau có thể tải log files về thư mục local một cách trực tiếp và đầy đủ:
run.download_files(output_directory='./runfiles')✅run.get_all_logs(destination='./runlogs')✅
Lý do chọn: Những phương thức này được thiết kế chuyên biệt để tải toàn bộ files/logs từ run về local folder, phù hợp chính xác với yêu cầu "download the log files to a local folder". Chúng hoạt động trên Run object trong Azure ML SDK v1 và vẫn hỗ trợ tốt ở các bản cập nhật mới nhất (2026).
🛠️ Giải thích chi tiết từng 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 bằng tiếng Anh. Phần giải thích sử dụng tiếng Việt rõ ràng:
-
run.get_details() ❌
Sai: Phương thức này chỉ trả về metadata chi tiết của run (như status, timestamps, tags, properties), không tải xuống bất kỳ file hay log nào. Nó chỉ dùng để xem thông tin mô tả, không đạt mục tiêu download logs về local folder. -
run.get_file_names() ❌
Sai: Phương thức này chỉ liệt kê tên các file có trong run (trả về list tên files), không thực hiện việc tải xuống. Bạn có thể dùng nó để kiểm tra trước khi download, nhưng không giải quyết yêu cầu chính là lưu logs local. -
run.get_metrics() ❌
Sai: Phương thức này chỉ truy xuất metrics (dữ liệu số lượng như accuracy, loss được log bằng run.log()), không liên quan đến log files (như stdout, stderr, kernel logs). Nó trả về dictionary metrics, không download files. -
run.download_files(output_directory='./runfiles') ✅
Đúng: Phương thức này tải toàn bộ files và outputs từ run (bao gồm logs, models, artifacts) về thư mục local được chỉ định (./runfiles). Hoàn chỉnh cho mục tiêu review log files, hỗ trợ recursive download. Lý tưởng cho việc kiểm tra toàn diện. -
run.get_all_logs(destination='./runlogs') ✅
Đúng: Phương thức chuyên biệt để tải tất cả log files (driver logs, execution logs, 18.xx logs, kernel logs) về thư mục local (./runlogs). Đây là cách chính xác nhất cho "log files generated during the experiment run", zip và unpack tự động nếu cần.
Lưu ý thêm 🧩: Trong Azure ML SDK v2 (azure-ai-ml, cập nhật 2024-2026), cú pháp có thể dùng ml_client.jobs.download(name=run.name, download_path="./logs"), nhưng câu hỏi dùng SDK v1 Run object nên hai phương án trên là chuẩn. Luôn kiểm tra workspace qua Azure ML Studio để verify! 🚀
from azureml.core import Workspace, Experiment, Run, ScriptRunConfig
ws = Workspace.from_config()
script_config = ScriptRunConfig(source_directory='experiment_files',
script='experiment.py')
script_experiment = Experiment(workspace=ws, name='script-experiment')
The experiment must be run on local computer using the default environment.
You need to add code to start the experiment and run the script.
Which code segment should you use?
- A run = script_experiment.start_logging()
- B run = Run(experiment=script_experiment)
- C ws.get_run(run_id=experiment.id)
- D run = script_experiment.submit(config=script_config)
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi thuộc lĩnh vực Azure Machine Learning (Azure ML), không phải AWS (có thể có nhầm lẫn trong mô tả chủ đề). Nội dung xoay quanh việc sử dụng thư viện azureml.core để chuẩn bị và chạy một experiment chứa script Python (experiment.py) trên máy tính local (local computer) với môi trường mặc định (default environment).
-
Code đã cho:
- Kết nối đến Workspace (
ws = Workspace.from_config()). - Tạo ScriptRunConfig (
script_config) chỉ định thư mục nguồn (source_directory='experiment_files') và script chính (script='experiment.py'). Lưu ý: Không chỉ địnhcompute_target, nên sẽ chạy local với default environment (tức là môi trường Python hiện tại trên máy local). - Tạo Experiment (
script_experiment = Experiment(workspace=ws, name='script-experiment')).
- Kết nối đến Workspace (
-
Yêu cầu: Thêm đoạn code để bắt đầu experiment và chạy script. Kết quả mong đợi là một đối tượng Run để theo dõi quá trình thực thi.
Mục tiêu là submit script vào experiment một cách đúng chuẩn, đảm bảo chạy local mà không cần cluster hoặc môi trường tùy chỉnh (theo tài liệu Azure ML phiên bản mới nhất đến năm 2026, sử dụng SDK v2 khuyến khích nhưng code này vẫn hợp lệ với v1).
📘 Tài liệu tham khảo:
- Azure ML Documentation: ScriptRunConfig (cập nhật 2024-2026, hỗ trợ cả v1 và v2).
- Run scripts in experiments (hướng dẫn submit ScriptRunConfig).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: run = script_experiment.submit(config=script_config)
Lý do 🛠️:
- Phương thức
submit(config=ScriptRunConfig)của Experiment là cách chuẩn để nộp (submit) script vào experiment, tạo ra một Run object để theo dõi logs, metrics và kết quả. - Vì
script_configkhông chỉ địnhcompute_target, nó sẽ chạy local với default environment (Python env hiện tại), đúng yêu cầu. - Kết quả:
runlà đối tượng ScriptRun có thể gọiwait_for_completion()hoặcget_metrics()để theo dõi. - Đây là pattern chuẩn trong Azure ML SDK v1 (vẫn hỗ trợ đến 2026), tương thích v2 qua
mltablehoặccommand.
❌ Phân tích tất cả các phương án (đúng/sai)
-
run = script_experiment.start_logging()
❌ Sai. Phương thứcstart_logging()chỉ bắt đầu ghi log thủ công cho một run đang chạy (thường dùng trong notebook hoặc script nội bộ), không submit hoặc chạy script từScriptRunConfig. Nó tạo Run nhưng không thực thiexperiment.py, dẫn đến experiment không chạy script. -
run = Run(experiment=script_experiment)
❌ Sai. ConstructorRun(experiment=...)dùng để tạo Run object từ experiment hiện có (thường trong context nội bộ script), không submit hoặc khởi chạy script mới. Không liên kết vớiscript_config, nên scriptexperiment.pykhông được thực thi. -
ws.get_run(run_id=experiment.id)
❌ Sai.ws.get_run(run_id=...)dùng để lấy Run đã tồn tại từ Workspace bằng ID, nhưngexperiment.idkhông phải run_id hợp lệ (experiment không có run_id). Code này sẽ lỗi vì chưa có run nào, và không tạo/run script mới. -
run = script_experiment.submit(config=script_config)
✅ Đúng (như giải thích ở trên). Hoàn hảo khớp yêu cầu: submit config để chạy local với default env, trả về Run object đầy đủ chức năng.
🧩 Lưu ý bổ sung: Nếu dùng Azure ML SDK v2 (khuyến nghị 2026), tương đương là ml_client.jobs.create_or_update(command_job). Code v1 vẫn valid cho backward compatibility!
You need to use Intellisense in the notebook.
What should you do?
- A Stop the compute instance.
- B Start the compute instance.
- C Run a %pip magic function on the compute instance.
- D Run a !pip magic function on the compute instance.
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 Studio (Azure ML Studio), một nền tảng phát triển machine learning của Microsoft Azure. Người dùng đã tạo một workspace chứa compute instance (một máy ảo chuyên dụng cho notebook). Họ đang phát triển Python SDK v2 notebook (sổ tay ghi chép sử dụng thư viện Python SDK phiên bản 2 của Azure ML) trong workspace này.
Vấn đề cần giải quyết: Làm thế nào để kích hoạt Intellisense (tính năng gợi ý code tự động, tự hoàn thành mã, hiển thị tài liệu hàm... giống như trong VS Code hoặc Jupyter) trong notebook.
📘 Bối cảnh kỹ thuật (cập nhật đến năm 2026 theo tài liệu Azure ML mới nhất): Intellisense trong Azure ML notebooks yêu cầu kernel Python đang chạy trên một compute instance đang hoạt động. Nếu compute instance ở trạng thái stopped, notebook chỉ ở chế độ "edit" thuần túy mà không có kernel hỗ trợ, dẫn đến mất Intellisense. SDK v2 (azure-ai-ml) không thay đổi yêu cầu này.
✅ Đáp án đúng: Start the compute instance
Lý do lựa chọn:
- Để sử dụng Intellisense trong notebook Azure ML, compute instance phải được khởi động (start) trước. Khi start, nó cung cấp kernel Python chạy liên tục, hỗ trợ các tính năng IDE như Intellisense (auto-complete, hover docs, error checking).
- Theo quy trình chuẩn Azure ML (phiên bản 2024-2026): Notebook phải attach vào compute instance đang chạy. Nếu stopped, Intellisense bị vô hiệu hóa để tiết kiệm tài nguyên.
- 🛠️ Cách thực hiện: Trong Azure ML Studio, vào tab Compute > chọn instance > click Start. Sau ~1-2 phút, kernel sẵn sàng và Intellisense hoạt động ngay.
Nguồn tham khảo: Azure ML Docs - Notebook IntelliSense & Compute Instance Management.
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ [SAI] Stop the compute instance.
Việc stop compute instance sẽ tắt kernel, làm mất hoàn toàn Intellisense vì notebook chỉ còn chế độ xem/edit tĩnh (không có runtime hỗ trợ code intelligence). Điều này ngược lại với yêu cầu, thường dùng để tiết kiệm chi phí khi không sử dụng. -
✅ [ĐÚNG] Start the compute instance.
(Như đã giải thích ở trên) – Đây là bước bắt buộc đầu tiên để kích hoạt kernel và Intellisense trong Python SDK v2 notebooks. -
❌ [SAI] Run a %pip magic function on the compute instance.
%piplà magic command Jupyter dùng để cài đặt package Python trong kernel đang chạy (ví dụ:%pip install azure-ai-ml). Tuy nhiên, nó không liên quan đến việc kích hoạt Intellisense – tính năng này phụ thuộc vào trạng thái compute, không phải cài package. Nếu compute chưa start, magic command thậm chí không chạy được. -
❌ [SAI] Run a !pip magic function on the compute instance.
!pipcũng là shell magic command để chạy pip từ command line trong kernel (tương tự%pipnhưng chạy như subprocess). Nó dùng cho cài đặt package, không ảnh hưởng đến Intellisense. Yêu cầu chính vẫn là start compute trước khi chạy bất kỳ magic command nào.
🧩 Tóm tắt mẹo thực hành: Luôn kiểm tra trạng thái compute ở góc phải notebook (hiển thị "No kernel" nếu stopped). Sau khi start, restart kernel nếu cần để Intellisense "refresh". Không cần pip vì môi trường Azure ML đã pre-install SDK v2!
📘 Nguồn bổ sung: Azure ML Python SDK v2 Notebook Guide.
. . .
step1 = PythonScriptStep(name="step1", ...)
step2 = PythonScriptsStep(name="step2", ...)
pipeline_steps = [step1, step2]
You need to add code to run the steps.
Which two code segments can you use to achieve this goal? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
- A experiment = Experiment(workspace=ws, name='pipeline-experiment') run = experiment.submit(config=pipeline_steps)
- B run = Run(pipeline_steps)
- C pipeline = Pipeline(workspace=ws, steps=pipeline_steps) experiment = Experiment(workspace=ws, name='pipeline-experiment') run = experiment.submit(pipeline)
- D pipeline = Pipeline(workspace=ws, steps=pipeline_steps) run = pipeline.submit(experiment_name='pipeline-experiment')
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc lĩnh vực Azure Machine Learning (Azure ML) Pipelines, tập trung vào cách chạy (submit) các bước (steps) của một pipeline đã được định nghĩa bằng code Python.
-
Bối cảnh code gốc:
- Import các module cần thiết từ
azureml.corevàazureml.pipeline. - Kết nối đến Workspace (
ws = Workspace.from_config()). - Tạo hai bước:
step1vàstep2sử dụngPythonScriptStep. - Gộp các bước vào danh sách
pipeline_steps = [step1, step2].
- Import các module cần thiết từ
-
Mục tiêu: Thêm code để chạy (run/submit) các steps này dưới dạng pipeline hoàn chỉnh. Đây là câu hỏi trắc nghiệm đa lựa chọn (multi-select) với hai đáp án đúng, mỗi đáp án đúng đáng 1 điểm.
-
Khái niệm chính (dựa trên Azure ML SDK v2 mới nhất đến năm 2026 – khuyến nghị sử dụng MLflow hoặc CLI v2, nhưng câu hỏi dùng SDK v1 classic):
- Pipeline phải được tạo bằng
Pipeline(workspace=ws, steps=pipeline_steps). - Submit qua
experiment.submit(pipeline)hoặcpipeline.submit(experiment_name=...). - Không submit trực tiếp danh sách steps mà cần wrap vào Pipeline object.
- Pipeline phải được tạo bằng
📘 Tài liệu tham khảo:
- Azure ML Pipeline Documentation (SDK v1) (cập nhật 2024-2026).
- Pipeline Submission Examples.
✅ Đáp án đúng
Hai phương án đúng là:
pipeline = Pipeline(workspace=ws, steps=pipeline_steps) experiment = Experiment(workspace=ws, name='pipeline-experiment') run = experiment.submit(pipeline)pipeline = Pipeline(workspace=ws, steps=pipeline_steps) run = pipeline.submit(experiment_name='pipeline-experiment')
Lý do lựa chọn: Cả hai đều tạo Pipeline object đúng cách từ pipeline_steps, sau đó submit qua Experiment hoặc trực tiếp từ Pipeline với tên experiment. Đây là quy trình chuẩn của Azure ML SDK v1, đảm bảo pipeline chạy độc lập và traceable trong experiment. ✅
🛠️ Giải thích chi tiết từng phương án (đúng/sai)
-
❌ Phương án SAI:
experiment = Experiment(workspace=ws, name='pipeline-experiment') run = experiment.submit(config=pipeline_steps)
Phân tích: Sai vìexperiment.submit()yêu cầu tham số là Pipeline object, không phảiconfig=pipeline_steps(danh sách steps thô). Không tồn tại tham sốconfigở đây; submit trực tiếp list steps sẽ gây lỗiTypeError. Không tạo Pipeline trước nên không hợp lệ. -
❌ Phương án SAI:
run = Run(pipeline_steps)
Phân tích: Sai hoàn toàn vì classRunkhông hỗ trợ khởi tạo trực tiếp từpipeline_steps(danh sách steps).Rundùng để lấy context run hiện tại hoặc từ ID, không phải để submit pipeline mới. Gây lỗiTypeError: Run.__init__()không chấp nhận arguments như vậy. -
✅ Phương án ĐÚNG:
pipeline = Pipeline(workspace=ws, steps=pipeline_steps) experiment = Experiment(workspace=ws, name='pipeline-experiment') run = experiment.submit(pipeline)
Phân tích: Đúng! TạoPipelinetừ steps → TạoExperiment→ Submitpipelinevào experiment. Đây là cách chuẩn và linh hoạt, cho phép theo dõi run trong experiment cụ thể. Trả vềPipelineRunobject để monitor. 🏆 -
✅ Phương án ĐÚNG:
pipeline = Pipeline(workspace=ws, steps=pipeline_steps) run = pipeline.submit(experiment_name='pipeline-experiment')
Phân tích: Đúng! TạoPipeline→ Submit trực tiếp vớiexperiment_name, tự động tạo experiment nếu chưa tồn tại. Cách này ngắn gọn hơn, phù hợp khi không cần tham chiếu Experiment trước. Cũng trả vềPipelineRun. 🚀
Lưu ý nâng cao (Azure ML 2026): Với SDK v2 (Job-based), dùng mlflow.azureml hoặc PipelineJob, nhưng câu hỏi rõ ràng dùng v1 classic nên hai cách trên vẫn valid. Khuyến nghị migrate sang v2 cho tính năng mới như serverless compute. 📈
You must use the Azure Machine Learning SDK to implement a batch inference pipeline that uses a ParallelRunStep to score input data using the model. You must specify a value for the ParallelRunConfig compute_target setting of the pipeline step.
You need to create the compute target.
Which class should you use?
- A BatchCompute
- B AdlaCompute
- C AmlCompute
- D AksCompute
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 Azure Machine Learning (Azure ML), cụ thể là việc triển khai một batch inference pipeline sử dụng ParallelRunStep để chấm điểm (score) dữ liệu đầu vào bằng mô hình đã đăng ký trong Azure ML workspace.
- Bối cảnh: Bạn đã tạo và đăng ký mô hình trong workspace Azure ML. Bây giờ, sử dụng Azure Machine Learning SDK để xây dựng pipeline batch inference.
- Yêu cầu chính: Trong ParallelRunConfig (cấu hình cho ParallelRunStep), bạn phải chỉ định giá trị cho compute_target (mục tiêu tính toán) của pipeline step.
- Nhiệm vụ: Tạo compute target phù hợp bằng cách chọn class (lớp) đúng trong SDK.
Câu hỏi kiểm tra kiến thức về các loại compute target hỗ trợ cho ParallelRunStep trong Azure ML pipelines, đặc biệt cho batch inference song song (parallel scoring). Theo tài liệu Azure ML mới nhất (v2 SDK, cập nhật đến 2024-2026), ParallelRunStep yêu cầu compute target phải là cluster hỗ trợ xử lý song song lớn, không phải các loại compute chuyên biệt khác.
📘 Nguồn tham khảo:
- Azure ML Documentation - Use ParallelRunStep
- Azure ML SDK v2 - ParallelRunConfig
- Azure ML Compute Targets Overview (2024)
✅ Đáp án đúng: AmlCompute
Lý do lựa chọn:
- AmlCompute là lớp compute target chuẩn và được khuyến nghị cho ParallelRunStep trong batch inference pipelines của Azure ML.
- Nó hỗ trợ tạo managed CPU/GPU clusters với khả năng scale tự động, process_count_per_node (số process trên mỗi node), và mini_batch_size – các tham số bắt buộc cho ParallelRunConfig.
- Trong SDK v2 (mới nhất đến 2), AmlCompute (Azure Machine Learning Compute) là lựa chọn duy nhất phù hợp để xử lý batch inference song song hiệu quả, đảm bảo tính linh hoạt và tích hợp sâu với workspace. Không sử dụng được cho các loại compute khác vì chúng không hỗ trợ cấu hình parallel run.
🛠️ 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 nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai kèm lý do cụ thể dựa trên Azure ML SDK mới nhất:
-
[SAI] BatchCompute ❌
Giải thích: BatchCompute không phải là lớp compute target hợp lệ trong Azure ML SDK cho ParallelRunStep. Nó không tồn tại hoặc không được hỗ trợ cho pipelines batch inference. Azure ML không có lớp này; thay vào đó, sử dụng AmlCompute cho batch jobs. Sử dụng sai sẽ gây lỗi khi submit pipeline. -
[SAI] AdlaCompute ❌
Giải thích: AdlaCompute dành cho Azure Data Lake Analytics (ADLA), một dịch vụ xử lý dữ liệu lớn dựa trên U-SQL, không tích hợp trực tiếp với Azure ML pipelines hoặc ParallelRunStep. Nó không hỗ trợ mô hình ML scoring song song và đã bị deprecated ở một số tính năng từ 2023. -
[ĐÚNG] AmlCompute ✅
Giải thích: Như đã nêu ở trên, đây là lớp chính thức để tạo Azure Machine Learning managed compute clusters (CPU/GPU). ParallelRunConfig yêu cầu compute_target là AmlCompute để chạy entry_script song song trên nhiều node, xử lý input data lớn hiệu quả. Ví dụ code SDK:compute = AmlCompute(name="cpu-cluster", ...). Hoàn hảo cho batch inference scale-out. -
[SAI] AksCompute ❌
Giải thích: AksCompute dùng cho Azure Kubernetes Service (AKS), phù hợp với real-time inference deployments (như managed endpoints), không phải batch pipelines với ParallelRunStep. Nó thiếu hỗ trợ native cho mini_batch và process_count trong batch context, dẫn đến lỗi cấu hình.
Kết luận 🎯: Câu hỏi nhấn mạnh sự khác biệt giữa các compute types trong Azure ML. Luôn ưu tiên AmlCompute cho parallel batch inference để tránh lỗi runtime và tối ưu chi phí! Nếu implement thực tế, hãy kiểm tra quota compute trong subscription.
The script contains the following code:
import os, argparse, glob
from azureml.core import Run
parser = argparse.ArgumentParser()
parser.add_argument('--input-data', type=str, dest='data_folder')
args = parser.parse_args()
data_path = args.data_folder
file_paths = glob.glob(data_path + "/*.jpg")
You must specify a file dataset as an input to the script. The dataset consists of multiple large image files and must be streamed directly from its source.
You need to write code to define a ScriptRunConfig object for the experiment and pass the ds dataset as an argument.
Which code segment should you use?
- A arguments = ['--input-data', ds.to_pandas_dataframe()]
- B arguments = ['--input-data', ds.as_mount()]
- C arguments = ['--data-data', ds]
- D arguments = ['--input-data', ds.as_download()]
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 chạy một script Python trong Azure Machine Learning (Azure ML) experiment sử dụng ScriptRunConfig. Script sử dụng argparse để nhận tham số --input-data (là đường dẫn thư mục chứa dữ liệu), sau đó dùng glob để tìm tất cả file .jpg trong thư mục đó.
📌 Yêu cầu chính:
- Sử dụng một FileDataset (ds) làm input cho script.
- Dataset gồm nhiều file ảnh lớn, cần stream trực tiếp từ nguồn (không tải xuống toàn bộ để tránh tốn tài nguyên).
- Cần viết code định nghĩa ScriptRunConfig và truyền dataset qua arguments.
🛠️ Ngữ cảnh Azure ML: Trong Azure ML (phiên bản mới nhất đến 2024-2026, sử dụng Azure ML SDK v2 hoặc tương đương), FileDataset hỗ trợ các chế độ truyền dữ liệu như mount (gắn như thư mục ảo, stream trực tiếp), download (tải xuống), hoặc chuyển thành DataFrame. Vì file lớn và cần stream, phải dùng mount để script truy cập như local folder qua đường dẫn.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: arguments = ['--input-data', ds.as_mount()]
Lý do chi tiết:
ds.as_mount()gắn dataset như một thư mục ảo trong môi trường experiment, cho phép script stream trực tiếp file từ nguồn (datastore như Blob Storage) mà không tải toàn bộ xuống disk. Điều này lý tưởng cho file ảnh lớn, tránh hết dung lượng storage và thời gian tải.- Script nhận
data_path = args.data_folder(là đường dẫn mount), rồiglob.glob(data_path + "/*.jpg")sẽ hoạt động hoàn hảo như local folder. - Trong ScriptRunConfig:
src = ScriptRunConfig(source_directory='.', script='script.py', arguments=arguments, compute_target=compute). - ✅ Phù hợp yêu cầu "streamed directly from its source" (theo docs Azure ML v2).
📘 Giải thích tất cả các phương án (đúng/sai)
-
❌ arguments = ['--input-data', ds.to_pandas_dataframe()]
Sai vì:to_pandas_dataframe()chỉ áp dụng cho TabularDataset (dữ liệu bảng), không phải FileDataset (file ảnh). Với file ảnh lớn, phương thức này sẽ thất bại hoặc tốn kém (chuyển file binary thành DataFrame không hợp lý). Không stream trực tiếp, mà load hết vào memory. -
✅ arguments = ['--input-data', ds.as_mount()]
Đúng vì: Như giải thích ở trên, mount dataset như folder ảo, stream trực tiếp, script nhận đường dẫn và glob file dễ dàng. Hoàn hảo cho large image files. -
❌ arguments = ['--data-data', ds]
Sai vì: Tên argument sai (--data-datathay vì--input-datakhớp với parser.add_argument('--input-data')), script sẽ không nhận được giá trị đúng. Truyền trực tiếpds` (dataset object) không cho đường dẫn folder, glob sẽ lỗi. -
❌ arguments = ['--input-data', ds.as_download()]
Sai vì:as_download()tải toàn bộ dataset xuống local disk trước khi script chạy, vi phạm yêu cầu "streamed directly from its source". Với file lớn, sẽ tốn thời gian/storage và không hiệu quả.
📚 Tài liệu tham khảo
- Azure ML Documentation (cập nhật 2024-2026): Use datasets in scripts – Chi tiết về
as_mount(),as_download(). - Azure ML SDK Reference: FileDataset.as_mount (phiên bản SDK v1/v2).
- ScriptRunConfig: docs.microsoft.com/en-us/azure/machine-learning/how-to-use-script-run-config.
Hy vọng phân tích này giúp bạn hiểu rõ! 🚀 Nếu cần ví dụ code đầy đủ, hãy hỏi thêm nhé!
You need to define an environment from a Docker image by using the Azure Machine Learning Python SDK v2.
Which parameter should you use?
- A properties
- B image
- C build
- D conda_file
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 quản lý một Azure Machine Learning workspace (không gian làm việc Azure ML). Nhiệm vụ cụ thể là định nghĩa một Environment (môi trường) từ một Docker image bằng cách sử dụng Azure Machine Learning Python SDK v2 (phiên bản SDK Python mới nhất của Azure ML).
Câu hỏi yêu cầu xác định tham số (parameter) nào cần sử dụng trong constructor của lớp Environment để chỉ định Docker image. Đây là kiến thức cốt lõi trong Azure ML SDK v2, nơi Environment được sử dụng để đóng gói dependencies (phụ thuộc) cho các job huấn luyện hoặc suy luận mô hình. Việc sử dụng Docker image giúp tạo môi trường container hóa linh hoạt, hỗ trợ các thư viện tùy chỉnh mà không cần build từ đầu.
(Lưu ý: Mặc dù yêu cầu đề cập "chủ đề liên quan đến AWS", nhưng nội dung câu hỏi rõ ràng thuộc Azure ML – không liên quan AWS. Tôi phân tích dựa trên Azure ML SDK v2 phiên bản mới nhất đến năm 2026, theo tài liệu chính thức Microsoft).
✅ Đáp án đúng: image
Lý do lựa chọn:
Trong Azure ML Python SDK v2, để định nghĩa Environment trực tiếp từ một Docker image có sẵn (pre-built), bạn sử dụng tham số image trong constructor của lớp Environment. Ví dụ mã:
from azure.ai.ml.entities import Environment
env = Environment(image="mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04")
Tham số này chỉ định URI của Docker image (từ registry như Docker Hub hoặc Azure Container Registry), giúp Azure ML pull và sử dụng image đó làm base cho môi trường. Đây là cách đơn giản, nhanh chóng nhất cho các môi trường container hóa, phù hợp với best practice trong tài liệu Azure ML v2 (không yêu cầu build context phức tạp).
🛠️ 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 nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do chi tiết dựa trên Azure ML SDK v2 (phiên bản 1.17+ đến 2026):
-
properties ❌ SAI
Tham sốpropertieskhông tồn tại hoặc không dùng để định nghĩa Environment từ Docker image trong SDK v2. Nó có thể nhầm lẫn với các thuộc tính metadata trong các entity khác (như Model hoặc Job), nhưng không áp dụng cho việc chỉ định image. Sử dụng sẽ gây lỗi validation khi tạo Environment. -
image ✅ ĐÚNG
Như đã giải thích ở trên,imagelà tham số chính xác để chỉ định Docker image URI. Nó hỗ trợ các image public/private, tích hợp seamless với Azure ML workspace, và là phương pháp khuyến nghị cho môi trường pre-built (không cần conda hoặc build). Ví dụ:image="yourregistry.azurecr.io/myimage:tag". -
build ❌ SAI
Tham sốbuilddùng cho CuratedEnvironment hoặc khi build Docker image từ Dockerfile/build context (ví dụ:build=BuildContext(path="./docker_context")). Nó không dùng để định nghĩa trực tiếp từ một image có sẵn, mà dành cho việc tùy chỉnh build mới – phức tạp hơn và không khớp yêu cầu câu hỏi. -
conda_file ❌ SAI
Tham sốconda_filedùng để chỉ định file conda YAML cho môi trường dựa trên base image mặc định của Azure ML (không phải từ Docker image tùy chỉnh). Ví dụ:conda_file="environment.yml". Nó phù hợp cho CPU/GPU environments với dependencies Python, nhưng không định nghĩa từ Docker image thuần túy.
📚 Tài liệu tham khảo (cập nhật mới nhất đến 2026)
- Microsoft Learn - Environment class (Azure ML SDK v2): azure.ai.ml.entities.Environment – Xác nhận
imagelà parameter chính cho Docker images. - Hướng dẫn tạo Environments: Create & manage environments – Chi tiết ví dụ code với
image. - SDK v2 Release Notes (2024-2026): Không thay đổi core parameters cho Environment; vẫn giữ
imagelàm standard (phiên bản 1.17.0+).
Hy vọng phân tích này giúp bạn nắm vững Azure ML SDK v2! 🚀 Nếu cần ví dụ code đầy đủ, hãy hỏi thêm.
You must create a Python script for the production deployment. The solution must minimize code maintenance.
Which two actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A Refactor the Jupyter Notebook code into functions
- B Save each function to a separate Python file
- C Define a main() function in the Python script
- D Remove all comments and functions from the Python script
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi này tập trung vào việc chuyển đổi một Jupyter Notebook chứa code Python dùng để huấn luyện mô hình máy học sang một Python script dành cho môi trường production deployment (triển khai sản xuất). Mục tiêu chính là giảm thiểu công việc bảo trì code (minimize code maintenance).
- Bối cảnh: Jupyter Notebook thường được dùng cho exploratory data analysis và prototyping (phát triển thử nghiệm), nhưng không phù hợp cho production vì code lộn xộn, khó tái sử dụng và maintain. Khi deploy lên production (ví dụ: AWS SageMaker hoặc các dịch vụ ML khác), cần một script sạch sẽ, modular và có entry point rõ ràng.
- Yêu cầu chọn 2 hành động đúng: Đây là câu hỏi multiple-choice với hai đáp án đúng, mỗi cái worth 1 point, theo best practices của AWS Machine Learning (cập nhật đến phiên bản SageMaker 2026, nơi khuyến khích refactor notebook thành script modular cho endpoint deployment).
- Lý do quan trọng: Production script phải dễ scale, debug và integrate với CI/CD pipelines như AWS CodePipeline.
📘 Tài liệu tham khảo:
- AWS SageMaker Documentation: "Prepare a training script" (https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo.html) – Nhấn mạnh refactor notebook vào functions và main().
- AWS Best Practices for ML Code: "From Notebook to Production" (AWS re:Invent 2025 sessions).
✅ Đáp án đúng (hai lựa chọn)
Hai hành động đúng là:
Refactor the Jupyter Notebook code into functions và Define a main() function in the Python script.
Lý do lựa chọn:
Những hành động này giúp code trở nên modular (chia nhỏ thành functions tái sử dụng), dễ test và maintain. Main() function làm entry point rõ ràng cho script production, phù hợp với Python's if __name__ == "__main__": idiom. Điều này giảm thiểu maintenance bằng cách tránh code lộn xộn từ notebook, hỗ trợ deploy SageMaker training jobs hiệu quả. 🛠️
📋 Phân tích chi tiết tất cả các phương án
Dưới đây là giải thích từng lựa chọn một cách rõ ràng:
-
✅ Refactor the Jupyter Notebook code into functions
Đúng: Việc refactor (tái cấu trúc) code notebook thành các functions giúp code trở nên modular và tái sử dụng, dễ dàng gọi lại trong script production. Điều này giảm maintenance vì code sạch sẽ, dễ debug và mở rộng – best practice chuẩn của AWS SageMaker khi chuyển từ notebook sang training script. 🧩 -
❌ Save each function to a separate Python file
Sai: Việc lưu mỗi function vào file riêng sẽ làm code phân mảnh quá mức (over-fragmented), tăng độ phức tạp khi import và maintain nhiều file. Trong production, điều này vi phạm nguyên tắc "minimize code maintenance" vì làm khó quản lý dependencies và debugging. AWS khuyến khích giữ functions trong một script chính. 🚫 -
✅ Define a main() function in the Python script
Đúng: Định nghĩa main() function tạo entry point rõ ràng cho script (thường dùng vớiif __name__ == "__main__": main()), giúp script chạy độc lập và dễ integrate với orchestrators như SageMaker hoặc AWS Lambda. Điều này tối ưu maintenance bằng cách tách logic chính khỏi helper functions. 🛠️ -
❌ Remove all comments and functions from the Python script
Sai: Việc xóa comments và functions sẽ làm code không readable và không modular, dẫn đến maintenance nightmare (khó hiểu, debug và scale). Ngược lại với best practices – AWS yêu cầu giữ comments chi tiết và functions rõ ràng cho production code. 📉
•Minimum nodes: 2
•Maximum nodes: 4
You must decrease the minimum number of nodes and increase the maximum number of nodes to the following values:
•Minimum nodes: 0
•Maximum nodes: 8
You need to reconfigure the compute resource.
Which three methods can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
- A Azure Machine Learning designer
- B MLClient class in Python SDK v2
- C Azure Machine Learning studio
- D Azure CLI ml extension v2
- E BuildContext class in Python SDK v2
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi này thuộc lĩnh vực Azure Machine Learning (Azure ML), tập trung vào việc cấu hình lại (reconfigure) một tài nguyên compute được quản lý (managed compute resource) – cụ thể là một compute cluster trong Azure ML.
- Cấu hình ban đầu: Minimum nodes = 2, Maximum nodes = 4 (tức là cluster luôn duy trì ít nhất 2 node idle và có thể scale lên tối đa 4 node khi cần).
- Yêu cầu thay đổi: Giảm minimum nodes xuống 0 (cho phép scale down hoàn toàn về 0 để tiết kiệm chi phí khi không sử dụng) và tăng maximum nodes lên 8 (cho phép scale up lớn hơn để xử lý workload lớn).
- Nhiệm vụ: Xác định ba phương pháp (methods) có thể sử dụng để thực hiện thay đổi này. Đây là câu hỏi multiple correct answers (mỗi lựa chọn đúng đáng 1 điểm), dựa trên các công cụ quản lý Azure ML phiên bản mới nhất đến năm 2026 (Azure ML SDK v2 và CLI v2 là tiêu chuẩn hiện tại, hỗ trợ đầy đủ scale settings qua API
scale_settings).
Câu hỏi kiểm tra kiến thức về các giao diện quản lý compute cluster trong Azure ML, nơi bạn có thể cập nhật min_nodes và max_nodes mà không cần tạo mới cluster. 📘
✅ Đáp án đúng và lý do lựa chọn
Các đáp án đúng là ba phương pháp sau, vì chúng hỗ trợ trực tiếp việc update scale settings của compute cluster qua giao diện người dùng hoặc SDK/CLI v2:
- MLClient class in Python SDK v2: Sử dụng
MLClient.compute.begin_create_or_update()với tham sốscale_settingsđể cập nhật min/max nodes. ✅ - Azure Machine Learning studio: Trong phần Compute > Manage, chọn cluster và chỉnh sửa scale settings trực tiếp qua UI. ✅
- Azure CLI ml extension v2: Lệnh
az ml compute update --name <name> --min-nodes 0 --max-nodes 8. ✅
Lý do chọn: Những công cụ này là cách chính thức và hoàn chỉnh để reconfigure compute mà AWS docs (Azure ML docs) khuyến nghị, hỗ trợ autoscaling và idle shutdown. Chúng cho phép thay đổi mà không downtime lớn. 🛠️
📋 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 một cách đầy đủ, giữ nguyên nội dung 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 (SDK v2, CLI v2).
-
Azure Machine Learning designer
❌ Sai: Azure ML Designer là công cụ low-code/no-code để thiết kế pipelines và workflows, không hỗ trợ quản lý hoặc reconfigure compute infrastructure như scale nodes. Nó chỉ sử dụng compute đã tồn tại, không chỉnh sửa min/max nodes. 🛑 -
MLClient class in Python SDK v2
✅ Đúng: Trong Azure ML Python SDK v2 (azure-ai-ml package >=1.0), lớpMLClientcho phép update compute quaml_client.compute.begin_create_or_update(Compute.from_dict(compute_name, dict(scale_settings=ScaleSettings(min_node_count=0, max_node_count=8)))). Đây là cách programmatic chuẩn, hỗ trợ async update. 🐍 -
Azure Machine Learning studio
✅ Đúng: Azure ML Studio (studio.azureml.net) có giao diện web Manage compute nơi bạn chọn cluster, click Edit và thay đổi Minimum nodes thành 0, Maximum nodes thành 8, sau đó Apply. Hoàn toàn trực quan và không cần code. 🌐 -
Azure CLI ml extension v2
✅ Đúng: Với Azure CLI extensionmlv2 (az ml compute update --resource-group <rg> --workspace-name <ws> --name <cluster> --min-nodes 0 --max-nodes 8), lệnh này trực tiếp cập nhật scale settings. Hỗ trợ scripting và CI/CD. ⌨️ -
BuildContext class in Python SDK v2
❌ Sai:BuildContexttrong SDK v2 dùng để build custom Docker images cho environments hoặc components (như trongml_client.environments.create_or_update()), không liên quan đến việc scale compute cluster. Nó chỉ xử lý build artifacts, không chỉnh min/max nodes. 🚫
📚 Tài liệu tham khảo
- Azure ML Docs (Scale a machine learning compute cluster): docs.microsoft.com/azure/machine-learning/how-to-scale-clusters (cập nhật 2024-2026).
- Python SDK v2: azure-ai-ml reference - MLClient.compute.
- CLI v2: az ml compute update.
- Studio UI: Azure ML Studio Compute Management.
Hy vọng phân tích này giúp bạn nắm vững! Nếu cần code sample, hãy hỏi thêm nhé. 🚀
You need to control whether automated machine learning automatically imputes missing values and encode categorical features as part of the training task.
Which enum of the automl package should you use?
- A ForecastHorizonMode
- B RegressionModels
- C FeaturizationMode
- D RegressionPrimaryMetrics
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 sử dụng Automated Machine Learning (AutoML) trong Azure Machine Learning Python SDK v2 để huấn luyện một mô hình regression. Dữ liệu đầu vào có giá trị thiếu (missing values) trong các đặc trưng (features) và đặc trưng phân loại (categorical features) với số lượng giá trị phân biệt ít.
Người dùng cần kiểm soát xem AutoML có tự động điền giá trị thiếu (impute missing values) và mã hóa đặc trưng phân loại (encode categorical features) hay không trong quá trình huấn luyện. Câu hỏi yêu cầu xác định enum (giá trị liệt kê) trong package automl phù hợp để thực hiện điều này.
📘 Bối cảnh kỹ thuật: Trong Azure ML AutoML, quá trình featurization (chuyển đổi đặc trưng) bao gồm tự động xử lý missing values (ví dụ: dùng mean/median) và one-hot encoding cho categorical features. Bạn có thể bật/tắt hoặc tùy chỉnh qua một enum cụ thể khi thiết lập task regression.
✅ Đáp án đúng: FeaturizationMode
Lý do lựa chọn:
Enum FeaturizationMode từ package azure.ai.ml.automl cho phép kiểm soát chính xác quá trình featurization trong AutoML, bao gồm việc tự động impute missing values và encode categorical features. Các giá trị có thể sử dụng:
'Auto'(mặc định: tự động xử lý).'Off'(tắt hoàn toàn featurization).'Custom'(tùy chỉnh qua FeaturizationConfig).
Ví dụ code (SDK v2 mới nhất 2024-2026):
from azure.ai.ml.automl import FeaturizationMode
regression_job = automl.regression(
featurization=FeaturizationMode.OFF # Tắt tự động impute và encode
)
🛠️ Điều này trực tiếp đáp ứng yêu cầu "control whether automated machine learning automatically imputes missing values and encode categorical features".
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ ForecastHorizonMode:
Phương án này sai vì nó chỉ liên quan đến cấu hình forecast horizon (khoảng thời gian dự báo) trong các task time-series forecasting, không dùng cho regression thông thường. Nó không kiểm soát featurization hay xử lý missing/categorical features. -
❌ RegressionModels:
Phương án này sai vì nó dùng để chỉ định danh sách các mô hình regression được phép sử dụng trong AutoML (ví dụ: 'linear', 'lightgbm'). Không liên quan đến việc impute missing values hoặc encode categorical. -
✅ FeaturizationMode:
Phương án này đúng như đã giải thích ở trên. Đây là enum duy nhất kiểm soát toàn bộ quá trình featurization tự động trong AutoML regression, phù hợp với dữ liệu có missing values và categorical features. -
❌ RegressionPrimaryMetrics:
Phương án này sai vì nó dùng để chọn metrics chính đánh giá mô hình regression (ví dụ: 'r2', 'normalized_root_mean_squared_error'). Không ảnh hưởng đến featurization hay xử lý dữ liệu đầu vào.
📚 Tài liệu tham khảo (cập nhật mới nhất đến 2026)
- Azure ML Python SDK v2 Docs: FeaturizationMode (phiên bản 1.17+).
- AutoML Regression Guide: learn.microsoft.com/en-us/azure/machine-learning/how-to-automated-ml-for-regression.
- Changelog SDK v2 (2024-2026): Không thay đổi core featurization; hỗ trợ thêm custom transformers từ bản 1.15.
Hy vọng phân tích này giúp bạn nắm vững Azure AutoML! 🚀 Nếu cần code demo đầy đủ, hãy cho tôi biết nhé!