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

Tìm thấy 313 câu.

Câu 141
You create an Azure Machine Learning workspace.

You must configure an event handler to send an email notification when data drift is detected in the workspace datasets. You must minimize development efforts.

You need to configure an Azure service to send the notification.

Which Azure service should you use?
  1. A Azure Logic Apps
  2. B Azure Automation runbook
  3. C Azure Function apps
  4. D Azure DevOps pipeline
Xem giải thích

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

Câu hỏi tập trung vào Azure Machine Learning (Azure ML) workspace, một dịch vụ cốt lõi của Microsoft Azure dành cho các nhà khoa học dữ liệu và machine learning. Cụ thể:

  • Bạn đã tạo một Azure ML workspace 📊.
  • Nhiệm vụ: Cấu hình event handler để gửi email notification 📧 khi phát hiện data drift (sự thay đổi bất thường trong dữ liệu so với baseline, thường xảy ra trong các mô hình ML production).
  • Yêu cầu quan trọng: Minimize development efforts (giảm thiểu công sức phát triển, ưu tiên giải pháp low-code/no-code) ⏱️.
  • Cần chọn Azure service phù hợp để xử lý thông báo này 🛠️.

Data drift là khái niệm quan trọng trong Azure ML: Nó được giám sát tự động trên datasets (bộ dữ liệu) trong workspace, và Azure ML hỗ trợ tích hợp sẵn với các công cụ event-driven để kích hoạt hành động như gửi email mà không cần viết code phức tạp. Phiên bản Azure ML mới nhất (tính đến 2026, bao gồm Azure ML Studio v2 và các tính năng monitoring nâng cao) ưu tiên integration với Azure Logic Apps cho các workflow tự động hóa đơn giản 📘.

Nguồn tham khảo:

✅ Đáp án đúng: Azure Logic Apps

Lý do lựa chọn:

  • Azure Logic Apps là dịch vụ low-code/no-code workflow lý tưởng để xử lý event-driven notifications từ Azure ML. Nó tích hợp trực tiếp với Azure ML events (qua Event Grid hoặc trực tiếp từ ML workspace), cho phép thiết lập trigger khi data drift được phát hiện, sau đó gửi email qua các connector sẵn có như Office 365 Outlook hoặc SendGrid mà không cần code 💡.
  • Minimize development efforts: Chỉ cần kéo-thả trong Logic Apps designer, cấu hình trigger từ ML dataset drift monitor → gửi email. Thời gian setup chỉ vài phút, phù hợp yêu cầu 🎯.
  • Trong Azure ML (2026), tính năng drift detection tự động publish events đến Logic Apps, hỗ trợ real-time alerts mà không cần custom development.

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

  • Azure Logic Apps ✅ Đúng
    Như đã giải thích, đây là lựa chọn tối ưu nhờ integration native với Azure ML drift monitoring và email connectors. Giải pháp serverless, visual designer, hoàn hảo cho minimize efforts. Không yêu cầu lập trình, chỉ cần authorize và configure workflow 🛤️.

  • Azure Automation runbook ❌ Sai
    Azure Automation dùng cho script-based automation (PowerShell/Python runbooks) định kỳ hoặc scheduled, không phải real-time event handler cho ML drift. Phải viết code để poll events từ ML workspace, tốn effort cao và không hiệu quả cho notifications nhanh chóng ⏳. Không hỗ trợ trực tiếp email trigger từ drift events.

  • Azure Function apps ❌ Sai
    Azure Functions là serverless compute cho code tùy chỉnh (C#/Python/Node.js), phù hợp custom logic nhưng yêu cầu development (viết function handler cho Event Grid từ ML). Không minimize efforts vì cần deploy code, debug, và scale manually – trái với yêu cầu low-code 🚫.

  • Azure DevOps pipeline ❌ Sai
    Azure DevOps pipelines dành cho CI/CD (build/deploy/release), không phải event monitoring real-time như data drift. Không hỗ trợ email notifications tự động từ ML events; chỉ dùng cho pipeline orchestration, yêu cầu YAML/code phức tạp và không liên quan đến workspace runtime alerts 🔄.

Kết luận 🏆: Azure Logic Apps là giải pháp chuẩn Azure best practice cho scenario này, giúp Data Scientists tập trung vào ML thay vì devops. Nếu triển khai thực tế, hãy dùng Azure ML Studio để enable drift monitor và connect Logic Apps ngay! 🚀

Câu 142
This question is included in a number of questions that depicts the identical set-up. However, every question has a distinctive result. Establish if the recommendation satisfies the requirements.
You are planning to make use of Azure Machine Learning designer to train models.
You need choose a suitable compute type.
Recommendation: You choose Inference cluster.
Will the requirements be satisfied?
  1. A Yes
  2. 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 này thuộc dạng tình huống thực tế trong Azure Machine Learning (Azure ML), nơi bạn đang lập kế hoạch sử dụng Azure Machine Learning Designer để train (huấn luyện) các mô hình machine learning.
📌 Yêu cầu chính: Chọn loại compute type (loại tài nguyên tính toán) phù hợp cho việc train models.
🛠️ Khuyến nghị được đưa ra: Chọn Inference cluster (cụm tính toán dành cho inference).
❓ Câu hỏi cần xác định: Liệu khuyến nghị này có đáp ứng yêu cầu (satisfy the requirements) hay không?
Bối cảnh: Azure ML Designer là công cụ kéo-thả để xây dựng pipeline ML, và compute type phải phù hợp với giai đoạn training (không phải inference/deploy). Đây là câu hỏi kiểu "case study" với setup giống nhau nhưng kết quả khác nhau tùy lựa chọn.

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

Đáp án đúng: No
Lý do: Inference cluster trong Azure Machine Learning được thiết kế chủ yếu cho inference (dự đoán thời gian thực) và deployment endpoints, KHÔNG phù hợp cho training models. Để train models trong Azure ML Designer, cần sử dụng các compute type như Compute Cluster (cho training quy mô lớn), AML Compute, hoặc Compute Instance (cho development). Chọn Inference cluster sẽ không đáp ứng yêu cầu training, dẫn đến thất bại trong pipeline.
(Kiến thức cập nhật đến 2026: Theo Azure ML phiên bản mới nhất, Inference cluster chỉ hỗ trợ managed online endpoints cho serving models, không dùng cho training jobs - x. tài liệu chính thức dưới).

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

  • Yes ❌
    Phương án SAI: Lựa chọn "Yes" cho rằng Inference cluster đáp ứng yêu cầu training. Lý do sai: Inference cluster chỉ dành cho inference workloads (như real-time scoring hoặc batch inference), không hỗ trợ training pipelines trong Designer. Nếu dùng, job training sẽ fail vì thiếu tài nguyên phù hợp (ví dụ: không scale cho distributed training với Horovod/PyTorch). Điều này vi phạm nguyên tắc tách biệt training vs. inference trong Azure ML.

  • No ✅
    Phương án ĐÚNG: Lựa chọn "No" xác nhận khuyến nghị KHÔNG đáp ứng yêu cầu. Lý do đúng: Training trong Azure ML Designer yêu cầu compute targets như Azure Machine Learning Compute Cluster (scale-out training), Data Science VM, hoặc Spark clusters cho big data. Inference cluster tập trung vào low-latency serving (ví dụ: ACI/AKS endpoints), không tối ưu cho CPU/GPU-intensive training. Khuyến nghị này không phù hợp, cần thay bằng compute training-specific.

📘 Tài liệu tham khảo

🧑‍💻 Lời khuyên từ Azure Data Scientist: Luôn chọn compute dựa trên workload - training dùng Cluster, inference dùng managed endpoints để tối ưu chi phí và hiệu suất! 🚀

Câu 143
You are a lead data scientist for a project that tracks the health and migration of birds. You create a multi-class image classification deep learning model that uses a set of labeled bird photographs collected by experts.
You have 100,000 photographs of birds. All photographs use the JPG format and are stored in an Azure blob container in an Azure subscription.
You need to access the bird photograph files in the Azure blob container from the Azure Machine Learning service workspace that will be used for deep learning model training. You must minimize data movement.
What should you do?
  1. A Create an Azure Data Lake store and move the bird photographs to the store.
  2. B Create an Azure Cosmos DB database and attach the Azure Blob containing bird photographs storage to the database.
  3. C Create and register a dataset by using TabularDataset class that references the Azure blob storage containing bird photographs.
  4. D Register the Azure blob storage containing the bird photographs as a datastore in Azure Machine Learning service.
  5. E Copy the bird photographs to the blob datastore that was created with your Azure Machine Learning service workspace.
Xem giải thích

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

Câu hỏi mô tả một tình huống thực tế trong dự án khoa học dữ liệu: Bạn là lead data scientist theo dõi sức khỏe và di cư của chim, đã xây dựng mô hình deep learning phân loại hình ảnh đa lớp (multi-class image classification) sử dụng bộ ảnh chim được gắn nhãn bởi chuyên gia. 📸

  • Bạn có 100.000 ảnh chim định dạng JPG, lưu trữ trong Azure Blob container thuộc một Azure subscription.
  • Yêu cầu: Truy cập các file ảnh này từ Azure Machine Learning (Azure ML) service workspace để huấn luyện mô hình deep learning.
  • Mục tiêu chính: Tối thiểu hóa việc di chuyển dữ liệu (minimize data movement), nghĩa là tránh copy hoặc chuyển dữ liệu không cần thiết để tiết kiệm chi phí, thời gian và tài nguyên. 🛡️

Vấn đề cốt lõi là tích hợp dữ liệu từ Azure Blob vào Azure ML workspace một cách hiệu quả, cho phép Azure ML đọc trực tiếp từ Blob mà không cần di chuyển dữ liệu vật lý. Điều này phù hợp với best practice của Azure ML (phiên bản mới nhất 2024-2026), nơi sử dụng datastores và datasets để quản lý dữ liệu từ xa. 🛤️

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

Đáp án đúng: Register the Azure blob storage containing the bird photographs as a datastore in Azure Machine Learning service.

Lý do:

  • Trong Azure ML (cập nhật đến 2026), datastore là cách chuẩn để đăng ký một nguồn lưu trữ bên ngoài (như Azure Blob Storage) vào workspace, cho phép Azure ML truy cập trực tiếp dữ liệu mà không cần di chuyển. Điều này hoàn hảo cho dữ liệu lớn như 100k ảnh JPG, hỗ trợ compute targets (như GPU clusters) đọc data on-demand trong training.
  • Không có data movement: Blob được mount/read trực tiếp qua ABFS/HTTPS protocol.
  • Hỗ trợ deep learning với TensorFlow/PyTorch via Azure ML pipelines/experiments. 🚀
    Nguồn tham khảo: Azure ML Documentation - Create datastores (cập nhật 2024).

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

Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên yêu cầu minimize data movement và tính phù hợp với Azure ML cho image data.

  • ❌ Create an Azure Data Lake store and move the bird photographs to the store.
    Sai vì: Yêu cầu move (di chuyển) toàn bộ 100k ảnh sang Azure Data Lake (ADLS), vi phạm nguyên tắc minimize data movement. ADLS phù hợp hierarchical data nhưng không cần thiết ở đây, tăng chi phí và thời gian upload. Không tích hợp trực tiếp với Azure ML mà không cần datastore.

  • ❌ Create an Azure Cosmos DB database and attach the Azure Blob containing bird photographs storage to the database.
    Sai vì: Cosmos DB là NoSQL database cho JSON/documents, không phù hợp lưu trữ ảnh lớn (binary JPG). Không có tính năng "attach Blob storage" trực tiếp cho images; Cosmos DB chỉ sync metadata nhỏ. Sẽ yêu cầu convert/extract data, gây movement và phức tạp không cần thiết cho deep learning.

  • ❌ Create and register a dataset by using TabularDataset class that references the Azure blob storage containing bird photographs.
    Sai vì: TabularDataset chỉ dành cho dữ liệu bảng (tabular) như CSV/Parquet (structured rows/columns). Ảnh JPG là unstructured image data, cần FileDataset hoặc ImageDataset thay thế. Dù reference Blob (không move data), class sai sẽ gây lỗi khi load cho image classification.

  • ✅ Register the Azure blob storage containing the bird photographs as a datastore in Azure Machine Learning service.
    Đúng vì: Như giải thích trên, datastore cho phép Azure ML đăng ký Blob trực tiếp, hỗ trợ read-only access cho training mà zero data movement. Sau đó, tạo dataset từ datastore để dùng trong experiments. Hoàn hảo cho scale lớn (100k ảnh). 🏆

  • ❌ Copy the bird photographs to the blob datastore that was created with your Azure Machine Learning service workspace.
    Sai vì: Copy toàn bộ dữ liệu sang "blob datastore mặc định" của workspace, chính là data movement lớn (100k ảnh ~ hàng TB?), tăng chi phí lưu trữ kép và thời gian. Không cần thiết vì có thể register datastore bên ngoài trực tiếp.

🛠️ Khuyến nghị thực hành (best practices Azure ML 2026)

Câu 144
This question is included in a number of questions that depicts the identical set-up. However, every question has a distinctive result. Establish if the recommendation satisfies the requirements.
You are planning to make use of Azure Machine Learning designer to train models.
You need choose a suitable compute type.
Recommendation: You choose Compute cluster.
Will the requirements be satisfied?
  1. A Yes
  2. B No
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi được giải thích rõ ràng:
Câu hỏi thuộc dạng tình huống (scenario-based) trong bộ câu hỏi AWS/Azure certification (có thể từ AZ-104 hoặc DP-100, nhưng tập trung vào Azure ML). Nó mô tả một setup chung: Bạn đang lập kế hoạch sử dụng Azure Machine Learning Designer (công cụ thiết kế pipeline ML low-code/no-code) để train các mô hình học máy (train models). Nhiệm vụ là chọn loại compute phù hợp (suitable compute type).
Khuyến nghị được đưa ra: Chọn Compute Cluster.
Câu hỏi chính: Khuyến nghị này có thỏa mãn yêu cầu (satisfy the requirements) không?
✅ Yêu cầu cốt lõi: Compute phải hỗ trợ training models trong Azure ML Designer, đảm bảo scalability, hiệu suất cao cho workload training lớn. Không có ràng buộc đặc biệt nào khác (như chi phí thấp hoặc dev-only), nên ưu tiên compute mạnh mẽ cho production training.

✅ Đáp án đúng: Yes
Lý do lựa chọn (bằng kiến thức Azure ML mới nhất đến 2026):
🛠️ Compute Cluster là lựa chọn hoàn hảo và phù hợp cho training models trong Azure ML Designer (phiên bản hiện tại và preview 2026 hỗ trợ đầy đủ). Nó cho phép:

  • Auto-scaling (từ 0 đến hàng trăm nodes).
  • Hỗ trợ GPU/CPU mạnh mẽ cho training lớn.
  • Tích hợp trực tiếp với Designer pipelines qua "Compute" module.
  • Pay-as-you-go, phù hợp production workload.
    📘 Nguồn tham khảo:
  • Azure ML Documentation - Compute targets (cập nhật 2025-2026).
  • Azure ML Designer training overview (xác nhận Compute Cluster là recommended cho training).

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

  • Yes
    ✅ Đúng. Phương án này thỏa mãn yêu cầu vì Azure ML Designer chính thức hỗ trợ Compute Cluster làm compute target chính cho training jobs. Nó vượt trội hơn Compute Instance (chỉ dành cho dev/testing nhỏ lẻ), đảm bảo scalability và hiệu suất cao cho các pipeline train models phức tạp. Trong thực tế 2026, Designer pipelines có thể submit jobs trực tiếp lên Cluster mà không cần code tùy chỉnh.

  • No
    ❌ Sai. Phương án này không chính xác vì không có lý do nào để từ chối Compute Cluster. Nó hoàn toàn phù hợp, không vi phạm bất kỳ hạn chế nào của Designer (như chỉ hỗ trợ Instance hoặc ACI). Nếu setup yêu cầu "dev-only" hoặc "single-node", thì mới sai, nhưng câu hỏi chỉ nhấn mạnh "train models" – workload cần Cluster để scale.

Câu 145
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
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 are analyzing a numerical dataset which contains missing values in several columns.
You must clean the missing values using an appropriate operation without affecting the dimensionality of the feature set.
You need to analyze a full dataset to include all values.
Solution: Calculate the column median value and use the median value as the replacement for any missing value in the column.
Does the solution meet the goal?
  1. A Yes
  2. B No
Xem giải thích

🧠 Phân tích chi tiết câu hỏi trắc nghiệm (Chủ đề AWS Data Science/ML)

📖 Nội dung câu hỏi được giải thích rõ ràng:
Câu hỏi này thuộc một series các câu hỏi có cùng scenario (tình huống giống nhau), mỗi câu đưa ra một giải pháp unique để kiểm tra xem nó có đạt được mục tiêu hay không. Bạn không thể quay lại sau khi trả lời.

Scenario chính:

  • Bạn đang phân tích một dataset số học (numerical dataset) chứa missing values (giá trị thiếu) ở nhiều cột.
  • Yêu cầu bắt buộc: Làm sạch (clean) missing values bằng phương pháp phù hợp mà KHÔNG ảnh hưởng đến dimensionality của feature set (tức giữ nguyên kích thước dataset, không drop rows hoặc columns để tránh mất dữ liệu chiều).
  • Mục tiêu cuối: Phân tích full dataset để include all values (bao gồm tất cả giá trị, không loại bỏ bất kỳ phần nào).

Giải pháp đề xuất (Solution): Tính median (giá trị trung vị) của từng cột và sử dụng median đó để thay thế (impute) cho mọi missing value trong cột đó.

Câu hỏi cốt lõi: Giải pháp này có đạt được mục tiêu (meet the goal) không?
(Lưu ý: Đây là nguyên tắc data preprocessing chuẩn trong AWS SageMaker, Data Wrangler hoặc Amazon ML services, nơi imputation là cách phổ biến để xử lý missing data mà giữ nguyên shape dataset – cập nhật đến AWS re:Invent 2025 và SageMaker phiên bản 2026 với hỗ trợ auto-imputation nâng cao).

✅ Đáp án ĐÚNG: Yes

Lý do lựa chọn chi tiết:
Giải pháp hoàn toàn phù hợp với mục tiêu vì:

  • Median imputation thay thế missing values bằng giá trị trung vị của cột, KHÔNG thay đổi dimensionality (dataset giữ nguyên số rows và columns 🛡️️).
  • Cho phép analyze full dataset bằng cách "include all values" – tất cả rows đều có giá trị đầy đủ sau imputation, tránh mất dữ liệu.
  • Với numerical data, median là lựa chọn robust (kháng nhiễu outlier tốt hơn mean), phù hợp AWS best practices cho skewed distributions (theo AWS SageMaker Data Wrangler 2026).
    ✅ Kết luận: Solution MEETS the goal!

🧩 Giải thích TẤT CẢ các phương án (Đúng & Sai)

Dưới đây là phân tích từng lựa chọn giữ nguyên text gốc tiếng Anh, kèm giải thích chi tiết bằng tiếng Việt dựa trên logic data science AWS:

  • [ĐÚNG] Yes ✅
    Giải thích đúng: Phương pháp này đúng chuẩn vì tính median per column và thay thế missing values là kỹ thuật imputation phổ biến trong AWS (SageMaker Processing Jobs hoặc scikit-learn integration). Nó giữ nguyên shape dataset (không drop data), đảm bảo full dataset analysis với tất cả values được "điền đầy". Median đặc biệt hiệu quả cho numerical data có outlier, tránh bias như mean imputation. Hoàn hảo meet the goal! (Tham khảo: AWS SageMaker docs - Handling missing data via imputation).

  • [SAI] No ❌
    Giải thích sai: Lựa chọn này KHÔNG đúng vì giải pháp rõ ràng đạt yêu cầu: không ảnh hưởng dimensionality (imputation ≠ deletion), và enable full dataset analysis. Nếu chọn No, bạn đang bỏ qua lợi ích của median (robust cho numerical data). Trong AWS context, dropna() hoặc listwise deletion sẽ vi phạm "no dimensionality change" và "include all values". Không meet the goal? Sai lầm!

📘 Tài liệu tham khảo (Cập nhật AWS 2026)

  • 🛠️ AWS SageMaker Data Wrangler User Guide (2026): Hỗ trợ median/mean imputation trực tiếp trong pipeline, giữ nguyên dataset shape (docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler.html).
  • 🧩 AWS ML Best Practices for Missing Data: Khuyến nghị imputation cho numerical features để tránh bias (aws.amazon.com/blogs/machine-learning/handling-missing-values-in-ml-pipelines/).
  • 📚 Scikit-learn (tích hợp AWS Lambda/SageMaker): SimpleImputer(strategy='median') – chuẩn gold cho numerical imputation (scikit-learn.org/stable/modules/impute.html – version 1.5+ used in AWS 2026).

💡 Lời khuyên từ Azure Data Scientist perspective: Tương tự Azure ML Studio hoặc Synapse, AWS ưu tiên imputation để scale full dataset – áp dụng median cho numerical là safe bet! 🚀

Câu 146
You are making use of the Azure Machine Learning to designer construct an experiment.
After dividing a dataset into training and testing sets, you configure the algorithm to be Two-Class Boosted Decision Tree.
You are preparing to ascertain the Area Under the Curve (AUC).
Which of the following is a sequential combination of the models required to achieve your goal?
  1. A Train, Score, Evaluate.
  2. B Score, Evaluate, Train.
  3. C Evaluate, Export Data, Train.
  4. D Train, Score, Export Data.
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 quy trình xây dựng và đánh giá một mô hình học máy trong Azure Machine Learning Designer (trước đây gọi là Azure ML Studio). Cụ thể:

  • Bạn đang thiết kế một thí nghiệm (experiment) sử dụng dataset đã được chia thành tập huấn luyện (training set) và tập kiểm tra (testing set).
  • Thuật toán được chọn là Two-Class Boosted Decision Tree (một mô hình phân loại nhị phân dựa trên cây quyết định tăng cường).
  • Mục tiêu là tính toán Area Under the Curve (AUC) – một chỉ số đánh giá hiệu suất mô hình phân loại, đo lường khả năng phân biệt giữa các lớp (giá trị AUC gần 1 là tốt).
  • Câu hỏi yêu cầu xác định chuỗi các module (models/modules) theo thứ tự tuần tự cần thiết để đạt được mục tiêu này.

🛠️ Lưu ý quan trọng: Trong Azure ML Designer, các module được kéo thả để tạo pipeline. Quy trình tiêu chuẩn cho phân loại (classification) để tính AUC phải tuân thủ logic: huấn luyện → dự đoán → đánh giá. Đây là quy trình không thay đổi lớn đến phiên bản mới nhất năm 2026 (Azure ML Designer tích hợp trong Azure AI Studio).

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

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

Đáp án đúng: Train, Score, Evaluate.

🧩 Lý do:

  • Đây là chuỗi module chuẩn và tuần tự trong Azure ML Designer để xây dựng, dự đoán và đánh giá mô hình phân loại:
    1. Train Model: Sử dụng training set để huấn luyện mô hình Two-Class Boosted Decision Tree.
    2. Score Model: Áp dụng mô hình đã huấn luyện lên testing set để tạo ra các dự đoán (predictions).
    3. Evaluate Model: Nhận đầu vào từ Score Model (dự đoán + nhãn thực tế) để tính toán các metrics như AUC.
  • Không có bước nào thừa hoặc sai thứ tự, đảm bảo pipeline chạy mượt mà và AUC được tính chính xác.

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

  • ✅ Train, Score, Evaluate
    Phương án này hoàn toàn đúng vì tuân thủ đúng quy trình logic của Azure ML Designer: huấn luyện trước (Train), dự đoán trên test data (Score), rồi đánh giá metrics như AUC (Evaluate). Đây là pipeline tiêu chuẩn cho mọi mô hình phân loại, được Microsoft khuyến nghị.

  • ❌ Score, Evaluate, Train
    Phương án này sai vì thứ tự đảo lộn: Không thể Score (dự đoán) hoặc Evaluate (đánh giá) nếu chưa Train (huấn luyện) mô hình. Score Model yêu cầu mô hình đã train làm đầu vào, nếu không pipeline sẽ lỗi ngay từ đầu.

  • ❌ Evaluate, Export Data, Train
    Phương án này sai vì: (1) Evaluate phải đặt sau Score và cần dữ liệu dự đoán, không thể làm đầu tiên; (2) Export Data chỉ dùng để xuất dữ liệu ra file (không liên quan đến tính AUC); (3) Train phải là bước đầu tiên sau khi split data. Thứ tự này vô nghĩa và không chạy được.

  • ❌ Train, Score, Export Data
    Phương án này sai vì thiếu Evaluate Model – bước bắt buộc để tính AUC từ kết quả Score. Export Data chỉ xuất predictions ra file (hữu ích cho deployment), nhưng không tính metrics như AUC. Mục tiêu câu hỏi là "ascertain the AUC", nên cần Evaluate thay vì Export.

🛠️ Kết luận: Quy trình Train → Score → Evaluate là nền tảng cho mọi experiment classification trong Azure ML Designer. Nếu bạn đang thiết kế pipeline thực tế, hãy kết nối đúng cổng đầu vào/đầu ra giữa các module để tránh lỗi! 🚀

Câu 147
You create an Azure Machine Learning workspace.
You must create a custom role named DataScientist that meets the following requirements:
✑ Role members must not be able to delete the workspace.
✑ Role members must not be able to create, update, or delete compute resources in the workspace.
✑ Role members must not be able to add new users to the workspace.
You need to create a JSON file for the DataScientist role in the Azure Machine Learning workspace.
The custom role must enforce the restrictions specified by the IT Operations team.
Which JSON code segment should you use?
  1. A
    {
      "Name": "DataScientist",
      "IsCustom": true,
      "Description": "Project Data Scientist role",
      "Actions": ["*"],
      "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete",
        "Microsoft.Authorization/*/write"
      ],
      "AssignableScopes": [
        "/subscriptions//resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/ml-ws"
      ]
    }
  2. B
    {
        "Name": "DataScientist",
        "IsCustom": true,
        "Description": "Project Data Scientist role",
        "Actions": ["*"],
        "NotActions": [],
        "AssignableScopes": [
            "/subscriptions//resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/ml-ws"
        ]
    }
  3. C
    {
        "Name": "DataScientist",
        "IsCustom": true,
        "Description": "Project Data Scientist role",
        "Actions": [
            "Microsoft.MachineLearningServices/workspaces/*/delete",
            "Microsoft.MachineLearningServices/workspaces/computes/*/write",
            "Microsoft.MachineLearningServices/workspaces/computes/*/delete",
            "Microsoft.Authorization/*/*/write"
        ],
        "NotActions": [],
        "AssignableScopes": [
            "/subscriptions//resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/ml-ws"
        ]
    }
  4. D
    {
        "Name": "DataScientist",
        "IsCustom": true,
        "Description": "Project Data Scientist role",
        "Actions": [],
        "NotActions": ["*"],
        "AssignableScopes": [
            "/subscriptions//resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/ml-ws"
        ]
    }
Xem giải thích

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

Câu hỏi yêu cầu tạo một custom role tên DataScientist trong Azure Machine Learning workspace. Role này phải tuân thủ các ràng buộc từ đội ngũ IT Operations:
✅ Không được phép xóa workspace (delete workspace).
✅ Không được phép tạo (create), cập nhật (update) hoặc xóa (delete) compute resources (như compute instances hoặc compute clusters trong workspace).
✅ Không được phép thêm user mới vào workspace (add new users, thường qua việc assign roles).

Bạn cần tạo file JSON định nghĩa role này, sử dụng cơ chế Azure RBAC (Role-Based Access Control). Trong Azure RBAC, role được định nghĩa bằng:

  • Actions: Các hành động được phép thực hiện (có thể dùng ["*"] để cho phép tất cả).
  • NotActions: Các hành động bị cấm (ghi đè lên Actions).
  • AssignableScopes: Phạm vi áp dụng role (ở đây là cụ thể workspace).

Kiến thức dựa trên Azure RBAC phiên bản mới nhất (cập nhật đến 2026): Các action cho Machine Learning Services bao gồm Microsoft.MachineLearningServices/workspaces/*/delete (xóa workspace), workspaces/computes/*/write (create/update compute), workspaces/computes/*/delete (xóa compute), và Microsoft.Authorization/*/write (quản lý authorization như add users).
📘 Tài liệu tham khảo:

✅ Đáp án đúng

Phương án đầu tiên là JSON code segment đúng.

Lý do lựa chọn:
🛠️ JSON này sử dụng Actions: ["*"] để cho phép tất cả hành động cơ bản của Data Scientist (như train models, run experiments), nhưng NotActions chính xác chặn các quyền bị cấm:

  • Microsoft.MachineLearningServices/workspaces/*/delete → Ngăn xóa workspace.
  • Microsoft.MachineLearningServices/workspaces/computes/*/write → Ngăn create/update compute (write bao gồm cả create/update).
  • Microsoft.MachineLearningServices/workspaces/computes/*/delete → Ngăn xóa compute.
  • Microsoft.Authorization/*/write → Ngăn add users (viết authorization).
    AssignableScopes giới hạn đúng ở workspace cụ thể, đảm bảo role chỉ áp dụng ở đó. Đây là cách best practice để tạo role hạn chế trong Azure ML (xác nhận qua docs 2026).
{
  "Name": "DataScientist",
  "IsCustom": true,
  "Description": "Project Data Scientist role",
  "Actions": ["*"],
  "NotActions": [
    "Microsoft.MachineLearningServices/workspaces/*/delete",
    "Microsoft.MachineLearningServices/workspaces/computes/*/write",
    "Microsoft.MachineLearningServices/workspaces/computes/*/delete",
    "Microsoft.Authorization/*/write"
  ],
  "AssignableScopes": [
    "/subscriptions/<id>/resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/ml-ws"
  ]
}

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

🧩 Phương án 1 (ĐÚNG - như trên):
Hoàn hảo khớp yêu cầu, sử dụng NotActions để chặn chính xác các hành động nguy hiểm mà vẫn cho phép các task Data Scientist khác.

🧩 Phương án 2 (SAI):

{
    "Name": "DataScientist",
    "IsCustom": true,
    "Description": "Project Data Scientist role",
    "Actions": ["*"],
    "NotActions": [],
    "AssignableScopes": [
        "/subscriptions/<id>/resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/ml-ws"
    ]
}

Lý do sai: NotActions: [] (rỗng) nghĩa là không chặn gì cả. Với Actions: ["*"], role có thể xóa workspace, quản lý compute, và add users – vi phạm toàn bộ yêu cầu! ❌

🧩 Phương án 3 (SAI):

{
    "Name": "DataScientist",
    "IsCustom": true,
    "Description": "Project Data Scientist role",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete",
        "Microsoft.Authorization/*/*/write"
    ],
    "NotActions": [],
    "AssignableScopes": [
        "/subscriptions/<id>/resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/ml-ws"
    ]
}

Lý do sai: Actions liệt kê chính các hành động bị cấm (delete workspace, write/delete compute, authorization write – lưu ý syntax sai /*/*/write), nên role cho phép những việc này thay vì chặn. NotActions rỗng làm tình hình tệ hơn. Ngoài ra, syntax Microsoft.Authorization/*/*/write không chuẩn (phải là Microsoft.Authorization/*/write). ❌

🧩 Phương án 4 (SAI):

{
    "Name": "DataScientist",
    "IsCustom": true,
    "Description": "Project Data Scientist role",
    "Actions": [],
    "NotActions": ["*"],
    "AssignableScopes": [
        "/subscriptions/<id>/resourceGroups/ml-rg/providers/Microsoft.MachineLearningServices/workspaces/ml-ws"
    ]
}

Lý do sai: Actions: [] (rỗng) nghĩa là không cho phép hành động nào, và NotActions: ["*"] chặn tất cả – role này không làm được gì cả (read-only hạn chế cực độ), Data Scientist không thể train model hay experiment. Hoàn toàn ngược yêu cầu! ❌

Tóm tắt: Chỉ phương án 1 cân bằng đúng quyền hạn chế theo Azure RBAC mới nhất. 🏆

Câu 148
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You create an Azure Machine Learning pipeline named pipeline1 with two steps that contain Python scripts. Data processed by the first step is passed to the second step.

You must update the content of the downstream data source of pipeline1 and run the pipeline again.

You need to ensure the new run of pipeline1 fully processes the updated content.

Solution: Set the allow_reuse parameter of the PythonScriptStep object of both steps to False.

Does the solution meet the goal?
  1. A Yes
  2. B No
Xem giải thích

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

📘 Nội dung câu hỏi được giải thích chi tiết:
Câu hỏi thuộc dạng series scenario trong kỳ thi chứng chỉ Azure (như DP-100: Designing and Implementing a Data Science Solution on Azure), nơi mỗi câu có giải pháp riêng để đạt mục tiêu. Bạn đã tạo một pipeline Azure ML tên pipeline1 với hai steps, mỗi step sử dụng PythonScriptStep (script Python). Dữ liệu được xử lý từ step 1 sẽ truyền trực tiếp sang step 2 (qua PipelineData hoặc output bindings).

Mục tiêu chính (goal): Cập nhật nội dung của downstream data source (nguồn dữ liệu downstream của pipeline1, thường là output data store hoặc dataset mà pipeline ghi kết quả vào) và chạy lại pipeline. Đảm bảo new run của pipeline fully processes (xử lý toàn bộ) nội dung đã cập nhật, không bị skip hoặc reuse kết quả cũ.

Giải pháp đề xuất (Solution): Đặt tham số allow_reuse của PythonScriptStep ở cả hai steps thành False.
Hỏi: Giải pháp này có đạt mục tiêu không? (Yes/No).

🛠️ Bối cảnh kỹ thuật (dựa trên Azure ML phiên bản mới nhất 2024-2026):

  • Azure ML Pipelines (v2) sử dụng steps như PythonScriptStep với cơ chế caching/reuse dựa trên hash của inputs/outputs/parameters. Mặc định allow_reuse=True, step sẽ skip chạy nếu signature không thay đổi (tiết kiệm thời gian).
  • Khi cập nhật downstream data source (ví dụ: ghi đè file trong Azure Blob/Data Lake), nếu không force re-execute, step 2 có thể reuse output cũ vì input từ step 1 chưa thay đổi signature.
  • Cần force full re-execution để xử lý dữ liệu mới hoàn toàn.

✅ Đáp án đúng: Yes
Lý do lựa chọn (bằng tiếng Việt):
Giải pháp đúng vì đặt allow_reuse=False cho cả hai PythonScriptStep sẽ tắt cơ chế reuse/cache ở tất cả steps. Do đó:

  • Step 1 chạy lại từ đầu, xử lý dữ liệu input mới (nếu có).
  • Step 2 nhận input mới từ step 1 và chạy lại, đảm bảo fully processes updated content của downstream data source.
  • Không có step nào bị skip, ngay cả khi hash inputs/parameters trông "giống cũ". Đây là cách chuẩn để force re-run toàn pipeline trong Azure ML (xác nhận qua docs Azure ML v2).

📋 Giải thích tất cả các phương án (giữ nguyên text gốc bằng tiếng Anh):

  • Yes ✅
    Phân tích đúng/sai (tiếng Việt): Phương án này ĐÚNG hoàn toàn. Như giải thích trên, allow_reuse=False ở cả hai steps đảm bảo pipeline re-execute đầy đủ, xử lý nội dung downstream data source đã cập nhật mà không phụ thuộc vào cache. Nếu chỉ set ở một step, step kia có thể vẫn reuse, không đạt "fully processes". Tài liệu: Azure ML PythonScriptStep docs.

  • No ❌
    Phân tích đúng/sai (tiếng Việt): Phương án này SAI. Không chọn "No" vì giải pháp đã meet the goal – không có lý do nào cho rằng allow_reuse=False không hiệu quả. Nếu dữ liệu chỉ thay đổi content mà signature không đổi (ví dụ: overwrite file cùng path), reuse mặc định sẽ skip, nhưng set False khắc phục chính xác vấn đề.

🔗 Tài liệu tham khảo (cập nhật 2024-2026):

💡 Lời khuyên từ Azure Data Scientist: Sử dụng allow_reuse=False trong production khi debug hoặc data volatile, nhưng bật True để tối ưu chi phí compute! 🚀

Câu 149
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
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 are a data scientist using Azure Machine Learning Studio.
You need to normalize values to produce an output column into bins to predict a target column.
Solution: Apply an Equal Width with Custom Start and Stop binning mode.
Does the solution meet the goal?
  1. A Yes
  2. B No
Xem giải thích

🧠 Phân tích câu hỏi trắc nghiệm từ Microsoft Azure Data Scientist

Chào bạn! Tôi là một Microsoft Azure Data Scientist chuyên sâu về Azure Machine Learning (Azure ML). 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 của bạn. Câu hỏi thuộc dạng "scenario-based" trong các kỳ thi chứng chỉ (như DP-100), nơi bạn phải đánh giá xem giải pháp có đáp ứng mục tiêu hay không. Hãy cùng khám phá nhé! 📘

🧩 Giải thích nội dung câu hỏi một cách chi tiết

  • Bối cảnh: Bạn là một data scientist đang sử dụng Azure Machine Learning Studio (phiên bản Classic, nay là Azure ML Studio designer trong Azure ML workspace). Đây là môi trường kéo-thả để xây dựng pipeline ML.
  • Mục tiêu (goal): Normalize values (chuẩn hóa giá trị) để tạo ra một output column (cột đầu ra) được phân loại into bins (vào các ngăn/bin), nhằm hỗ trợ predict a target column (dự đoán cột mục tiêu).
    • Normalize ở đây ám chỉ việc scale dữ liệu về một phạm vi chuẩn (ví dụ: 0-1, z-score), KHÔNG phải chỉ đơn thuần phân loại vào bins.
    • Bins là các nhóm khoảng giá trị (như low/medium/high), thường dùng cho feature engineering để cải thiện mô hình dự đoán.
    • Vấn đề cốt lõi: Cần một giải pháp vừa normalize vừa tạo bins cho output column để hỗ trợ prediction.
  • Giải pháp đề xuất (Solution): Apply an Equal Width with Custom Start and Stop binning mode.
    • Đây là chế độ binning (phân nhóm dữ liệu) trong module Group Data into Bins của Azure ML Studio.
    • Equal Width: Chia khoảng giá trị thành các bin có chiều rộng bằng nhau (ví dụ: từ 0-10, 10-20,...).
    • Custom Start and Stop: Cho phép tùy chỉnh điểm bắt đầu (start) và kết thúc (stop) của binning.
  • Câu hỏi chính: Does the solution meet the goal? (Giải pháp có đáp ứng mục tiêu không?)
  • Lưu ý từ đề: Đây là phần series questions, không quay lại được, và có thể có >1 đáp án đúng hoặc không có.

Dựa trên tài liệu Azure ML cập nhật mới nhất đến năm 2026 (Azure ML Studio designer v2 và modules legacy), binning KHÔNG tương đương với normalize. Normalize cần module riêng như Normalize Data. 🛠️

✅ Đáp án đúng: No

  • Lý do lựa chọn:
    • Giải pháp chỉ thực hiện binning (phân nhóm vào bins với equal width), KHÔNG normalize dữ liệu (không scale về phạm vi chuẩn như min-max hay z-score).
    • Mục tiêu yêu cầu normalize values trước khi tạo bins cho output column để predict target. Binning đơn thuần chỉ tạo categorical features (như "Bin1", "Bin2"), không thay đổi scale của giá trị gốc – dẫn đến không hỗ trợ hiệu quả cho prediction (mô hình có thể bị bias nếu dữ liệu chưa normalize).
    • Trong Azure ML, để đạt goal, cần dùng Normalize Data module trước, sau đó Group Data into Bins (nếu cần bins). Giải pháp này bỏ qua normalize, nên KHÔNG meet the goal. ❌

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

  • Yes ❌
    Phân tích sai: Phương án này sai vì giả định binning equal width đã đủ để normalize. Thực tế, Equal Width with Custom Start and Stop chỉ phân chia dữ liệu thành bins đều nhau dựa trên min/max tùy chỉnh, không scale giá trị (ví dụ: giá trị 1000 vẫn giữ nguyên, chỉ gán nhãn bin). Điều này không đáp ứng "normalize values" – một bước chuẩn hóa bắt buộc cho ML pipeline để tránh dominance của features lớn. Sử dụng sai module dẫn đến output không phù hợp cho prediction target column.

  • No ✅
    Phân tích đúng: Phương án này đúng vì giải pháp không normalize mà chỉ binning. Trong Azure ML (2026), module Group Data into Bins chỉ tạo bins (equal width/equal frequency), không hỗ trợ normalize built-in. Để fix: Kết hợp Normalize Data (chọn Quantile, MinMax) + Group Data into Bins. Binning thuần túy có thể gây mất thông tin (information loss) nếu không normalize trước, không đạt goal predict target.

🔗 Tài liệu tham khảo (dẫn nguồn chính thức AWS/Azure - cập nhật 2026)

Nếu bạn có thêm câu hỏi series hoặc scenario khác, hãy hỏi tôi để phân tích sâu hơn nhé! 🚀

Câu 150
You use the Azure Machine Learning service to create a tabular dataset named training_data. You plan to use this dataset in a training script.
You create a variable that references the dataset using the following code: training_ds = workspace.datasets.get("training_data")
You define an estimator to run the script.
You need to set the correct property of the estimator to ensure that your script can access the training_data dataset.
Which property should you set?
  1. A environment_definition = {"training_data":training_ds}
  2. B inputs = [training_ds.as_named_input('training_ds')]
  3. C script_params = {"--training_ds":training_ds}
  4. D source_directory = training_ds
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), tập trung vào việc sử dụng Estimator (một lớp trong Azure ML SDK v1 để chạy script huấn luyện) để truyền dữ liệu từ tabular dataset vào script huấn luyện.

  • Bối cảnh: Bạn đã tạo một dataset dạng bảng tên training_data bằng Azure Machine Learning service. Sau đó, tham chiếu dataset này qua biến training_ds = workspace.datasets.get("training_data"). Bây giờ, bạn định nghĩa một Estimator để chạy script huấn luyện, và cần thiết lập property đúng của Estimator để script có thể truy cập dataset training_data.
  • Mục tiêu chính: Đảm bảo dataset được mount (gắn kết) hoặc truyền vào môi trường chạy script một cách đúng chuẩn, giúp script đọc dữ liệu qua tham số --inputs hoặc đường dẫn tự động.
  • Phiên bản kiến thức: Dựa trên Azure ML SDK v1 (Estimator class) cập nhật đến năm 2026, nơi Estimator hỗ trợ inputs để xử lý datasets qua as_named_input() (tạo named input stream cho TabularDataset). Lưu ý: Trong SDK v2 (ScriptRunConfig), cách tiếp cận tương tự nhưng ưu tiên CommandJob.

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

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

Đáp án đúng: inputs = [training_ds.as_named_input('training_ds')]

Lý do 🛠️:

  • Trong Azure ML Estimator, property inputs được thiết kế chuyên biệt để truyền datasets (như TabularDataset) vào script. Phương thức as_named_input('training_ds') chuyển dataset thành NamedInput (một stream input), tự động mount dataset vào đường dẫn /tmp/{name} hoặc inputs.training_ds trong script. Script có thể truy cập qua args.training_ds hoặc Run.get_context().input_datasets['training_ds'].
  • Đây là cách chuẩn và an toàn nhất theo best practice Azure ML, hỗ trợ cả local run lẫn remote compute, tránh lỗi path hoặc serialization. Không dùng cách này sẽ khiến script không đọc được dataset.

❌ Phân tích tất cả các phương án (đúng/sai)

Dưới đây là giải thích chi tiết từng lựa chọn, giữ nguyên văn bản gốc:

  • environment_definition = {"training_data":training_ds}
    ❌ Sai: Property environment_definition không tồn tại trong Estimator (hoặc chỉ dùng cho custom env vars ở mức thấp). Dataset không thể truyền trực tiếp như dict vào environment; nó cần mount qua inputs. Sử dụng sẽ gây lỗi TypeError vì Estimator mong đợi Environment object, không phải dataset reference.

  • inputs = [training_ds.as_named_input('training_ds')]
    ✅ Đúng: Như đã giải thích ở trên. Đây là cách chính thức để bind dataset vào script qua named input stream. Hỗ trợ scale lớn, versioning dataset, và tích hợp với AutoML/Designer. Ví dụ code đầy đủ: est = Estimator(source_directory='.', script_params=['--data', training_ds.as_named_input('training_ds').as_mount()], inputs=[training_ds.as_named_input('training_ds')]).

  • script_params = {"--training_ds":training_ds}
    ❌ Sai: Property script_params chỉ truyền arguments dạng string (như hyperparameters: --epochs 10). Dataset object không serialize được thành arg string; sẽ lỗi khi submit run (TypeError: Dataset không convert sang str). Dùng cho params scalar, không phải dataset.

  • source_directory = training_ds
    ❌ Sai: Property source_directory chỉ định thư mục chứa script Python (local path hoặc Git repo), không phải dataset. Gán dataset vào đây sẽ lỗi validation vì Estimator yêu cầu string path, dẫn đến failure khi resolve source code.

🧠 Lưu ý bổ sung: Trong Azure ML SDK v2 (khuyến nghị 2024+), dùng CommandJob với inputs={'training_ds': training_ds} thay vì Estimator. Cách cũ vẫn hỗ trợ legacy nhưng nên migrate để tận dụng MLflow tracking tốt hơn!