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

Tìm thấy 313 câu.

Câu 231 Chọn nhiều đáp án
You are performing clustering by using the K-means algorithm.
You need to define the possible termination conditions.
Which three conditions can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
  1. A Centroids do not change between iterations.
  2. B The residual sum of squares (RSS) rises above a threshold.
  3. C The residual sum of squares (RSS) falls below a threshold.
  4. D A fixed number of iterations is executed.
  5. E The sum of distances between centroids reaches a maximum.
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ủ đề Machine Learning trên AWS, cụ thể là thuật toán K-means clustering – một phương pháp phân cụm không giám sát phổ biến được hỗ trợ trong Amazon SageMaker (dịch vụ ML chính của AWS).

  • Nội dung chính: Bạn đang thực hiện phân cụm bằng K-means và cần xác định các điều kiện dừng (termination conditions) có thể sử dụng. K-means hoạt động lặp lại: gán điểm dữ liệu vào cụm gần nhất, cập nhật tâm cụm (centroids), cho đến khi hội tụ. Câu hỏi yêu cầu chọn ba điều kiện đúng, mỗi lựa chọn đúng đáng 1 điểm.
  • Ngữ cảnh AWS: Trong SageMaker Built-in Algorithms (phiên bản mới nhất 2026), K-means hỗ trợ các tiêu chí dừng chuẩn như hội tụ centroids, ngưỡng RSS (Residual Sum of Squares – tổng bình phương khoảng cách trong cụm), và số lần lặp tối đa. Điều này giúp tránh lặp vô tận và đảm bảo hiệu suất.

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

✅ Đáp án đúng (3 lựa chọn)

Các đáp án đúng là:

  • Centroids do not change between iterations.
  • The residual sum of squares (RSS) falls below a threshold.
  • A fixed number of iterations is executed.

Lý do lựa chọn: Đây là ba điều kiện dừng tiêu chuẩn của K-means trong AWS SageMaker và ML nói chung (Lloyd's algorithm). Chúng đảm bảo thuật toán dừng khi hội tụ (convergence) hoặc đạt giới hạn an toàn, tránh overfit hoặc vòng lặp vô tận. AWS sử dụng convergence_tolerance (cho thay đổi centroids/RSS < ε) và epochs (số lặp cố định). ✅

🛠️ Giải thích chi tiết từng phương án (Đúng/Sai)

  • Centroids do not change between iterations.
    ✅ Đúng. Đây là điều kiện hội tụ cổ điển: Khi tâm cụm không thay đổi giữa hai lần lặp liên tiếp (thay đổi < ε, thường 1e-5 trong SageMaker), thuật toán dừng vì các cụm đã ổn định. AWS hỗ trợ qua convergence_tolerance.

  • The residual sum of squares (RSS) rises above a threshold.
    ❌ Sai. RSS (tổng bình phương khoảng cách từ điểm đến tâm cụm) luôn giảm dần trong K-means (thuật toán tối ưu hóa locally). Không có điều kiện nào dừng khi RSS tăng (rises above threshold), vì điều này chỉ xảy ra nếu thuật toán lỗi hoặc không hội tụ.

  • The residual sum of squares (RSS) falls below a threshold.
    ✅ Đúng. RSS giảm đến ngưỡng nhỏ (ví dụ: < 0.001) cho thấy cụm đã tối ưu (low variance). AWS SageMaker dùng convergence_tolerance để kiểm tra thay đổi RSS/centroids < ε, tương đương RSS ổn định dưới threshold.

  • A fixed number of iterations is executed.
    ✅ Đúng. Để tránh lặp vô tận, K-means luôn có số lần lặp tối đa (max_iterations hoặc epochs). Trong SageMaker, mặc định 1 epoch, có thể set lên 1000+ để đảm bảo dừng sau N lần lặp.

  • The sum of distances between centroids reaches a maximum.
    ❌ Sai. Khoảng cách giữa centroids thường giảm khi hội tụ (các tâm cụm ổn định, không tách xa). Không có tiêu chí nào dừng khi đạt tối đa (maximum), vì điều này trái với mục tiêu tối ưu hóa (centroids nên gần vị trí lý tưởng, không xa dần). AWS không hỗ trợ.

🧩 Tóm tắt: Câu hỏi kiểm tra kiến thức sâu về K-means trong AWS SageMaker. Hãy thực hành trên SageMaker Studio để verify! 🚀

Câu 232
You manage an Azure Machine Learning workspace. You have an environment for training jobs which uses an existing Docker image.

A new version of the Docker image is available.

You need to use the latest version of the Docker image for the environment configuration by using the Azure Machine Learning SDK v2.

What should you do?
  1. A Modify the conda_file to specify the new version of the Docker image.
  2. B Use the Environment class to create a new version of the environment.
  3. C Use the create_or_update method to change the tag of the image.
  4. D Change the description parameter of the environment configuration.
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ý Azure Machine Learning workspace (không gian làm việc Azure ML). Bạn đang sử dụng một environment (môi trường) dành cho các công việc huấn luyện (training jobs), dựa trên một Docker image hiện có. Bây giờ, có phiên bản mới của Docker image này được phát hành. Nhiệm vụ là cập nhật environment configuration để sử dụng phiên bản Docker image mới nhất, và phải thực hiện bằng Azure Machine Learning SDK v2 (phiên bản SDK Python mới nhất của Azure ML).

📘 Bối cảnh kỹ thuật (cập nhật đến năm 2026): Trong Azure ML SDK v2, Environment là một entity quản lý dependencies (bao gồm Docker image, conda packages, v.v.) cho jobs. Environments hỗ trợ versioning tự động – mỗi lần tạo mới với thay đổi sẽ sinh ra version mới. Không thể chỉnh sửa trực tiếp image tag của environment cũ; thay vào đó, cần tạo environment mới để đảm bảo tính immutable và traceability. Điều này phù hợp với best practices của Azure ML (xem tài liệu chính thức: Azure ML Environments).

🛠️ Mục tiêu chính: Cập nhật Docker image mà không làm gián đoạn workflow, sử dụng SDK v2 (ví dụ: ml_client.environments.create_or_update(env)).

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

Đáp án đúng: Use the Environment class to create a new version of the environment.

Lý do 🏆: Trong Azure ML SDK v2, để cập nhật Docker image mới, bạn sử dụng class Environment từ azure.ai.ml.entities để định nghĩa một environment mới với image property chỉ đến tag/version mới (ví dụ: image="new_image:tag"). Sau đó, gọi ml_client.environments.create_or_update(new_env) sẽ tự động tạo version mới của environment (ví dụ: version 2), giữ nguyên các properties khác. Điều này đảm bảo tính nhất quán, versioning rõ ràng và dễ rollback. Đây là cách chính thức được khuyến nghị trong docs Azure ML v2 (cập nhật 2025-2026).

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

  • [SAI] Modify the conda_file to specify the new version of the Docker image.
    ❌ Sai vì: conda_file chỉ dùng để chỉ định conda dependencies (packages từ Conda như Python libs), không liên quan đến Docker image base. Thay đổi conda_file không ảnh hưởng đến image Docker, dẫn đến environment vẫn dùng image cũ. Đây là nhầm lẫn phổ biến giữa base image và dependencies.

  • [ĐÚNG] Use the Environment class to create a new version of the environment.
    ✅ Đúng vì: Như đã giải thích ở trên, class Environment cho phép định nghĩa image mới trực tiếp (qua image hoặc dockerfile), và create_or_update sẽ tạo version mới tự động. Ví dụ code:

    from azure.ai.ml.entities import Environment
    env = Environment(image="new_docker_image:latest", name="my_env")
    ml_client.environments.create_or_update(env)
    

    Tạo version mới mà không override cũ.

  • [SAI] Use the create_or_update method to change the tag of the image.
    ❌ Sai vì: create_or_update là method của MLClient.environments, dùng để tạo hoặc cập nhật entity, nhưng không hỗ trợ chỉnh sửa trực tiếp tag của image trên environment hiện có (environments là immutable sau khi tạo). Nếu dùng sai cách, nó có thể tạo duplicate hoặc lỗi validation, không phải cách chuẩn để update image.

  • [SAI] Change the description parameter of the environment configuration.
    ❌ Sai vì: description chỉ là metadata mô tả (text string), không ảnh hưởng đến cấu hình kỹ thuật như Docker image. Thay đổi nó chỉ cập nhật notes, không trigger rebuild hay update image.

📚 Tài liệu tham khảo

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

Câu 233
You are building a machine learning model for translating English language textual content into French language textual content.
You need to build and train the machine learning model to learn the sequence of the textual content.
Which type of neural network should you use?
  1. A Multilayer Perceptions (MLPs)
  2. B Convolutional Neural Networks (CNNs)
  3. C Recurrent Neural Networks (RNNs)
  4. D Generative Adversarial Networks (GANs)
Xem giải thích

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

Xin chào! Là một Microsoft Azure Data Scientist với kinh nghiệm sâu rộng về các nền tảng cloud ML (bao gồm cả AWS), tôi sẽ phân tích kỹ lưỡng câu hỏi trắc nghiệm này theo yêu cầu. Chủ đề liên quan đến việc chọn loại neural network phù hợp cho nhiệm vụ dịch ngôn ngữ (machine translation), một bài toán kinh điển trong Natural Language Processing (NLP) trên các dịch vụ như AWS SageMaker (phiên bản mới nhất 2026 hỗ trợ tích hợp seq2seq models).

✅ 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 mô tả tình huống: Bạn đang xây dựng một mô hình machine learning để dịch nội dung văn bản tiếng Anh sang tiếng Pháp.

  • Yêu cầu chính: Xây dựng và huấn luyện mô hình để học sequence (chuỗi) của nội dung văn bản.
    🛠️ Điều này ám chỉ bài toán sequence-to-sequence (seq2seq), nơi input là chuỗi từ tiếng Anh (ví dụ: "Hello world") và output là chuỗi từ tiếng Pháp tương ứng (ví dụ: "Bonjour le monde"). Mô hình cần xử lý tính phụ thuộc theo thời gian/trình tự trong văn bản, như ngữ pháp, ngữ cảnh trước-sau, vì ngôn ngữ tự nhiên có cấu trúc chuỗi dài và biến đổi.
  • Bối cảnh AWS: Trên AWS SageMaker (phiên bản 2026), bạn có thể sử dụng các built-in algorithms hoặc custom models với framework như TensorFlow/PyTorch để triển khai seq2seq. RNN và các biến thể (LSTM/GRU) là lựa chọn cổ điển cho sequence modeling trước khi Transformer thống trị (nhưng câu hỏi tập trung vào "sequence", nên RNN phù hợp nhất).

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

Đáp án đúng: Recurrent Neural Networks (RNNs)
🧠 Lý do: RNNs được thiết kế chuyên biệt để xử lý dữ liệu chuỗi (sequential data) như văn bản, bằng cách duy trì hidden state (trạng thái ẩn) truyền qua từng timestep, giúp học được phụ thuộc dài hạn giữa các từ. Trong machine translation, mô hình seq2seq cổ điển (Encoder-Decoder) sử dụng RNN để mã hóa chuỗi input và giải mã chuỗi output. Đây là lựa chọn tối ưu cho yêu cầu "học sequence của textual content". Trên AWS SageMaker, RNNs được hỗ trợ qua các container BlazingText hoặc custom training jobs (cập nhật 2026 với tích hợp Transformer-RNN hybrid).

📘 Phân tích tất cả các phương án (đúng và sai)

Dưới đây là phân tích chi tiết từng lựa chọn. 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 để dễ theo dõi:

  • [SAI] Multilayer Perceptions (MLPs) ❌
    Giải thích sai: MLPs là mạng nơ-ron feedforward cơ bản, chỉ xử lý dữ liệu độc lập (independent) mà không có khái niệm sequence hoặc bộ nhớ thời gian. Chúng không thể học được phụ thuộc giữa các từ trong chuỗi văn bản (ví dụ: thứ tự từ "dog bites man" khác "man bites dog"). Phù hợp hơn cho tabular data, không phải translation.

  • [SAI] Convolutional Neural Networks (CNNs) ❌
    Giải thích sai: CNNs xuất sắc cho dữ liệu hình ảnh hoặc grid-like (như 1D CNN cho text classification ngắn), nhưng kém hiệu quả với sequence dài và phụ thuộc xa vì sử dụng filter cố định, không có cơ chế recurrent để "nhớ" toàn bộ chuỗi. Trong translation, CNNs chỉ dùng phụ trợ (như TextCNN), không phải lựa chọn chính.

  • [ĐÚNG] Recurrent Neural Networks (RNNs) ✅
    Giải thích đúng: Như đã nêu ở trên, RNNs lý tưởng cho sequence modeling nhờ cơ chế lặp lại (recurrent) và hidden state, đặc biệt trong seq2seq translation (ví dụ: LSTM/GRU variants giải quyết vanishing gradient). Đây là tiêu chuẩn vàng cho bài toán này trước Transformer.

  • [SAI] Generative Adversarial Networks (GANs) ❌
    Giải thích sai: GANs dùng cho tạo dữ liệu đối kháng (generator vs discriminator), như sinh ảnh hoặc text giả lập, không chuyên về translation hoặc học sequence có nhãn (supervised seq2seq). Chúng thiếu cơ chế encoder-decoder rõ ràng cho dịch ngôn ngữ.

📚 Tài liệu tham khảo (cập nhật mới nhất đến 2026)

  • AWS SageMaker Documentation: Seq2Seq Models in SageMaker – Hướng dẫn RNN-based translation (phiên bản 2026 hỗ trợ JumpStart models).
  • AWS Blog: "Building Sequence-to-Sequence Models with Amazon SageMaker" (2025 update với RNN/Transformer).
  • Nguồn chung ML: "Sequence to Sequence Learning with Neural Networks" (Sutskever et al., 2014) – Nền tảng RNN cho translation; cập nhật trên AWS re:Invent 2025.
  • Azure tương đương (để so sánh): Azure ML Designer hỗ trợ RNN qua Drag-and-Drop seq2seq.

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

Câu 234 Chọn nhiều đáp án
You create a binary classification model.
You need to evaluate the model performance.
Which two metrics can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
  1. A relative absolute error
  2. B precision
  3. C accuracy
  4. D mean absolute error
  5. E coefficient of determination
Xem giải thích

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

Câu hỏi này thuộc lĩnh vực Machine Learning (Học máy), cụ thể là đánh giá hiệu suất mô hình phân loại nhị phân (binary classification model).

  • Binary classification: Mô hình dự đoán kết quả thuộc một trong hai lớp (ví dụ: 0/1, yes/no, spam/not spam).
  • Yêu cầu: Chọn hai metrics (chỉ số đo lường) phù hợp để đánh giá hiệu suất mô hình. Mỗi lựa chọn đúng là một giải pháp hoàn chỉnh (worth one point).
  • Ngữ cảnh: Đây là câu hỏi trắc nghiệm kiểu "chọn nhiều đáp án đúng" thường gặp trong các chứng chỉ AWS như AWS Certified Machine Learning - Specialty (phiên bản mới nhất 2023-2026, cập nhật qua AWS SageMaker và Amazon ML services). Metrics phải dành cho classification, không phải regression.
    📘 Tài liệu tham khảo:
  • AWS SageMaker Documentation: Model Evaluation Metrics (cập nhật 2024).
  • AWS ML Specialty Exam Guide (MLS-C01 v2, 2023+).

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

Hai metrics đúng là: precision và accuracy.
🛠️ Lý do:

  • Trong binary classification, precision đo tỷ lệ dự đoán đúng trong số các dự đoán positive (giảm false positive - sai lầm dự đoán positive).
  • accuracy đo tỷ lệ dự đoán đúng tổng thể (correct predictions / total predictions).
    Cả hai đều là metrics chuẩn cho classification trên AWS SageMaker (hỗ trợ built-in trong Clarify và Model Monitor, cập nhật 2024-2026). Chúng cung cấp cái nhìn toàn diện về hiệu suất mô hình phân loại.

📊 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. Tôi giữ nguyên 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:

  • ❌ relative absolute error
    Sai: Đây là metric cho regression (dự đoán giá trị liên tục), đo lỗi tương đối so với giá trị thực. Không phù hợp cho binary classification vì không xử lý lớp rời rạc (0/1). AWS dùng cho regression models như XGBoost, không phải classification.

  • ✅ precision
    Đúng: Metric cốt lõi cho classification, tính = TP / (TP + FP) (TP: true positive, FP: false positive). Giúp đánh giá độ chính xác của positive predictions. AWS SageMaker hỗ trợ trực tiếp trong binary classification metrics (cập nhật Model Monitor 2024).

  • ✅ accuracy
    Đúng: Metric cơ bản nhất cho classification, tính = (TP + TN) / Total (TN: true negative). Đo tỷ lệ đúng tổng thể. Phù hợp binary classification, AWS dùng làm default metric trong SageMaker built-in algorithms.

  • ❌ mean absolute error
    Sai: Metric regression, đo trung bình |dự đoán - thực tế|. Không áp dụng cho binary classification vì output là xác suất/lớp rời rạc, không phải số liên tục. AWS dùng cho forecasting/regression tasks.

  • ❌ coefficient of determination
    Sai: Còn gọi R², metric cho regression đo độ giải thích của mô hình (0-1, gần 1 tốt). Không dùng cho classification vì không đo confusion matrix (TP/TN/FP/FN). AWS áp dụng trong linear regression models.

🧠 Lưu ý bổ sung: Trong AWS SageMaker (phiên bản 2026), bạn có thể dùng Processing Jobs hoặc Clarify để compute precision/accuracy tự động. Tránh nhầm lẫn classification vs regression - đây là bẫy phổ biến trong exam!
📘 Nguồn bổ sung: Scikit-learn Metrics (tích hợp AWS): Classification Metrics (2024).

Câu 235
You manage an Azure Machine Learning workspace. The workspace includes an Azure Machine Learning Kubernetes compute target configured as an Azure Kubernetes Service (AKS) cluster named AKS1. AKS1 is configured to enable the targeting of different nodes to train workloads.

You must run a command job on AKS1 by using the Azure ML Python SDK v2. The command job must select different types of compute nodes. The compute node types must be specified by using a command parameter.

You need to configure the command parameter.

Which parameter should you use?
  1. A environment
  2. B compute
  3. C limits
  4. D instance_type
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 xoay quanh việc quản lý một Azure Machine Learning workspace chứa một compute target kiểu Kubernetes (AKS cluster tên AKS1). AKS1 được cấu hình để hỗ trợ targeting các node khác nhau cho các workload huấn luyện.
Nhiệm vụ là chạy một command job trên AKS1 bằng Azure ML Python SDK v2, và job này phải chọn các loại compute node khác nhau (như node pools với instance types khác nhau). Các loại compute node phải được chỉ định qua một command parameter.
Câu hỏi yêu cầu xác định parameter nào cần cấu hình để đạt được điều này.
(Lưu ý: Đây là chủ đề Azure ML, không phải AWS. Kiến thức dựa trên Azure ML SDK v2 phiên bản mới nhất đến năm 2026, hỗ trợ AKS với multiple node pools và node selectors.)

✅ Đáp án đúng: instance_type
Lý do lựa chọn:
Trong Azure ML Python SDK v2 (azure-ai-ml package), khi submit CommandJob lên AKS compute target, bạn sử dụng parameter instance_type trong phần resources để chỉ định loại instance (node pool) cụ thể trên AKS cluster. Điều này cho phép job target đúng node types (ví dụ: Standard_DS3_v2, Standard_NC6s_v3) mà không cần thay đổi compute target chính.
Ví dụ code:

from azure.ai.ml import command, Input, Output
job = command(
    name="aks-node-job",
    command="echo Hello",
    environment="azureml:AzureML-PyTorch-1.13-ubuntu20.04-py38-cuda11-gpu@latest",
    compute="AKS1",
    resources={
        "instance_type": "Standard_DS3_v2"  # 🛠️ Chỉ định node type cụ thể
    }
)

Parameter này tận dụng tính năng node affinity của AKS trong Azure ML, đảm bảo job chạy trên node phù hợp với workload (như GPU nodes). Đây là cách chuẩn theo docs mới nhất (2024-2026 updates hỗ trợ dynamic node selection).

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

  • environment ❌ (Sai)
    Parameter environment dùng để chỉ định môi trường runtime (Docker image, conda env) cho job, không liên quan đến việc chọn compute node types trên AKS. Nó chỉ định dependencies như Python version hoặc libraries, không ảnh hưởng đến hardware/node pool.

  • compute ❌ (Sai)
    Parameter compute chỉ định tên compute target (như "AKS1"), là endpoint cố định cho cluster. Nó không cho phép select dynamic node types bên trong cluster; chỉ attach job vào compute tổng quát, không target node cụ thể.

  • limits ❌ (Sai)
    Parameter limits (trong resources) dùng để đặt giới hạn tài nguyên như CPU/memory requests/limits (Kubernetes ResourceLimits), giúp quản lý quota nhưng không chọn loại node/instance type. Nó chỉ kiểm soát usage, không phải node selector.

  • instance_type ✅ (Đúng)
    Như đã giải thích ở trên, đây là parameter chính xác để chỉ định loại instance/node trên AKS multi-pool cluster qua SDK v2.

📘 Tài liệu tham khảo

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

Câu 236
You create a script that trains a convolutional neural network model over multiple epochs and logs the validation loss after each epoch. The script includes arguments for batch size and learning rate.
You identify a set of batch size and learning rate values that you want to try.
You need to use Azure Machine Learning to find the combination of batch size and learning rate that results in the model with the lowest validation loss.
What should you do?
  1. A Run the script in an experiment based on an AutoMLConfig object
  2. B Create a PythonScriptStep object for the script and run it in a pipeline
  3. C Use the Automated Machine Learning interface in Azure Machine Learning studio
  4. D Run the script in an experiment based on a ScriptRunConfig object
  5. E Run the script in an experiment based on a HyperDriveConfig object
Xem giải thích

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

Câu hỏi mô tả tình huống bạn có một script huấn luyện mô hình convolutional neural network (CNN) qua nhiều epoch, ghi log validation loss sau mỗi epoch. Script nhận tham số batch size và learning rate. Bạn muốn thử nghiệm nhiều bộ giá trị của hai hyperparameter này để tìm ra sự kết hợp mang lại mô hình có validation loss thấp nhất.
Yêu cầu sử dụng Azure Machine Learning để tự động hóa việc tìm kiếm hyperparameter tối ưu.
📌 Mục tiêu chính: Tìm hyperparameter tuning tool phù hợp nhất trong Azure ML để chạy script và đánh giá validation loss qua nhiều thử nghiệm (trials), chọn ra combination tốt nhất. Đây là nhiệm vụ hyperparameter optimization, không phải AutoML hay chạy script đơn lẻ.

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

Run the script in an experiment based on a HyperDriveConfig object
🛠️ Lý do: HyperDriveConfig là công cụ chuyên dụng của Azure Machine Learning (phiên bản mới nhất đến 2026) dành cho hyperparameter tuning. Nó cho phép định nghĩa script huấn luyện, chỉ định không gian hyperparameter (như batch size và learning rate với các sampler: RandomParameterSampling, BayesianParameterSampling, GridParameterSampling), chạy song song nhiều trials, và tự động chọn mô hình tốt nhất dựa trên metric chính (ở đây là validation loss thấp nhất). Script sẽ được submit vào một experiment, HyperDrive quản lý việc tuning, logging metrics qua Azure ML workspace. Điều này hoàn hảo khớp với yêu cầu thử nhiều bộ giá trị và tìm minimum validation loss.
📘 Tài liệu tham khảo: Azure ML Hyperparameter Tuning Docs (cập nhật 2025-2026, hỗ trợ v2 SDK với CLI v2 và designer).

📋 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, với nội dung gốc giữ nguyên tiếng Anh. Tôi đánh dấu ✅ đúng hoặc ❌ sai, kèm lý do cụ thể dựa trên tính năng Azure ML mới nhất:

  • ❌ Run the script in an experiment based on an AutoMLConfig object
    🧨 Sai vì: AutoMLConfig dùng cho Automated ML (AutoML), tự động thử nghiệm nhiều thuật toán và preprocessing trên dữ liệu tabular/image/text, không hỗ trợ custom script huấn luyện CNN với hyperparameter cụ thể như batch size/learning rate. Nó tập trung vào model selection tự động, không phải tuning hyperparams của script có sẵn. Validation loss có thể được track nhưng không tối ưu cho custom deep learning script.

  • ❌ Create a PythonScriptStep object for the script and run it in a pipeline
    🧨 Sai vì: PythonScriptStep chỉ là một step trong Azure ML Pipeline để chạy script một lần với tham số cố định, không hỗ trợ tự động thử nhiều combination hyperparameter hay chọn best model dựa trên validation loss. Pipeline dùng cho workflow orchestration (data prep → train → deploy), không phải hyperparameter search. Bạn phải manually loop qua các giá trị, tốn kém và không scale.

  • ❌ Use the Automated Machine Learning interface in Azure Machine Learning studio
    🧨 Sai vì: Giao diện Automated ML trong Azure ML Studio (phiên bản studio 2026) là UI cho AutoML, tương tự AutoMLConfig, hỗ trợ image classification nhưng tự động hóa toàn bộ (featurization, model selection). Không cho phép custom CNN script với tuning batch size/learning rate cụ thể; nó dùng default hyperparams cho các model built-in, không log/optimize validation loss từ script của bạn.

  • ❌ Run the script in an experiment based on a ScriptRunConfig object
    🧨 Sai vì: ScriptRunConfig chỉ submit script vào experiment chạy một lần với tham số cố định (hoặc manually thay đổi), không có cơ chế tự động tuning hyperparameter qua nhiều trials. Phù hợp cho single run hoặc debug, nhưng không tìm được combination tốt nhất tự động dựa trên validation loss. Để tune, bạn phải kết hợp với HyperDrive.

  • ✅ Run the script in an experiment based on a HyperDriveConfig object
    🛠️ Đúng vì: Như giải thích ở trên, đây là lựa chọn lý tưởng cho hyperparameter optimization với custom script, hỗ trợ early stopping (BanditPolicy), parallel runs trên compute cluster, và primary metric là validation loss. SDK ví dụ: hyperdrive_config = HyperDriveConfig(..., primary_metric_name='validation_loss', goal=GoalName.MINIMIZE). Hoàn toàn khớp yêu cầu!

🏆 Kết luận: HyperDrive là "vũ khí bí mật" cho deep learning tuning trong Azure ML, giúp tiết kiệm thời gian và tài nguyên so với manual tuning. Nếu implement, hãy dùng Azure ML Python SDK v2!

Câu 237
You use the Azure Machine Learning Python SDK to define a pipeline to train a model.
The data used to train the model is read from a folder in a datastore.
You need to ensure the pipeline runs automatically whenever the data in the folder changes.
What should you do?
  1. A Set the regenerate_outputs property of the pipeline to True
  2. B Create a ScheduleRecurrance object with a Frequency of auto. Use the object to create a Schedule for the pipeline
  3. C Create a PipelineParameter with a default value that references the location where the training data is stored
  4. D Create a Schedule for the pipeline. Specify the datastore in the datastore property, and the folder containing the training data in the path_on_datastore property
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 Azure Machine Learning Python SDK (không phải AWS như mô tả ban đầu, có thể là nhầm lẫn). Bạn đang sử dụng SDK để định nghĩa một pipeline huấn luyện mô hình máy học. Dữ liệu huấn luyện được đọc từ một folder trong datastore (kho lưu trữ dữ liệu như Azure Blob Storage).
Mục tiêu chính: Đảm bảo pipeline chạy tự động mỗi khi dữ liệu trong folder đó thay đổi (ví dụ: thêm/sửa/xóa file).
Điều này yêu cầu một cơ chế trigger dựa trên sự kiện dữ liệu (data change trigger), không phải lịch chạy định kỳ thông thường. Đây là tính năng của Azure ML Pipelines (phiên bản SDK v1, cập nhật mới nhất đến 2026 vẫn hỗ trợ tương tự trong v2 với command jobs và data assets).
📘 Tài liệu tham khảo:

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

Đáp án đúng: Create a Schedule for the pipeline. Specify the datastore in the datastore property, and the folder containing the training data in the path_on_datastore property.

Lý do:
🛠️ Trong Azure ML SDK v1, để pipeline chạy tự động khi dữ liệu thay đổi, bạn tạo Schedule với thuộc tính datastore (chỉ định datastore chứa dữ liệu) và path_on_datastore (đường dẫn folder cụ thể). Hệ thống sẽ giám sát (monitor) folder này và kích hoạt pipeline ngay khi phát hiện thay đổi (như append blob hoặc file mới). Đây là cách chính thức, hiệu quả cho data-driven triggers. Phiên bản mới nhất (2024-2026) vẫn khuyến nghị tương tự với ml_client.jobs.create_or_update kết hợp data inputs monitoring.

📋 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. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể:

  • ❌ [SAI] Set the regenerate_outputs property of the pipeline to True
    🧩 Phương án này sai vì regenerate_outputs chỉ dùng để tái tạo output của pipeline steps nếu input thay đổi (trong rerun hoặc caching), không liên quan đến việc trigger pipeline tự động khi dữ liệu folder thay đổi. Nó chỉ kiểm soát cache nội bộ, không giám sát datastore.

  • ❌ [SAI] Create a ScheduleRecurrance object with a Frequency of auto. Use the object to create a Schedule for the pipeline
    🛠️ Phương án này sai vì ScheduleRecurrence chỉ hỗ trợ lịch lặp lại định kỳ (như hourly, daily), không có Frequency="auto". Nó không giám sát dữ liệu thay đổi mà chỉ chạy theo thời gian cố định, không phù hợp với yêu cầu "whenever the data changes".

  • ❌ [SAI] Create a PipelineParameter with a default value that references the location where the training data is stored
    📘 Phương án này sai vì PipelineParameter chỉ là tham số đầu vào cho pipeline (có thể override khi submit), không tạo trigger tự động. Nó không giám sát thay đổi dữ liệu; pipeline chỉ chạy khi bạn submit thủ công hoặc qua lịch khác.

  • ✅ [ĐÚNG] Create a Schedule for the pipeline. Specify the datastore in the datastore property, and the folder containing the training data in the path_on_datastore property
    🛠️ Phương án này đúng như đã giải thích ở trên. Nó kích hoạt data change monitoring chính xác, hỗ trợ bởi Azure ML service (blob change feed). Trong SDK v2 (2024+), tương đương với data_drift hoặc path trong job inputs.

💡 Lưu ý cuối: Để triển khai, sử dụng PipelineEndpoint hoặc Schedule.create trong SDK. Kiểm tra quyền IAM trên datastore để monitor thành công!

Câu 238
You plan to run a Python script as an Azure Machine Learning experiment.
The script must read files from a hierarchy of folders. The files will be passed to the script as a dataset argument.
You must specify an appropriate mode for the dataset argument.
Which two modes can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
  1. A to_pandas_dataframe()
  2. B as_download()
  3. C as_upload()
  4. D as_mount()
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à cách chạy một script Python như một experiment trong Azure ML. Script cần đọc file từ một hệ thống thư mục phân cấp (hierarchy of folders), và các file này sẽ được truyền vào script dưới dạng tham số dataset (dataset argument). Nhiệm vụ là chỉ định chế độ (mode) phù hợp cho tham số dataset này để script có thể truy cập dữ liệu một cách hiệu quả.

  • Yêu cầu chính: Chọn hai mode có thể sử dụng, mỗi lựa chọn đúng là một giải pháp hoàn chỉnh (complete solution), và mỗi đáp án đúng chiếm 1 điểm.
  • Bối cảnh: Trong Azure ML, khi định nghĩa input cho experiment (qua mltable hoặc SDK v2/CommandJob), dataset có thể được mount trực tiếp vào môi trường chạy (như một thư mục ảo) hoặc download về local để script đọc. Điều này đặc biệt quan trọng với hierarchy folders vì cần giữ nguyên cấu trúc thư mục.
  • 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, theo docs Azure ML how-to-use-datasets và reference-sdk-v2), hai mode chính cho input dataset là as_mount() và as_download() để hỗ trợ đọc dữ liệu lớn/hierarchy mà không cần convert ngay.

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

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

Hai đáp án đúng là: as_mount() và as_download().
🛠️ Lý do:

  • Cả hai mode này cho phép truyền dataset vào script Python như một input argument, hỗ trợ đọc file từ hierarchy folders mà giữ nguyên cấu trúc. as_mount() gắn dataset như một thư mục ảo (không copy dữ liệu, tiết kiệm thời gian/storage), còn as_download() tải dữ liệu về thư mục local để đọc. Đây là các mode chuẩn theo Azure ML SDK v2 cho experiment (Command/Job), phù hợp với yêu cầu "passed to the script as a dataset argument".

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

  • ❌ to_pandas_dataframe()
    Phương án này SAI vì to_pandas_dataframe() là method để convert dataset trực tiếp thành Pandas DataFrame trong memory, chỉ phù hợp với dữ liệu tabular nhỏ (như CSV đơn lẻ), KHÔNG hỗ trợ hierarchy of folders (cấu trúc thư mục phân cấp nhiều file). Nó không phải là "mode" để truyền argument vào script experiment mà là cách load dữ liệu sau khi đã mount/download.

  • ✅ as_download()
    Phương án này ĐÚNG vì as_download() tải toàn bộ dataset về thư mục local trong compute target của experiment. Script có thể đọc hierarchy folders qua đường dẫn local (ví dụ: input_data.download()), giữ nguyên cấu trúc file/folder. Phù hợp cho dữ liệu không quá lớn, dễ debug, và là một trong hai mode chính cho input dataset theo docs Azure ML v2.

  • ❌ as_upload()
    Phương án này SAI vì as_upload() dùng cho output dataset (upload dữ liệu từ script ra Azure ML datastore), KHÔNG dùng để truyền input dataset vào script. Nó không giúp script đọc file từ hierarchy folders mà chỉ để lưu kết quả sau khi chạy.

  • ✅ as_mount()
    Phương án này ĐÚNG vì as_mount() gắn dataset như một thư mục ảo (read-only) trực tiếp vào môi trường chạy experiment (qua FUSE hoặc volume mount). Script truy cập hierarchy folders qua đường dẫn mount (ví dụ: /mnt/input/), KHÔNG copy dữ liệu nên lý tưởng cho dataset lớn/phân cấp phức tạp, tiết kiệm thời gian khởi động. Đây là mode khuyến nghị cho production theo Azure ML best practices 2026.

🧮 Tóm tắt nhanh: Chỉ as_mount() và as_download() là mode input hợp lệ cho dataset argument trong Azure ML experiment, đảm bảo script đọc được hierarchy folders hiệu quả! 🚀

Câu 239
You manage an Azure Machine Learning workspace named workspace1.

You must develop Python SDK v2 code to add a compute instance to workspace1. The code must import all required modules and call the constructor of the ComputeInstance class.

You need to add the instantiated compute instance to workspace1.

What should you use?
  1. A constructor of the azure.ai.ml.ComputeSchedule class
  2. B constructor of the azure.ai.ml.ComputePowerAction enum
  3. C begin_create_or_update method of an instance of the azure.ai.ml.MLCIient class
  4. D set_resources method of an instance of the azure.ai.ml.Command class
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 tên là workspace1. Bạn cần viết code Python sử dụng SDK v2 (azure-ai-ml) để:

  • Thêm một compute instance (máy ảo tính toán dành riêng cho phát triển ML) vào workspace.
  • Code phải import đầy đủ các module cần thiết và gọi constructor của lớp ComputeInstance để tạo đối tượng compute instance.
  • Sau đó, thêm (attach/add) đối tượng compute instance đã tạo vào workspace1.

📌 Mục tiêu chính: Xác định phương thức hoặc constructor đúng để thực hiện việc tạo và cập nhật compute instance vào workspace, dựa trên phiên bản SDK v2 mới nhất (cập nhật đến năm 2026, theo tài liệu Azure ML SDK v2 preview và stable versions như 1.17+).

🛠️ Ngữ cảnh kỹ thuật: Trong Azure ML SDK v2, compute instance được quản lý qua MLClient. Bạn tạo đối tượng ComputeInstance(name, ...) trước, rồi sử dụng phương thức của MLClient để submit job tạo/update.

✅ Đáp án đúng

begin_create_or_update method of an instance of the azure.ai.ml.MLClient class

Lý do lựa chọn:

  • Phương thức begin_create_or_update của đối tượng MLClient (tạo từ MLClient(credential, subscription_id, resource_group, workspace_name)) là cách chuẩn và chính thức để tạo hoặc cập nhật compute instance trong SDK v2.
  • Quy trình:
    1. Import: from azure.ai.ml import MLClient, ComputeInstance.
    2. Tạo MLClient instance.
    3. Tạo compute_instance = ComputeInstance(name="my-ci", size="STANDARD_DS3_V2", ...).
    4. Gọi ml_client.compute.begin_create_or_update(compute_instance).
  • Đây là polling operation (asynchronous), phù hợp với compute resources, và được khuyến nghị trong docs mới nhất (2024-2026).
  • ✅ Hoàn hảo khớp yêu cầu: Đã tạo instance ComputeInstance rồi dùng method này để add vào workspace.

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

  • constructor of the azure.ai.ml.ComputeSchedule class ❌
    Sai vì: ComputeSchedule dùng để lập lịch chạy compute (scheduling jobs trên compute), không phải tạo hoặc add compute instance. Constructor này chỉ định nghĩa lịch trình (ví dụ: cron jobs), không liên quan đến việc instantiate và attach compute instance vào workspace. 🕒 Không khớp quy trình tạo compute.

  • constructor of the azure.ai.ml.ComputePowerAction enum ❌
    Sai vì: ComputePowerAction là enum (giá trị cố định như START/STOP/RESTART) dùng để quản lý trạng thái power của compute (qua API power actions), không phải constructor để tạo compute instance. Nó chỉ là action enum, không add resource vào workspace. ⚡ Không dùng để instantiate ComputeInstance.

  • begin_create_or_update method of an instance of the azure.ai.ml.MLClient class ✅
    Đúng vì: Như giải thích trên, đây là method cốt lõi của MLClient.compute để tạo/update compute instance sau khi đã constructor ComputeInstance. Hỗ trợ async polling, tích hợp đầy đủ với workspace. Code mẫu: ml_client.compute.begin_create_or_update(ci). 🏆 Chuẩn xác 100% theo SDK v2.

  • set_resources method of an instance of the azure.ai.ml.Command class ❌
    Sai vì: Command class dùng để định nghĩa job command (chạy script Python/R), method set_resources chỉ gán compute resources tạm thời cho job (như instance_type, instance_count), không tạo compute instance riêng lẻ và add vĩnh viễn vào workspace. 💻 Chỉ dành cho job execution, không phải quản lý compute instance.

📘 Tài liệu tham khảo

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

Câu 240
You create a Python script that runs a training experiment in Azure Machine Learning. The script uses the Azure Machine Learning SDK for Python.
You must add a statement that retrieves the names of the logs and outputs generated by the script.
You need to reference a Python class object from the SDK for the statement.
Which class object should you use?
  1. A Run
  2. B ScriptRunConfig
  3. C Workspace
  4. D Experiment
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 mới nhất v2 đến năm 2026), cụ thể là việc xử lý một script Python chạy training experiment.

  • Bối cảnh: Bạn tạo script Python để thực thi thí nghiệm huấn luyện (training experiment) trong Azure ML. Script sử dụng SDK để tương tác với Azure ML workspace.
  • Yêu cầu cụ thể: Thêm một statement (câu lệnh) để retrieve (lấy ra) tên của các logs (nhật ký) và outputs (kết quả đầu ra) được tạo bởi script.
  • Điều kiện: Phải reference (tham chiếu) một Python class object từ SDK cho câu lệnh đó.
  • Mục tiêu: Xác định class object phù hợp nhất để truy xuất danh sách tên files logs/outputs sau khi run script.
    ✅ Ngữ cảnh cập nhật: Trong Azure ML SDK v2 (ra mắt 2022 và cập nhật liên tục đến 2026), sau khi submit một run (thí nghiệm con), bạn sử dụng class Run để truy vấn outputs/logs qua các method như get_file_names(), get_output_dataset() hoặc download_files().

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

✅ Đáp án đúng: Run

Lý do lựa chọn:
Class Run đại diện cho một lần chạy cụ thể của script/experiment trong Azure ML. Sau khi submit experiment (qua experiment.start_logging() hoặc ml_client.jobs.create()), bạn lấy object Run để truy xuất tên logs và outputs.
Ví dụ code:

from azure.ai.ml import MLClient  
run = experiment.get_run(run_id)  # Hoặc trực tiếp từ submit  
file_names = run.get_file_names()  # Lấy tên tất cả files outputs/logs  

🛠️ Đây là class duy nhất cung cấp methods trực tiếp như get_file_names(), log_*() hoặc download_file() để retrieve logs (stdout/stderr) và outputs (artifacts như models/files). Phù hợp hoàn hảo với yêu cầu "retrieves the names of the logs and outputs".

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

  • ✅ Run
    Giải thích đúng: Như trên, class Run (từ azure.ai.ml.Run hoặc legacy azureml.core.Run) là object cốt lõi để quản lý và truy xuất chi tiết một lần chạy cụ thể, bao gồm logs (qua get_details()) và outputs (qua get_output_*() hoặc get_file_names()). Đây là lựa chọn chuẩn xác theo SDK v2 mới nhất.

  • ❌ ScriptRunConfig
    Giải thích sai: Class ScriptRunConfig dùng để cấu hình (config) một script run, như chỉ định code, environment, compute target (ví dụ: ScriptRunConfig(source_directory='.', command='train.py')). Nó không có methods retrieve logs/outputs sau khi run; chỉ dùng để submit, không phải truy vấn kết quả.

  • ❌ Workspace
    Giải thích sai: Class Workspace đại diện cho không gian làm việc Azure ML tổng thể (từ azureml.core.Workspace hoặc azure.ai.ml.MLClient). Nó dùng để khởi tạo client, liệt kê experiments/jobs, nhưng không trực tiếp retrieve logs/outputs của một script cụ thể. Phải qua Run hoặc Job mới truy cập được.

  • ❌ Experiment
    Giải thích sai: Class Experiment là container chứa các Run (thí nghiệm cha). Nó dùng để tạo/submit runs (ví dụ: exp = Experiment(workspace, 'my_exp')), lấy danh sách runs, hoặc metrics tổng hợp. Nhưng không có methods retrieve tên logs/outputs chi tiết; phải lấy Run con bên trong mới làm được.

🧠 Tóm tắt nhanh: Run là "ngôi sao" cho việc truy vấn outputs/logs sau training! Nếu dùng sai class, script sẽ lỗi hoặc không lấy được dữ liệu mong muốn. 😊