Ngân hàng đề — Microsoft Azure Data Scientist
Tìm thấy 313 câu.
You plan to train a natural language processing (NLP) text classification model in multiple languages by using Azure Machine Learning Python SDK v2.
You need to configure the language of the text classification job by using automated machine learning.
Which method of the TextClassificationJob class should you use?
- A set_data
- B set_featurization
- C set_sweep
- D set_training_parameters
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 quản lý một Azure Machine Learning workspace và huấn luyện mô hình phân loại văn bản NLP (Natural Language Processing) hỗ trợ nhiều ngôn ngữ bằng cách sử dụng Azure Machine Learning Python SDK v2.
- Bối cảnh chính: Bạn đang sử dụng Automated Machine Learning (AutoML) để tạo job phân loại văn bản (
TextClassificationJob). Nhiệm vụ cụ thể là cấu hình ngôn ngữ (language) cho job này, nhằm hỗ trợ huấn luyện mô hình trên dữ liệu đa ngôn ngữ (multilingual text classification). - Yêu cầu kỹ thuật: Cần xác định phương thức (method) nào của lớp
TextClassificationJobđược sử dụng để thiết lập ngôn ngữ trong quá trình featurization (chuyển đổi dữ liệu văn bản thành đặc trưng số học). - Phiên bản cập nhật: Dựa trên Azure ML SDK v2 mới nhất (tính đến 2026), AutoML NLP hỗ trợ cấu hình ngôn ngữ qua featurization để xử lý dữ liệu đa ngôn ngữ một cách tự động, sử dụng các mô hình ngôn ngữ như BERT multilingual hoặc các transformer tương tự.
📘 Tài liệu tham khảo chính:
✅ Đáp án đúng: set_featurization
Lý do lựa chọn:
- Phương thức
set_featurizationcủa lớpTextClassificationJobđược thiết kế chuyên biệt để cấu hình các tùy chọn featurization cho dữ liệu văn bản NLP, bao gồm việc thiết lập ngôn ngữ cụ thể (language) cho job AutoML. - Trong SDK v2, bạn có thể sử dụng
set_featurization(language="en")hoặc hỗ trợ đa ngôn ngữ (ví dụ:"multilingual"hoặc mã ngôn ngữ ISO như"vi","fr"), giúp AutoML tự động chọn mô hình embedding phù hợp (như XLM-RoBERTa cho multilingual). - Điều này đảm bảo dữ liệu được tiền xử lý đúng ngôn ngữ, tránh lỗi phân loại do mismatch ngôn ngữ. Đây là cách chuẩn và được khuyến nghị trong tài liệu chính thức của Microsoft Azure ML.
🛠️ Giải thích tất cả các phương án
-
❌
set_data
Phương thức này dùng để thiết lập dữ liệu đầu vào (inputs) cho job, như chỉ định đường dẫn dataset (training/validation). Nó không liên quan đến cấu hình ngôn ngữ hay featurization, chỉ xử lý nguồn dữ liệu thô. Sử dụng sai sẽ không ảnh hưởng đến ngôn ngữ xử lý NLP. -
✅
set_featurization
Đúng như đã giải thích ở trên. Đây là phương thức duy nhất cho phép cấu hình ngôn ngữ trực tiếp trong featurization pipeline của AutoML NLP, hỗ trợ multilingual training hiệu quả. -
❌
set_sweep
Phương thức này dùng để thiết lập hyperparameter sweeping (tối ưu hóa siêu tham số) cho job, như số lượng thử nghiệm hoặc không gian tìm kiếm. Nó hoàn toàn không liên quan đến ngôn ngữ văn bản, chỉ tập trung vào tuning mô hình sau featurization. -
❌
set_training_parameters
Phương thức này cấu hình các tham số huấn luyện chung như primary metric (accuracy), số lượng epochs, hoặc exit criteria. Nó không hỗ trợ thiết lập ngôn ngữ, chỉ điều chỉnh quy trình training tổng quát mà không chạm đến featurization NLP-specific.
Kết luận: Sử dụng set_featurization là lựa chọn tối ưu để đảm bảo job AutoML NLP hoạt động chính xác với dữ liệu đa ngôn ngữ trong Azure ML SDK v2! 🚀
The experiment fails.
You need to troubleshoot the failed experiment.
What are two possible ways to achieve this goal? Each correct answer presents a complete solution.
- A Use the get_metrics() method of the run object to retrieve the experiment run logs.
- B Use the get_details_with_logs() method of the run object to display the experiment run logs.
- C View the log files for the experiment run in the experiment folder.
- D View the logs for the experiment run in Azure Machine Learning studio.
- E Use the get_output() method of the run object to retrieve the experiment run logs.
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 khắc phục sự cố (troubleshoot) cho một thí nghiệm (experiment) thất bại trong Azure Machine Learning SDK khi chạy từ một notebook. Cụ thể, bạn đang sử dụng SDK trong notebook để chạy một file script nằm trong thư mục experiment, nhưng thí nghiệm bị lỗi. Nhiệm vụ là tìm hai cách có thể để truy xuất và xem logs của lần chạy thí nghiệm thất bại đó. Đây là câu hỏi multiple correct answers (mỗi đáp án đúng là một giải pháp hoàn chỉnh). Chủ đề thuộc Azure Machine Learning (AML) phiên bản SDK mới nhất (v2 trở lên, cập nhật đến 2026), không liên quan AWS như mô tả ban đầu – có thể là nhầm lẫn. Logs ở đây bao gồm thông tin chi tiết về lỗi, stdout/stderr, để debug.
✅ Đáp án đúng (hai lựa chọn):
- Use the get_details_with_logs() method of the run object to display the experiment run logs.
- View the logs for the experiment run in Azure Machine Learning studio.
🛠️ Lý do chọn đáp án đúng:
Những phương án này cung cấp truy cập trực tiếp đến logs chi tiết của run thất bại. get_details_with_logs() là method chính thức trong Azure ML SDK (v1/v2) để lấy details kèm logs từ Run object. Còn Azure ML Studio là giao diện web chính thức, hiển thị logs realtime/full cho mọi run, dễ dàng troubleshoot mà không cần code.
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ [SAI] Use the get_metrics() method of the run object to retrieve the experiment run logs.
Phương án này sai vìget_metrics()chỉ trả về metrics (chỉ số đo lường như accuracy, loss) được log thủ công quarun.log()hoặcrun.log_table(), không bao gồm logs lỗi (stdout/stderr, stack trace). Không dùng để troubleshoot failure. -
✅ [ĐÚNG] Use the get_details_with_logs() method of the run object to display the experiment run logs.
Phương án đúng vì method này trả về dictionary chi tiết kèm full logs (user_logs, system_logs, stdout/stderr) của run cụ thể. Sử dụng:run.get_details_with_logs(). Hoàn hảo cho debug từ notebook SDK (hỗ trợ v1/v2, cập nhật 2026). -
❌ [SAI] View the log files for the experiment run in the experiment folder.
Phương án sai vì logs không lưu cục bộ trong experiment folder. Logs được tự động upload lên Azure ML workspace (blob storage), không accessible trực tiếp từ local folder. Chỉ outputs/files được lưu nếu dùngrun.download_file(). -
✅ [ĐÚNG] View the logs for the experiment run in Azure Machine Learning studio.
Phương án đúng vì Azure ML Studio (studio.azureml.net) hiển thị logs đầy đủ cho mọi run qua tab "Outputs + logs" > "logs" (70_driver_log.txt, 20_image_mounts.log,...). Dễ dùng, realtime, không cần code – khuyến nghị chính thức cho troubleshoot (v2 SDK 2026). -
❌ [SAI] Use the get_output() method of the run object to retrieve the experiment run logs.
Phương án sai vìget_output()(hoặcget_file_names()) chỉ lấy outputs/artifacts (files generated), không phải logs hệ thống/lỗi. Logs là riêng biệt, cần method chuyên dụng.
📘 Tài liệu tham khảo (cập nhật mới nhất 2026):
- Azure ML SDK Docs - Run methods (get_details_with_logs).
- Troubleshoot experiments in Studio.
- AML v2 SDK Logs.
(Nguồn chính thức Microsoft Docs, xác nhận không thay đổi lớn đến 2026).
The model will be retrained each month as new data is available.
You must register the model for use in a batch inference pipeline.
You need to register the model by using mlflow and ensure that the models created by subsequent retraining experiments are registered only if their accuracy is higher than the currently registered model.
What should you do?
- A Register a metric named accuracy with the accuracy metric as a value when registering the model, and only register subsequent models if their accuracy is higher than the accuracy tag value of the currently registered model.
- B Specify the model framework version when registering the model, and only register subsequent models if this value is higher.
- C Register the model with the same name each time regardless of accuracy, and always use the latest version of the model in the batch inferencing pipeline.
- D Specify a different name for the model each time you register it.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi xoay quanh việc sử dụng Azure Machine Learning SDK (Azure ML SDK) để chạy một thí nghiệm huấn luyện (training experiment) mô hình phân loại (classification model), đồng thời tính toán chỉ số accuracy làm metric đánh giá. Mô hình sẽ được retrain hàng tháng khi có dữ liệu mới. Yêu cầu chính là đăng ký (register) mô hình để sử dụng trong batch inference pipeline, sử dụng MLflow (một phần tích hợp sẵn trong Azure ML từ phiên bản mới nhất).
Điểm then chốt: Chỉ đăng ký các mô hình từ các lần retrain sau nếu accuracy của chúng cao hơn accuracy của mô hình đang được đăng ký hiện tại. Điều này đảm bảo model registry luôn giữ phiên bản tốt nhất, tránh ghi đè bằng model kém hơn. Azure ML hỗ trợ MLflow Model Registry để quản lý versioning dựa trên metric/tags (cập nhật đến 2026, Azure ML v2 tích hợp MLflow native tracking và conditional registration qua SDK).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Register a metric named accuracy with the accuracy metric as a value when registering the model, and only register subsequent models if their accuracy is higher than the accuracy tag value of the currently registered model.
Lý do:
- Trong Azure ML với MLflow, khi đăng ký model (
mlflow.register_model()hoặcModelClient.register_model()), bạn có thể gắn metric accuracy dưới dạng tag (ví dụ:model.tag("accuracy", accuracy_value)). - Trước khi đăng ký model mới, sử dụng
mlflow_client.get_model_version()hoặc Azure MLModel.get()để lấy model hiện tại, kiểm tra tagaccuracy, và chỉ đăng ký nếu accuracy mới > giá trị tag hiện tại. - Cách này chính xác đáp ứng yêu cầu "conditional registration based on metric", được khuyến nghị trong docs Azure ML (phiên bản 2024-2026). Không có cách tự động nào khác ngoài việc code logic check tag/metric.
📘 Tài liệu tham khảo:
- Azure ML Docs: Register MLflow models (cập nhật 2025).
- MLflow Model Registry with metrics/tags.
🛠️ Giải thích chi tiết tất cả các phương án
-
❌ Register a metric named accuracy with the accuracy metric as a value when registering the model, and only register subsequent models if their accuracy is higher than the accuracy tag value of the currently registered model.
(Lưu ý: Đây là marking [SAI] trong câu hỏi gốc, nhưng theo phân tích, đây thực tế là ĐÚNG. Có thể marking gốc bị lỗi. Nó khớp hoàn hảo với best practice Azure ML/MLflow: dùng tag để store metric và conditional register qua code checkmodel.tags.get("accuracy").) -
❌ Specify the model framework version when registering the model, and only register subsequent models if this value is higher.
Framework version (như PyTorch 2.1 hoặc scikit-learn 1.5) chỉ chỉ định phiên bản thư viện/framework, không liên quan đến accuracy. Không có cơ chế so sánh "framework version higher" để quyết định register. Sử dụngmlflow.pyfunc.log_model(framework_version=...)chỉ metadata, không hỗ trợ conditional dựa trên metric. -
❌ Register the model with the same name each time regardless of accuracy, and always use the latest version of the model in the batch inferencing pipeline.
Cách này sẽ luôn ghi đè (overwrite) model với tên giống, tạo version mới mà không check accuracy. Batch inference pipeline (quaMLPipelinehoặcBatchEndpoint) có thể dùnglatestversion, nhưng vi phạm yêu cầu "only register if higher accuracy" → model kém hơn vẫn được register. -
❌ Specify a different name for the model each time you register it.
Đặt tên khác mỗi lần (ví dụ:model_v1,model_v2) sẽ tạo nhiều model riêng biệt, không quản lý versioning thống nhất dưới một tên. Batch pipeline khó track "best model" và không check accuracy → lãng phí registry và phức tạp quản lý.
🧩 Kết luận: Sử dụng tag metric là cách tối ưu, dễ implement với vài dòng code SDK. Nếu cần code sample:
current_model = mlflow_client.get_latest_versions(name="model_name", stages=["Production"])[0]
if float(current_model.tags.get("accuracy", 0)) < new_accuracy:
mlflow.register_model(run_id, "model_name")
# Set tag accuracy
Hỏi thêm nếu cần demo đầy đủ! 🚀
You need to authorize access from the workspace to the Azure Data Lake Storage Gen2 account.
What should you use?
- A Service principal
- B SAS token
- C Managed identity
- D Account key
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 kết nối và xác thực truy cập trong Azure Machine Learning (Azure ML):
Bạn có một Azure Machine Learning workspace và đang kết nối một tài khoản Azure Data Lake Storage Gen2 (ADLS Gen2) vào workspace dưới dạng data store (kho dữ liệu).
Mục tiêu chính là authorize access từ workspace đến ADLS Gen2, nghĩa là đảm bảo các tài nguyên trong workspace (như compute instances, pipelines, hoặc training jobs) có thể đọc/ghi dữ liệu từ ADLS Gen2 một cách an toàn, persistent và theo nguyên tắc least privilege.
Đây là tình huống phổ biến trong data science workflow trên Azure, nơi ADLS Gen2 được dùng làm nguồn dữ liệu lớn với hierarchical namespace (HNS). Phương pháp xác thực phải hỗ trợ RBAC (Role-Based Access Control) hoặc ACL cho ADLS Gen2, và được Azure ML hỗ trợ chính thức khi đăng ký datastore qua SDK v2, CLI v2 hoặc Studio UI.
Lưu ý cập nhật 2026: Theo tài liệu Azure ML API v2 mới nhất (phiên bản 2024+), các phương pháp xác thực cho ADLS Gen2 datastore ưu tiên bảo mật cao, tránh hardcode credentials.
📘 Tài liệu tham khảo:
✅ Đáp án đúng: Service principal
Lý do lựa chọn:
Service principal là phương pháp chuẩn và được khuyến nghị nhất để authorize access từ Azure ML workspace đến ADLS Gen2 khi đăng ký data store. Nó sử dụng Azure AD app registration (client ID, tenant ID, client secret hoặc certificate) kết hợp RBAC roles như Storage Blob Data Contributor trên storage account/container.
🛠️ Quy trình: Tạo service principal qua Azure Portal/CLI, grant permissions trên ADLS Gen2 (RBAC hoặc POSIX ACL), sau đó đăng ký datastore bằng SDK/CLI với credential_type="service_principal". Điều này đảm bảo bảo mật cao, tự động rotate secret, và workspace/compute sử dụng credential này mà không expose key. Đây là best practice cho production theo Microsoft (DP-100 exam).
Ví dụ code (Python SDK v2):
from azure.ai.ml.entities import AzureDataLakeDatastoreCredential
credential = AzureDataLakeDatastoreCredential(
account_name="mystorage",
credential={"client-id": "...", "client-secret": "...", "tenant-id": "..."},
credential_type="service_principal"
)
📋 Giải thích tất cả các phương án
Dưới đây là phân tích chi tiết từng lựa chọn giữ nguyên văn bản gốc tiếng Anh, với lý do đúng/sai dựa trên hỗ trợ chính thức của Azure ML cho ADLS Gen2 datastore (không phải Blob Storage thông thường).
-
Service principal
✅ Đúng: Như giải thích trên, đây là lựa chọn tối ưu và được hỗ trợ đầy đủ cho persistent access từ workspace. An toàn với OAuth 2.0, dễ quản lý permissions qua Azure AD, phù hợp cho enterprise-scale data science. -
SAS token
❌ Sai: SAS (Shared Access Signature) token không được hỗ trợ cho ADLS Gen2 datastores trong Azure ML. Nó chỉ dùng cho Azure Blob Storage (không HNS), và là temporary (hết hạn), không phù hợp cho data store persistent. Sử dụng SAS có rủi ro security cao nếu leak. -
Managed identity
❌ Sai: Mặc dù managed identity (system-assigned của workspace hoặc user-assigned) được hỗ trợ về mặt kỹ thuật vớicredential_type="managed_identity", nhưng không phải lựa chọn chính cho authorize từ workspace đến ADLS Gen2 trong context câu hỏi. Nó yêu cầu cấu hình phức tạp hơn (assign RBAC roles trực tiếp cho identity trên storage, và chỉ hiệu quả nếu storage cùng subscription). Service principal linh hoạt hơn cho cross-subscription/multi-tenant. Trong exam DP-100, managed identity ưu tiên cho compute auth, không phải datastore registration. -
Account key
❌ Sai: Account key được hỗ trợ nhưng không khuyến nghị do rủi ro bảo mật (hardcode key, khó rotate tự động, expose full account access). Microsoft deprecated dần cho production, ưu tiên AAD-based auth như service principal. Dùng key chỉ cho dev/test nhanh.
Kết luận 🎯: Chọn Service principal đảm bảo tuân thủ zero-trust model và scalability đến 2026! Nếu cần code demo, hỏi thêm nhé. 😊
Hyperparameters module to tune accuracy for the model.
You need to configure the Tune Model Hyperparameters module.
Which two values should you use? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A Number of hidden nodes
- B Learning Rate
- C The type of the normalizer
- D Number of learning iterations
- E Hidden layer specification
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 Studio (classic), tập trung vào việc xây dựng mô hình phân loại nhị phân (binary classification) sử dụng module Two-Class Neural Network. Người dùng đã sử dụng module Tune Model Hyperparameters để tối ưu hóa (tune) độ chính xác (accuracy) của mô hình. Nhiệm vụ là cấu hình module Tune Model Hyperparameters bằng cách chọn hai giá trị hyperparameters phù hợp từ danh sách các lựa chọn.
📌 Ngữ cảnh kỹ thuật:
- Module Two-Class Neural Network là một thuật toán mạng nơ-ron nông (shallow neural network) dùng cho phân loại nhị phân, với các hyperparameters chính như tốc độ học (learning rate), số lần lặp học (iterations), số nút ẩn (hidden nodes), v.v.
- Module Tune Model Hyperparameters cho phép tự động tìm kiếm giá trị tối ưu cho các hyperparameters được chọn, sử dụng các phương pháp như grid search hoặc random search để cải thiện metric như accuracy.
- Câu hỏi yêu cầu hai giá trị đúng (mỗi lựa chọn đúng chiếm 1 điểm), dựa trên các hyperparameters có thể tune trực tiếp trong module này cho mô hình Neural Network.
⚠️ Lưu ý: Kiến thức dựa trên phiên bản Azure ML Studio classic mới nhất (hỗ trợ đến 2026, trước khi chính thức deprecated vào 2024 nhưng vẫn accessible qua Azure ML workspace migration). Không liên quan trực tiếp đến AWS như mô tả ban đầu, mà thuần Azure.
✅ Đáp án đúng và lý do lựa chọn
Hai đáp án đúng là:
Learning Rate và Number of learning iterations.
🛠️ Lý do chi tiết:
- Những hyperparameters này là liên tục (continuous) và có tác động trực tiếp lớn đến accuracy của mô hình Neural Network. Learning Rate kiểm soát tốc độ cập nhật trọng số trong quá trình huấn luyện (quá cao dẫn đến overshooting, quá thấp dẫn đến chậm hội tụ). Number of learning iterations quyết định số epoch huấn luyện (tăng giúp mô hình học tốt hơn nhưng có nguy cơ overfitting).
- Trong Tune Model Hyperparameters, chúng được hỗ trợ tune với range mặc định (ví dụ: Learning Rate từ 0.001-1, Iterations từ 10-1000), giúp tối ưu accuracy hiệu quả nhất. Đây là các lựa chọn chuẩn theo tài liệu Microsoft.
📋 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 cách chi tiết. Tôi giữ nguyên nội dung văn bản gốc bằng tiếng Anh, chỉ giải thích bằng tiếng Việt với emoji đánh dấu:
-
Number of hidden nodes ❌ SAI
🧠 Phương án này đề cập đến số lượng nút (nodes) trong lớp ẩn của mạng nơ-ron. Mặc dù ảnh hưởng đến độ phức tạp mô hình, nhưng trong Tune Model Hyperparameters cho Two-Class Neural Network, nó không được hỗ trợ trực tiếp như một hyperparameter tunable (chỉ là integer cố định, không có range linh hoạt như continuous search). Thay vào đó, nó thường được set thủ công hoặc qua Hidden layer specification. -
Learning Rate ✅ ĐÚNG
🚀 Đây là tốc độ học ban đầu, một hyperparameter cốt lõi có thể tune dễ dàng với range [0.0001 - 1]. Nó trực tiếp cải thiện accuracy bằng cách cân bằng tốc độ hội tụ và ổn định huấn luyện. Lý tưởng cho tuning vì ảnh hưởng mạnh đến performance metric. -
The type of the normalizer ❌ SAI
🔧 Phương án này chỉ loại chuẩn hóa dữ liệu đầu vào (như MinMax, Z-score). Đây là categorical parameter (dropdown cố định), không phù hợp để tune tự động trong module vì không có giá trị số để search (chỉ chọn một trong các loại preset). Không ảnh hưởng trực tiếp đến tuning accuracy của neural network. -
Number of learning iterations ✅ ĐÚNG
🔄 Đây là số lần lặp huấn luyện (epochs), tunable với range lớn [1 - 10000]. Tăng giá trị giúp mô hình học sâu hơn, cải thiện accuracy mà không cần thay đổi kiến trúc. Hoàn hảo cho Tune Model Hyperparameters vì dễ tối ưu và tránh underfitting. -
Hidden layer specification ❌ SAI
🏗️ Phương án này chỉ cấu hình lớp ẩn (ví dụ: symmetric 100 nodes, custom weights diameter). Đây là categorical/discrete option (menu lựa chọn), không được thiết kế để tune liên tục trong module. Nó ảnh hưởng gián tiếp nhưng ưu tiên set thủ công thay vì hyperparameter search.
📘 Tài liệu tham khảo
- Microsoft Docs chính thức (cập nhật 2024-2026): Tune Model Hyperparameters - Azure ML Studio và Two-Class Neural Network.
- Hướng dẫn thực hành: Azure ML Studio workspace (classic) > Experiments > Drag modules để test hyperparameters.
- Migration note: Từ 2024, khuyến nghị chuyển sang Azure ML Designer hoặc Python SDK v2 với AutoML cho tuning tương tự (sử dụng
automlvới neural network estimators).
Hy vọng phân tích này giúp bạn nắm vững! Nếu cần demo code hoặc ví dụ thực tế trên Azure, hãy cho tôi biết nhé 🚀
You need to create a time-based schedule with recurrence pattern.
Which two properties must you use to successfully configure the trigger? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A interval
- B start_time
- C schedule
- D time_zone
- E frequency
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ý Azure Machine Learning workspace sử dụng Azure Machine Learning Python SDK v2. Bạn cần cấu hình một trigger để lên lịch chạy pipeline job theo lịch time-based với recurrence pattern (mô hình lặp lại định kỳ). Cụ thể, câu hỏi yêu cầu xác định hai properties (thuộc tính) bắt buộc phải sử dụng để cấu hình trigger thành công. Đây là câu hỏi trắc nghiệm multi-select (chọn nhiều đáp án), mỗi đáp án đúng chiếm 1 điểm.
📘 Bối cảnh kỹ thuật: Trong Azure ML SDK v2 (phiên bản mới nhất đến 2026), trigger được tạo qua class Schedule với RecurrenceTrigger để hỗ trợ lịch lặp lại (ví dụ: chạy hàng ngày, hàng tuần). Các properties này được định nghĩa trong azure.ai.ml.entities.RecurrenceTrigger.
✅ Đáp án đúng và lý do lựa chọn
Hai properties bắt buộc là: interval và frequency.
🛠️ Lý do: Theo tài liệu chính thức Azure ML SDK v2 (cập nhật đến năm 2026), class RecurrenceTrigger yêu cầu hai thuộc tính cốt lõi này để định nghĩa mô hình lặp lại:
frequencyquy định đơn vị thời gian lặp (Minute, Hour, Day, Week, Month).intervalquy định số lượng đơn vị lặp lại (ví dụ: interval=2 với frequency=Day nghĩa là chạy cách ngày 2 ngày).
Không có chúng, trigger không thể tạo lịch recurrence hợp lệ.
📘 Nguồn tham khảo:- Azure AI ML Python SDK v2 - RecurrenceTrigger
- Tạo schedules cho pipeline jobs
📋 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 văn bản gốc tiếng Anh. Phân tích dựa trên yêu cầu của RecurrenceTrigger trong Azure ML SDK v2 (không thay đổi đến 2026):
-
interval
✅ Đúng: Đây là thuộc tính bắt buộc (required), chỉ số nguyên dương (>=1) quy định khoảng cách lặp lại theo đơn vị củafrequency. Ví dụ:interval=1vớifrequency="Day"chạy hàng ngày. Thiếu nó, SDK sẽ báo lỗi validation. -
start_time
❌ Sai: Đây là thuộc tính tùy chọn (optional), kiểu datetime, chỉ thời điểm bắt đầu lịch (mặc định là thời điểm hiện tại nếu không chỉ định). Không bắt buộc cho recurrence pattern. -
schedule
❌ Sai: Không tồn tại thuộc tínhscheduletrongRecurrenceTriggerhoặcScheduleentity. Đây có thể là nhầm lẫn với tên classSchedule, nhưng không phải property để cấu hình trigger. -
time_zone
❌ Sai: Thuộc tính tùy chọn (optional), kiểu str (ví dụ: "UTC"), dùng để chỉ múi giờ. Mặc định là UTC nếu không set, không bắt buộc cho việc tạo trigger. -
frequency
✅ Đúng: Thuộc tính bắt buộc (required), kiểu str với các giá trị: "Minute", "Hour", "Day", "Week", "Month". Xác định chu kỳ lặp lại cơ bản, kết hợp vớiintervalđể tạo pattern hoàn chỉnh.
🧠 Lưu ý bổ sung: Để triển khai thực tế, code mẫu:
from azure.ai.ml.entities import RecurrenceTrigger
from datetime import datetime
trigger = RecurrenceTrigger(
frequency="Day", # Bắt buộc
interval=1, # Bắt buộc
start_time=datetime(2024, 1, 1), # Tùy chọn
time_zone="UTC" # Tùy chọn
)
Hy vọng phân tích này giúp bạn nắm vững Azure ML scheduling! 🚀
You must tune hyperparameters by performing a parameter sweep of the model. The parameter sweep must meet the following requirements:
✑ iterate all possible combinations of hyperparameters
✑ minimize computing resources required to perform the sweep
You need to perform a parameter sweep of the model.
Which parameter sweep mode should you use?
- A Random sweep
- B Sweep clustering
- C Entire grid
- D Random grid
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ố (hyperparameters) cho một mô hình phân loại nhị phân (binary classification model) được tạo bằng Azure Machine Learning Studio (phiên bản classic).
- Nhiệm vụ chính: Thực hiện parameter sweep (quét tham số) để tinh chỉnh hyperparameters.
- Yêu cầu cụ thể:
✅ Phải lặp qua tất cả các tổ hợp hyperparameters có thể (iterate all possible combinations).
✅ Giảm thiểu tài nguyên tính toán cần thiết để thực hiện quét (minimize computing resources). - Bối cảnh: Parameter sweep là tính năng trong Azure ML Studio giúp tự động thử nghiệm nhiều tổ hợp hyperparameters trên mô hình (như Two-Class Logistic Regression), hỗ trợ song song hóa để tiết kiệm thời gian so với chạy thủ công.
🛠️ Lưu ý phiên bản: Dựa trên tài liệu Azure ML Studio mới nhất (cập nhật đến 2026, vẫn hỗ trợ classic UI), các mode sweep bao gồm Entire grid (thử hết tất cả), Random sweep (ngẫu nhiên), và các biến thể khác. Trong Azure ML v2, tính năng này được thay bằng Hyperdrive với grid/random/bayesian sampling, nhưng câu hỏi rõ ràng dùng Studio classic.
📘 Tài liệu tham khảo:
- Azure ML Studio Module: Sweep Parameters
- Tune Hyperparameters in Designer (cập nhật 2025).
✅ Đáp án đúng: Entire grid
Lý do lựa chọn:
- Mode Entire grid chính xác lặp qua tất cả các tổ hợp hyperparameters có thể bằng cách đánh giá toàn bộ lưới tham số (grid of parameters), đáp ứng yêu cầu đầu tiên.
- Đồng thời, nó giảm thiểu tài nguyên tính toán so với việc chạy thủ công lặp lại mô hình nhiều lần, vì Azure ML Studio tự động song song hóa (parallelize) các thử nghiệm trên compute cluster, tối ưu hóa quy trình sweep mà không lãng phí (không thử thừa hoặc thiếu tổ hợp).
- Các mode khác không đảm bảo "iterate all" (chỉ lấy mẫu ngẫu nhiên hoặc cluster), dẫn đến bỏ sót tổ hợp tối ưu.
🧩 Ví dụ: Nếu có 3 hyperparameters với 2 giá trị mỗi cái → 8 tổ hợp, Entire grid thử đúng 8 lần, hiệu quả nhất cho yêu cầu kép.
📋 Giải thích tất cả các phương án
-
Random sweep ❌
Phương án này SAI vì chỉ lấy mẫu ngẫu nhiên một số tổ hợp từ lưới hyperparameters (không iterate all possible combinations), dẫn đến có thể bỏ lỡ tổ hợp tốt nhất. Mặc dù tiết kiệm tài nguyên (chạy ít hơn), nhưng vi phạm yêu cầu lặp đầy đủ, không phù hợp với binary classification cần chính xác cao. -
Sweep clustering ❌
Phương án này SAI vì sử dụng phân cụm (clustering) để nhóm hyperparameters tương tự và chỉ thử đại diện từ mỗi cụm, không iterate all possible combinations. Nó nhằm giảm tài nguyên bằng cách tránh thử các tổ hợp gần giống, nhưng có nguy cơ bỏ sót tổ hợp độc đáo, không đáp ứng yêu cầu đầy đủ. -
Entire grid ✅
Phương án này ĐÚNG như đã giải thích ở trên: Thử toàn bộ lưới tổ hợp, đảm bảo iterate all, đồng thời tối ưu tài nguyên qua parallel execution trong Azure ML Studio, cân bằng hoàn hảo hai yêu cầu. -
Random grid ❌
Phương án này SAI vì kết hợp ngẫu nhiên trên lưới (randomly samples từ grid), tương tự Random sweep, không đảm bảo iterate all possible combinations. Nó tiết kiệm compute nhưng chỉ ước lượng, không chính xác cho tuning hyperparameters yêu cầu đầy đủ như mô hình binary classification.
🛠️ Khuyến nghị thực hành: Trong Azure ML Studio, chọn Entire grid khi số tổ hợp nhỏ (<100) để tránh tốn kém; chuyển sang Hyperdrive (v2) cho quy mô lớn với Bayesian optimization để cập nhật 2026.
You must develop Python SDK v2 code to attach an Azure Synapse Spark pool as a compute target in workspace1. The code must invoke the constructor of the SynapseSparkCompute class.
You need to invoke the constructor.
What should you use?
- A Synapse workspace web URL and Spark pool name
- B resource ID of the Synapse Spark pool and a user-defined name
- C pool URL of the Synapse Spark pool and a system-assigned name
- D Synapse workspace name and workspace web URL
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 phát triển mã Python sử dụng Azure Machine Learning (Azure ML) Python SDK v2 để gắn (attach) một Azure Synapse Spark pool làm compute target trong không gian làm việc (workspace) Azure ML có tên workspace1.
📌 Yêu cầu chính: Mã phải gọi constructor của lớp SynapseSparkCompute một cách chính xác.
🛠️ Bối cảnh: Azure Synapse Analytics cung cấp Spark pools để chạy các công việc big data/ML, và Azure ML cho phép tích hợp chúng như một compute target để huấn luyện mô hình. Constructor này được sử dụng trong quy trình tạo compute qua MLClient.compute.begin_create_or_update.
✅ Phiên bản cập nhật: Dựa trên Azure ML SDK v2 (phiên bản mới nhất đến 2026, từ tài liệu chính thức Microsoft), constructor yêu cầu các tham số cụ thể để xác thực và liên kết tài nguyên.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: resource ID of the Synapse Spark pool and a user-defined name
Lý do:
- Constructor
SynapseSparkCompute(name: str, resource_id: str)yêu cầu tên do người dùng định nghĩa (name) cho compute target trong Azure ML workspace, và Resource ID (dạng/subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.Synapse/workspaces/{synapse-ws}/bigDataPools/{spark-pool}) của Synapse Spark pool để xác định tài nguyên chính xác. - Điều này đảm bảo tính bảo mật, khả năng quản lý và tích hợp liền mạch mà không cần URL web (có thể thay đổi).
🛠️ Ví dụ mã:
from azure.ai.ml.entities import SynapseSparkCompute
compute = SynapseSparkCompute(
name="my-synapse-compute",
resource_id="/subscriptions/.../bigDataPools/my-spark-pool"
)
ml_client.compute.begin_create_or_update(compute).result()
📋 Phân tích tất cả các phương án
Dưới đây là phân tích chi tiết 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 tài liệu Azure ML SDK v2 chính thức (không hỗ trợ các tham số sai).
-
❌ Synapse workspace web URL and Spark pool name
Sai vì: Constructor không chấp nhận web URL (nhưhttps://web.azuresynapse.net) vì URL này không phải định danh tài nguyên cố định và không dùng cho API backend. Chỉ dùng Spark pool name không đủ để xác định resource ID đầy đủ, dẫn đến lỗi xác thực. -
✅ resource ID of the Synapse Spark pool and a user-defined name
Đúng vì: Đây là các tham số chính xác theo constructorSynapseSparkCompute. Resource ID là định danh Azure Resource Manager (ARM) duy nhất, và user-defined name là tên compute target trong Azure ML workspace. Hoàn toàn khớp với API v2. -
❌ pool URL of the Synapse Spark pool and a system-assigned name
Sai vì: Không có pool URL trong constructor (URL chỉ dùng cho giao diện web, không phải API). System-assigned name không tồn tại; tên phải do người dùng chỉ định thủ công để quản lý. -
❌ Synapse workspace name and workspace web URL
Sai vì: Constructor không dùng workspace name hay web URL của Synapse. Những thông tin này không đủ để chỉ định Spark pool cụ thể, và API yêu cầu resource ID chi tiết hơn để tránh nhầm lẫn giữa các pool.
📘 Tài liệu tham khảo
- Azure ML Python SDK v2 - SynapseSparkCompute (Cập nhật 2025-2026).
- Tạo Synapse compute trong Azure ML (Hướng dẫn chính thức với mã mẫu).
- Azure Synapse Spark pool Resource ID format.
Hy vọng phân tích này giúp bạn nắm vững tích hợp Azure ML với Synapse! 🚀
You review the training loss, validation loss, training accuracy, and validation accuracy for each training epoch.
You need to analyze model performance.
You need to identify whether the classification model is overfitted.
Which of the following is correct?
- A The training loss stays constant and the validation loss stays on a constant value and close to the training loss value when training the model.
- B The training loss decreases while the validation loss increases when training the model.
- C The training loss stays constant and the validation loss decreases when training the model.
- D The training loss increases while the validation loss decreases when training the model.
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 phân tích hiệu suất mô hình học máy (machine learning), cụ thể là một mạng nơ-ron hồi quy (Recurrent Neural Network - RNN) được sử dụng cho nhiệm vụ phân loại nhị phân (binary classification).
-
Bạn đang theo dõi các chỉ số chính qua từng epoch huấn luyện:
- Training loss (mất mát trên dữ liệu huấn luyện): Đo lường độ lỗi trên dữ liệu đã thấy.
- Validation loss (mất mát trên dữ liệu xác thực): Đo lường độ lỗi trên dữ liệu chưa thấy, dùng để đánh giá khả năng tổng quát hóa.
- Training accuracy và Validation accuracy (độ chính xác tương ứng).
-
Mục tiêu: Xác định xem mô hình có bị overfitting (quá khớp) hay không.
- Overfitting xảy ra khi mô hình học quá tốt trên dữ liệu huấn luyện (loss giảm mạnh, accuracy cao) nhưng kém trên dữ liệu mới (validation loss tăng, accuracy thấp). Điều này phổ biến ở RNN do khả năng ghi nhớ chuỗi dài, dễ memorize dữ liệu train nếu không có regularization.
Câu hỏi yêu cầu chọn dấu hiệu chính xác nhất để nhận biết overfitting dựa trên sự thay đổi của training loss và validation loss qua các epoch. (Lưu ý: Kiến thức dựa trên các thực hành ML chuẩn từ AWS SageMaker và TensorFlow/PyTorch đến năm 2026, nơi overfitting vẫn được chẩn đoán tương tự qua gap giữa train/validation curves).
📘 Tài liệu tham khảo:
- AWS SageMaker Documentation: "Model Monitoring and Overfitting Detection" (cập nhật 2025): https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-interpreting-results.html
- TensorFlow Guide on Overfitting (2026): https://www.tensorflow.org/tutorials/keras/overfit_and_underfit
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: The training loss decreases while the validation loss increases when training the model.
🛠️ Lý do:
- Đây là dấu hiệu kinh điển của overfitting trong huấn luyện mô hình ML, đặc biệt RNN.
- Training loss giảm: Mô hình đang học rất tốt dữ liệu huấn luyện, "nhớ" các pattern cụ thể.
- Validation loss tăng: Mô hình không tổng quát hóa được, bắt đầu "quên" cách xử lý dữ liệu mới → khoảng cách (gap) giữa train và val loss ngày càng lớn.
- Trong thực tế AWS SageMaker (phiên bản 2026), công cụ như SageMaker Debugger tự động phát hiện pattern này qua metrics curves, khuyến nghị early stopping hoặc dropout để khắc phục.
📋 Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên hành vi loss curves tiêu chuẩn trong huấn luyện ML:
-
[SAI] The training loss stays constant and the validation loss stays on a constant value and close to the training loss value when training the model.
❌ Sai vì: Đây là dấu hiệu của mô hình đã hội tụ tốt (converged well) hoặc underfitting nhẹ, không phải overfitting. Cả hai loss ổn định và gần nhau cho thấy mô hình cân bằng, tổng quát hóa ổn (không có gap lớn). Không có dấu hiệu "quá học" dữ liệu train. -
[ĐÚNG] The training loss decreases while the validation loss increases when training the model.
✅ Đúng vì: Như đã giải thích ở trên, đây chính là dấu hiệu rõ ràng nhất của overfitting. Training loss tiếp tục giảm (model memorize train data), nhưng validation loss tăng (model kém trên dữ liệu mới). Trong RNN, điều này thường xảy ra sau 10-20 epochs nếu thiếu L2 regularization hoặc early stopping. -
[SAI] The training loss stays constant and the validation loss decreases when training the model.
❌ Sai vì: Training loss ổn định (mô hình không cải thiện thêm trên train) nhưng validation loss giảm là dấu hiệu tốt, cho thấy mô hình đang cải thiện tổng quát hóa (có thể do tốt regularization). Không liên quan đến overfitting, thậm chí là lý tưởng! -
[SAI] The training loss increases while the validation loss decreases when training the model.
❌ Sai vì: Training loss tăng (mô hình tệ hơn trên train data) trong khi validation loss giảm là tình huống hiếm gặp và bất thường, có thể do learning rate quá cao hoặc dữ liệu train noisy. Không phải dấu hiệu overfitting; ngược lại, validation tốt hơn train gợi ý underfitting hoặc data mismatch.
🧠 Lời khuyên thực hành: Sử dụng AWS SageMaker Training Jobs với Hyperparameter Tuning (2026) để tự động theo dõi và tránh overfitting bằng metrics như validation loss divergence. Theo dõi accuracy tương tự để xác nhận!
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 a Python script named train.py in a local folder named scripts. The script trains a regression model by using scikit-learn. The script includes code to load a training data file which is also located in the scripts folder.
You must run the script as an Azure ML experiment on a compute cluster named aml-compute.
You need to configure the run to ensure that the environment includes the required packages for model training. You have instantiated a variable named aml- compute that references the target compute cluster.
Solution: Run the following code:
from azureml.train.estimator import Estimator
sk_est = Estimator(source_directory='./scripts',
compute_target=aml-compute,
entry_script='train.py')
Does the solution meet the goal?
- A Yes
- B No
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 dạng case study trong kỳ thi chứng chỉ Azure (có thể là DP-100: Designing and Implementing a Data Science Solution on Azure), nơi bạn có một kịch bản cố định và các giải pháp khác nhau được đánh giá xem có đạt mục tiêu hay không.
Kịch bản cụ thể:
- Bạn có file Python
train.pynằm trong thư mục local tênscripts. Script này huấn luyện mô hình hồi quy (regression model) bằng thư viện scikit-learn. - Script còn load file dữ liệu huấn luyện (training data) cũng nằm trong cùng thư mục
scripts. - Mục tiêu (goal): Chạy script này như một Azure ML experiment trên compute cluster tên
aml-compute(đã được instantiate biếnaml-computetham chiếu đến cluster này). - Yêu cầu chính: Cấu hình run sao cho environment bao gồm đầy đủ các packages cần thiết để huấn luyện mô hình (ví dụ: scikit-learn và các dependencies khác).
Giải pháp đề xuất (Solution):
from azureml.train.estimator import Estimator
sk_est = Estimator(source_directory='./scripts',
compute_target=aml-compute,
entry_script='train.py')
- Giải pháp này sử dụng class Estimator (một công cụ legacy trong Azure ML để chạy script trên compute target).
- Nó chỉ định thư mục nguồn (
source_directory), compute target, và script entry point (train.py).
Câu hỏi chính: "Does the solution meet the goal?" (Giải pháp này có đạt mục tiêu không?) – Nghĩa là, liệu environment có tự động có đủ packages cho scikit-learn không?
📘 Kiến thức cập nhật (Azure ML phiên bản mới nhất đến 2026): Estimator là API legacy (từ Azure ML SDK v1), vẫn hỗ trợ nhưng Microsoft khuyến nghị chuyển sang Command hoặc MLflow (SDK v2). Estimator mặc định sử dụng Docker image cơ bản (mcr.microsoft.com/azureml/base-gpu:python_3.8 hoặc tương tự), KHÔNG tự động install scikit-learn. Bạn phải chỉ định conda_packages=['scikit-learn'] hoặc pip_packages=['scikit-learn'] để environment có packages cần thiết. Nếu thiếu, script sẽ lỗi khi import sklearn.
✅ Đáp án đúng: No
Lý do lựa chọn:
- Giải pháp chỉ tạo Estimator cơ bản mà KHÔNG chỉ định bất kỳ environment tùy chỉnh nào (như
conda_packages,pip_packages, hoặcenvironmentobject). - Script
train.pycần scikit-learn để huấn luyện regression model, nhưng environment mặc định của Estimator thiếu package này, dẫn đến lỗi runtime (ví dụ:ModuleNotFoundError: No module named 'sklearn'). - Do đó, giải pháp KHÔNG đạt mục tiêu "ensure that the environment includes the required packages for model training".
- 🛠️ Cách sửa đúng: Thêm
conda_packages=['scikit-learn']hoặc sử dụngenvironmentvới CondaDependencies:from azureml.core.conda_dependencies import CondaDependencies conda_deps = CondaDependencies() conda_deps.add_conda_package('scikit-learn') sk_est = Estimator(..., conda_dependencies=conda_deps)
📋 Giải thích tất cả các phương án (giữ nguyên nội dung gốc bằng tiếng Anh)
-
Yes ❌
Sai vì: Phương án này cho rằng Estimator cơ bản đã đủ packages. Thực tế, environment mặc định chỉ có Python cơ bản và một số thư viện Azure ML, không bao gồm scikit-learn. Script sẽ fail khi chạy trênaml-computevì thiếu dependencies. Đây là lỗi phổ biến trong Azure ML khi dùng Estimator mà quên specify packages (theo docs legacy training). -
No ✅
Đúng vì: Giải pháp thiếu cấu hình environment với packages cần thiết (scikit-learn). Azure ML yêu cầu explicit declaration cho ML frameworks như sklearn để tránh lỗi import. Điều này đảm bảo tính chính xác cho các câu hỏi case study kiểu "meet the goal".
📚 Tài liệu tham khảo (cập nhật mới nhất từ Microsoft Docs - 2026)
- Train models with custom estimators (legacy) 🛠️ – Giải thích rõ Estimator yêu cầu
conda_packagescho sklearn. - Manage dependencies for training (SDK v1/v2) 📘 – Chi tiết về environment và packages.
- Azure ML SDK v1 vs v2 migration – Xác nhận Estimator là legacy, cần packages explicit.
- Best practice từ DP-100 exam guide: Luôn verify environment cho scikit-learn experiments.
Hy vọng phân tích này giúp bạn ôn thi hiệu quả! 🚀 Nếu cần ví dụ code đầy đủ, hãy hỏi thêm.