Ngân hàng đề — AWS Certified Machine Learning Engineer Associate

Tìm thấy 635 câu.

Câu 531
A company wants to reduce the cost of its containerized ML applications. The applications use ML models that run on Amazon EC2 instances, AWS Lambda functions, and an Amazon Elastic Container Service (Amazon ECS) cluster. The EC2 workloads and ECS workloads use Amazon Elastic Block Store (Amazon EBS) volumes to save predictions and artifacts.
An ML engineer must identify resources that are being used inefficiently. The ML engineer also must generate recommendations to reduce the cost of these resources.
Which solution will meet these requirements with the LEAST development effort?
  1. A Create code to evaluate each instance's memory and compute usage.
  2. B Add cost allocation tags to the resources. Activate the tags in AWS Billing and Cost Management.
  3. C Check AWS CloudTrail event history for the creation of the resources.
  4. D Run AWS Compute Optimizer.
Xem giải thích

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

Câu hỏi tập trung vào việc giảm chi phí cho các ứng dụng ML containerized chạy trên Amazon EC2 instances, AWS Lambda functions, và Amazon ECS cluster. Các workload trên EC2 và ECS sử dụng Amazon EBS volumes để lưu trữ predictions (dự đoán) và artifacts (sản phẩm phụ).

Nhiệm vụ của ML engineer là:

  • Xác định (identify) các tài nguyên đang được sử dụng không hiệu quả (inefficiently).
  • Tạo ra các khuyến nghị (recommendations) để giảm chi phí cho những tài nguyên này.

Yêu cầu chính: Giải pháp phải đáp ứng với ít nỗ lực phát triển nhất (LEAST development effort), nghĩa là ưu tiên các dịch vụ AWS tự động, không cần viết code phức tạp.

Chủ đề liên quan đến AWS Cost Optimization và Right-Sizing tài nguyên compute/storage, phù hợp với best practices trong AWS Well-Architected Framework (Operations Pillar & Cost Optimization Pillar). Kiến thức cập nhật đến 2026: AWS Compute Optimizer hỗ trợ đầy đủ EC2, Lambda, ECS (Fargate tasks/services), EBS volumes với ML inference workloads. 📘

✅ Đáp án đúng: Run AWS Compute Optimizer

Lý do lựa chọn:

  • AWS Compute Optimizer là dịch vụ tự động phân tích telemetry dữ liệu từ CloudWatch (CPU, memory, network, EBS I/O) của EC2, Lambda, ECS (Fargate), và EBS volumes. Nó sử dụng ML algorithms để xác định tài nguyên inefficient và tạo recommendations cụ thể như right-sizing instance types, Lambda memory allocation, ECS task configurations, hoặc EBS volume types/sizes – giúp giảm chi phí lên đến 30-50% mà không cần viết code nào (least development effort).
  • Hoàn hảo khớp yêu cầu: Phân tích workload ML (bao gồm predictions/artifacts trên EBS), hỗ trợ tất cả services trong câu hỏi. Chỉ cần enable và run qua Console/CLI/API. 🛠️

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

  • Run AWS Compute Optimizer
    ✅ Đúng: Như giải thích trên, đây là giải pháp managed service của AWS, tự động hóa hoàn toàn việc phân tích usage metrics và generate recommendations cho EC2, Lambda, ECS, EBS. Không cần dev effort, kết quả sẵn sàng trong 1-2 ngày sau khi enable. Hỗ trợ Savings Opportunity % và Lambda power configurations (cập nhật 2024-2026).

  • Create code to evaluate each instance's memory and compute usage
    ❌ Sai: Yêu cầu viết code custom (ví dụ dùng CloudWatch APIs hoặc scripts Python) để thu thập và phân tích metrics – effort cao, không scalable, dễ lỗi, và không generate recommendations tự động như right-sizing. Không phải least effort, vi phạm yêu cầu chính.

  • Add cost allocation tags to the resources. Activate the tags in AWS Billing and Cost Management
    ❌ Sai: Cost allocation tags chỉ giúp phân bổ chi phí theo tag (ví dụ theo team/project) trong Billing console hoặc Cost Explorer, không phân tích inefficient usage hay generate recommendations right-sizing. Nó hỗ trợ visibility cost nhưng không meet identify inefficient resources một cách tự động.

  • Check AWS CloudTrail event history for the creation of the resources
    ❌ Sai: CloudTrail ghi log events API (như create EC2/ECS/EBS), dùng để audit/security, không cung cấp metrics usage (CPU/memory/EBS I/O) hay recommendations cost-saving. Chỉ xem lịch sử tạo tài nguyên, không giúp optimize runtime efficiency.

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

Giải pháp này đảm bảo cost-effective và scalable cho DevOps/ML pipelines! 🚀

Câu 532
A company needs to create a central catalog for all the company's ML models. The models are in AWS accounts where the company developed the models initially. The models are hosted in Amazon Elastic Container Registry (Amazon ECR) repositories.
Which solution will meet these requirements?
  1. A Configure ECR cross-account replication for each existing ECR repository. Ensure that each model is visible in each AWS account.
  2. B Create a new AWS account with a new ECR repository as the central catalog. Configure ECR cross-account replication between the initial ECR repositories and the central catalog.
  3. C Use the Amazon SageMaker Model Registry to create a model group for models hosted in Amazon ECR. Create a new AWS account. In the new account, use the SageMaker Model Registry as the central catalog. Attach a cross-account resource policy to each model group in the initial AWS accounts.
  4. D Use an AWS Glue Data Catalog to store the models. Run an AWS Glue crawler to migrate the models from the ECR repositories to the Data Catalog. Configure cross-account access to the Data Catalog.
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 xây dựng một catalog trung tâm (central catalog) cho tất cả các ML models của công ty. Các models này đang được lưu trữ dưới dạng container images trong Amazon Elastic Container Registry (Amazon ECR) repositories thuộc các AWS accounts riêng biệt (nơi phát triển ban đầu).

✅ Yêu cầu chính: Giải pháp phải cho phép tập trung hóa quản lý models từ nhiều accounts vào một nơi trung tâm, dễ dàng khám phá, version control và truy cập cross-account, phù hợp với quy trình ML/MLOps trên AWS. Không chỉ replicate images mà cần một registry chuyên dụng cho ML models hỗ trợ metadata, lineage và governance.

🛠️ Bối cảnh AWS cập nhật 2026: Với SageMaker phiên bản mới nhất (SageMaker Model Registry v2+), ECR hỗ trợ replication cross-account, nhưng SageMaker cung cấp catalog semantic cho ML với cross-account sharing qua IAM resource policies – lý tưởng cho MLOps enterprise.

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

Đáp án đúng: Use the Amazon SageMaker Model Registry to create a model group for models hosted in Amazon ECR. Create a new AWS account. In the new account, use the SageMaker Model Registry as the central catalog. Attach a cross-account resource policy to each model group in the initial AWS accounts.

Lý do chọn đáp án này 🏆:

  • Amazon SageMaker Model Registry là dịch vụ chuyên biệt cho ML models, hỗ trợ đăng ký models từ ECR (qua container image URI), quản lý versions, approvals, lineage và metadata.
  • Tạo model group ở accounts gốc, sau đó dùng cross-account resource policy (IAM policy trên model group) để chia sẻ với account trung tâm mới – cho phép catalog trung tâm read-only hoặc full access mà không cần replicate data.
  • Hiệu quả, scalable, không duplicate storage, tích hợp AWS Organizations cho multi-account. Đây là best practice theo AWS Well-Architected Framework cho ML (2024-2026 updates).

📋 Phân tí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 bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể dựa trên tính phù hợp, tính năng AWS và limitations.

  • ❌ [SAI] Configure ECR cross-account replication for each existing ECR repository. Ensure that each model is visible in each AWS account.
    Giải thích sai: ECR replication chỉ copy container images cross-account (pull-through hoặc push replication), không tạo catalog semantic cho ML (không có metadata, versioning ML-specific, approvals). Models vẫn phân tán ở mọi account, không có "central catalog" thống nhất – vi phạm yêu cầu tập trung hóa. Phí storage cao do duplicate.

  • ❌ [SAI] Create a new AWS account with a new ECR repository as the central catalog. Configure ECR cross-account replication between the initial ECR repositories and the central catalog.
    Giải thích sai: Tương tự lựa chọn A, chỉ replicate images vào ECR trung tâm – vẫn là image storage, không phải catalog ML với governance (lineage, staging/production approval). Không tận dụng metadata ML, dễ rối loạn quản lý versions cross-account. Không phù hợp MLOps best practice.

  • ✅ [ĐÚNG] Use the Amazon SageMaker Model Registry to create a model group for models hosted in Amazon ECR. Create a new AWS account. In the new account, use the SageMaker Model Registry as the central catalog. Attach a cross-account resource policy to each model group in the initial AWS accounts.
    Giải thích đúng: Như đã nêu ở phần đáp án. SageMaker Model Registry hỗ trợ ECR-hosted models trực tiếp (qua ImageUri), cross-account policy cho phép account trung tâm discover/register models mà không di chuyển data. Tích hợp Studio, Pipelines cho full lifecycle.

  • ❌ [SAI] Use an AWS Glue Data Catalog to store the models. Run an AWS Glue crawler to migrate the models from the ECR repositories to the Data Catalog. Configure cross-account access to the Catalog.
    Giải thích sai: AWS Glue Data Catalog dành cho data lakes/metadata (S3, databases), không hỗ trợ container images/models từ ECR. Crawler không crawl được ECR (chỉ data formats như Parquet/CSV), không migrate models. Không có ML-specific features như approvals – không khả thi và không đúng use case.

📘 Tài liệu tham khảo chính thức AWS (cập nhật 2026)

Hy vọng phân tích này giúp bạn ôn thi hiệu quả! 🚀 Nếu cần thêm ví dụ code/policy, hãy hỏi nhé.

Câu 533
A company has developed a new ML model. The company requires online model validation on 10% of the traffic before the company fully releases the model in production. The company uses an Amazon SageMaker endpoint behind an Application Load Balancer (ALB) to serve the model.
Which solution will set up the required online validation with the LEAST operational overhead?
  1. A Use production variants to add the new model to the existing SageMaker endpoint. Set the variant weight to 0.1 for the new model. Monitor the number of invocations by using Amazon CloudWatch.
  2. B Use production variants to add the new model to the existing SageMaker endpoint. Set the variant weight to 1 for the new model. Monitor the number of invocations by using Amazon CloudWatch.
  3. C Create a new SageMaker endpoint. Use production variants to add the new model to the new endpoint. Monitor the number of invocations by using Amazon CloudWatch.
  4. D Configure the ALB to route 10% of the traffic to the new model at the existing SageMaker endpoint. Monitor the number of invocations by using AWS CloudTrail.
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 triển khai online model validation (kiểm tra mô hình trực tuyến) cho một mô hình ML mới trên Amazon SageMaker. Cụ thể:

  • Công ty cần gửi 10% lưu lượng truy cập (traffic) đến mô hình mới để kiểm tra trước khi triển khai đầy đủ vào production.
  • Hệ thống hiện tại sử dụng SageMaker endpoint đứng sau Application Load Balancer (ALB) để phục vụ mô hình.
  • Mục tiêu: Chọn giải pháp có operational overhead thấp nhất (ít công sức vận hành nhất), nghĩa là đơn giản, tự động hóa cao, không cần quản lý phức tạp.

🛠️ Vấn đề cốt lõi: SageMaker hỗ trợ production variants để triển khai nhiều phiên bản mô hình trên cùng một endpoint, với khả năng phân bổ traffic theo weights (trọng số). Điều này lý tưởng cho canary deployments hoặc A/B testing, giảm thiểu overhead so với tạo endpoint mới hoặc cấu hình load balancer thủ công.

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

Đáp án đúng:
Use production variants to add the new model to the existing SageMaker endpoint. Set the variant weight to 0.1 for the new model. Monitor the number of invocations by using Amazon CloudWatch.

Lý do:

  • Sử dụng production variants trên endpoint hiện có cho phép thêm mô hình mới mà không cần tạo endpoint mới, giảm thiểu overhead (chỉ update endpoint configuration).
  • Đặt variant weight = 0.1 (10%) sẽ tự động route 10% traffic đến mô hình mới (SageMaker xử lý weighted routing nội bộ).
  • CloudWatch metrics (Invocations, Invocation4XX/5XX) theo dõi số lượng invocations chính xác, dễ dàng monitor.
  • Đây là cách native của SageMaker, least overhead, hỗ trợ blue/green hoặc canary rollout tự động (cập nhật đến SageMaker 2024-2026 vẫn giữ nguyên tính năng này).

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

Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá với lý do cụ thể dựa trên best practices AWS SageMaker:

  • ✅ Use production variants to add the new model to the existing SageMaker endpoint. Set the variant weight to 0.1 for the new model. Monitor the number of invocations by using Amazon CloudWatch.
    Đúng vì: Như đã giải thích ở trên – weights chính xác 0.1 route 10% traffic, reuse endpoint hiện có, CloudWatch là tool chuẩn cho metrics SageMaker (metrics như InvocationsPerInstance). Overhead thấp nhất, không cần thay đổi ALB.

  • ❌ Use production variants to add the new model to the existing SageMaker endpoint. Set the variant weight to 1 for the new model. Monitor the number of invocations by using Amazon CloudWatch.
    Sai vì: Weight = 1 nghĩa là 100% traffic đến mô hình mới (không phải 10%), dẫn đến full rollout ngay lập tức, không đạt yêu cầu validation chỉ 10%. Overhead tương tự nhưng không đáp ứng tỷ lệ traffic.

  • ❌ Create a new SageMaker endpoint. Use production variants to add the new model to the new endpoint. Monitor the number of invocations by using Amazon CloudWatch.
    Sai vì: Tạo endpoint mới tăng overhead lớn (chi phí cao hơn ~2x, quản lý 2 endpoints, cần update ALB rules để split traffic thủ công). SageMaker charge theo endpoint capacity, không reuse được endpoint cũ, vi phạm "least operational overhead".

  • ❌ Configure the ALB to route 10% of the traffic to the new model at the existing SageMaker endpoint. Monitor the number of invocations by using AWS CloudTrail.
    Sai vì: ALB không thể route trực tiếp đến production variants trong SageMaker (ALB target là endpoint IP/hostname, không granular đến variant). Cần deploy mô hình mới như target riêng (tăng complexity). CloudTrail chỉ log API calls, không phải metrics invocations (dùng CloudWatch mới đúng), dẫn đến monitor kém hiệu quả.

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

🛠️ Lời khuyên DevOps: Sử dụng SageMaker UpdateEndpoint API với variants để automate qua CI/CD (CodePipeline + Lambda), kết hợp CloudWatch Alarms cho auto-rollback nếu error rate cao!

Câu 534
A company needs to develop an ML model. The model must identify an item in an image and must provide the location of the item.

Which Amazon SageMaker algorithm will meet these requirements?
  1. A Image classification
  2. B XGBoost
  3. C Object detection
  4. D K-nearest neighbors (k-NN)
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 lựa chọn thuật toán phù hợp trong Amazon SageMaker để xây dựng mô hình ML có khả năng nhận diện một vật thể (item) trong ảnh và cung cấp vị trí chính xác của vật thể đó.

✅ Yêu cầu chính của mô hình:

  • Identify an item: Phân loại và nhận dạng vật thể cụ thể (ví dụ: xe hơi, người, chó...).
  • Provide the location: Không chỉ nhận dạng mà còn chỉ ra vị trí bằng hộp giới hạn (bounding box) trên ảnh, bao gồm tọa độ (x, y, width, height).

🛠️ Bối cảnh AWS SageMaker: SageMaker cung cấp các built-in algorithms (thuật toán tích hợp sẵn) để xử lý các nhiệm vụ ML phổ biến, đặc biệt là Computer Vision. Đây là câu hỏi kiểm tra kiến thức về Object Detection – một nhiệm vụ cốt lõi trong vision tasks, phù hợp với dữ liệu ảnh có nhiều vật thể cần định vị.

📘 Kiến thức cập nhật (đến 2026): Theo tài liệu AWS SageMaker mới nhất (SageMaker Built-in Algorithms version 2024-2026), Object Detection hỗ trợ các mô hình như SSD (Single Shot MultiBox Detector) và Faster R-CNN, với training trên GPU/CPU instances (ví dụ: ml.p3.2xlarge). Nguồn: AWS SageMaker Object Detection Documentation.

✅ Đáp án đúng: Object detection

Lý do lựa chọn:

  • Object Detection là thuật toán chính xác nhất trong SageMaker để đáp ứng cả hai yêu cầu: nhận dạng vật thể và cung cấp vị trí qua bounding boxes (hộp bao quanh vật thể với nhãn class và độ tin cậy confidence score).
  • Nó được thiết kế dành riêng cho Computer Vision tasks trên ảnh, hỗ trợ multi-class/multi-object detection.
  • Trong thực tế, bạn train model bằng dữ liệu định dạng RecordIO hoặc Manifest với annotations (bounding boxes từ công cụ như LabelImg hoặc SageMaker Ground Truth).

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

  • Image classification ❌ SAI
    Thuật toán này chỉ phân loại toàn bộ ảnh thành một class duy nhất (ví dụ: "ảnh chứa chó" hay không), không cung cấp vị trí vật thể. Nó phù hợp cho image classification tasks đơn giản, không hỗ trợ bounding boxes. Sử dụng khi không cần localization.

  • XGBoost ❌ SAI
    Đây là thuật toán gradient boosting cho dữ liệu tabular (bảng số liệu), không dành cho ảnh hoặc vision tasks. Nó excels ở regression/classification trên features số, không xử lý pixel data hay định vị vật thể.

  • Object detection ✅ ĐÚNG
    Như đã giải thích, đây là lựa chọn lý tưởng vì nhận dạng + định vị vật thể qua bounding boxes, labels và scores. Hỗ trợ training end-to-end trong SageMaker với hyperparams như base_network (ResNet-50), num_classes, epochs.

  • K-nearest neighbors (k-NN) ❌ SAI
    Thuật toán k-NN là phương pháp instance-based learning cho classification/regression trên dữ liệu vectorized, không chuyên cho ảnh hoặc object detection. Nó yêu cầu feature extraction thủ công (như embeddings từ ảnh), kém hiệu quả và không output bounding boxes tự động.

🧩 Lời khuyên thực hành: Để triển khai, sử dụng SageMaker Notebook Instance hoặc Studio, prepare dataset với bounding box annotations, rồi sagemaker.ObjectDetection(algorithm_arn=...). Test trên inference endpoints với images input để lấy predictions. Tham khảo thêm: AWS SageMaker Algorithms Reference.

Câu 535
A company has an Amazon S3 bucket that contains 1 ТВ of files from different sources. The S3 bucket contains the following file types in the same S3 folder: CSV, JSON, XLSX, and Apache Parquet.

An ML engineer must implement a solution that uses AWS Glue DataBrew to process the data. The ML engineer also must store the final output in Amazon S3 so that AWS Glue can consume the output in the future.

Which solution will meet these requirements?
  1. A Use DataBrew to process the existing S3 folder. Store the output in Apache Parquet format.
  2. B Use DataBrew to process the existing S3 folder. Store the output in AWS Glue Parquet format.
  3. C Separate the data into a different folder for each file type. Use DataBrew to process each folder individually. Store the output in Apache Parquet format.
  4. D Separate the data into a different folder for each file type. Use DataBrew to process each folder individually. Store the output in AWS Glue Parquet format.
Xem giải thích

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

📖 Nội dung câu hỏi:
Câu hỏi mô tả một tình huống thực tế trong AWS: Một công ty có bucket Amazon S3 chứa 1 TB dữ liệu từ nhiều nguồn khác nhau, tất cả nằm chung một folder S3. Các loại file bao gồm CSV, JSON, XLSX (Excel) và Apache Parquet.
Một ML engineer cần sử dụng AWS Glue DataBrew (công cụ trực quan để chuẩn bị dữ liệu, thuộc AWS Glue family) để xử lý dữ liệu này. Sau khi xử lý, output phải lưu vào S3 để AWS Glue (dịch vụ ETL chính) có thể consume (sử dụng) sau này.
Yêu cầu cốt lõi: Giải pháp phải xử lý được mixed file types, đảm bảo DataBrew hoạt động đúng và output tương thích với AWS Glue.
🛠️ Vấn đề chính: DataBrew yêu cầu dataset nguồn phải đồng nhất (homogeneous) về định dạng file trong một location S3 (theo docs AWS mới nhất 2024-2026). Nếu mixed formats trong cùng folder, DataBrew sẽ không thể tạo dataset đúng hoặc profile/sampling thất bại. Output cần là format chuẩn mà Glue hỗ trợ (như Parquet).

✅ Đáp án đúng:
Separate the data into a different folder for each file type. Use DataBrew to process each folder individually. Store the output in Apache Parquet format.

Lý do chọn đáp án đúng (🧠 Phân tích sâu):

  • Separate folders theo loại file (CSV riêng, JSON riêng, v.v.) là bắt buộc vì DataBrew chỉ hỗ trợ một định dạng file duy nhất per dataset (xem AWS docs: "Datasets must contain files of a single supported format"). Mixed formats gây lỗi khi sampling hoặc profiling.
  • Process từng folder riêng lẻ với DataBrew recipe: Tạo multiple projects/recipes, mỗi cái cho một loại file → linh hoạt, scalable cho 1TB data.
  • Output Apache Parquet: DataBrew mặc định output Parquet chuẩn (Apache Parquet), hoàn hảo cho AWS Glue ETL/Data Catalog (Glue crawler tự detect schema Parquet). Không có "AWS Glue Parquet" riêng biệt – tất cả đều là Apache Parquet.
  • Phù hợp best practice: Giảm chi phí, tăng performance (DataBrew parallel processing per dataset). Với 1TB, separate giúp tránh reprocessing toàn bộ.
    📘 Tài liệu tham khảo:
  • AWS Glue DataBrew User Guide: Datasets and file formats (cập nhật 2025: Supported formats: CSV/TSV/JSON/Parquet/XLSX, nhưng must be single format per dataset).
  • Output to S3: Defaults to Apache Parquet, Glue-compatible.

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

  • ❌ [SAI] Use DataBrew to process the existing S3 folder. Store the output in Apache Parquet format.
    Lý do sai: Không tách folder → Mixed formats (CSV/JSON/XLSX/Parquet) trong cùng folder làm DataBrew không thể tạo dataset hợp lệ. Khi connect S3 source, DataBrew chỉ sample được file đầu tiên, ignore hoặc error với formats khác → thất bại toàn bộ job. Output Parquet đúng nhưng source sai nên vô dụng.

  • ❌ [SAI] Use DataBrew to process the existing S3 folder. Store the output in AWS Glue Parquet format.
    Lý do sai: Tương tự trên, mixed folder gây lỗi source. Hơn nữa, "AWS Glue Parquet format" không tồn tại – AWS chỉ dùng Apache Parquet chuẩn (Glue Data Catalog hỗ trợ trực tiếp). Thuật ngữ sai lầm, không match docs AWS (2026).

  • ✅ [ĐÚNG] Separate the data into a different folder for each file type. Use DataBrew to process each folder individually. Store the output in Apache Parquet format.
    Lý do đúng: Tách folder → dataset đồng nhất, DataBrew process mượt mà từng loại (ví dụ: recipe cho CSV convert sang Parquet). Apache Parquet output là optimal cho AWS Glue (fast query với Athena/SageMaker). Scalable cho 1TB, tránh single point failure.

  • ❌ [SAI] Separate the data into a different folder for each file type. Use DataBrew to process each folder individually. Store the output in AWS Glue Parquet format.
    Lý do sai: Tách folder đúng, process riêng đúng, nhưng "AWS Glue Parquet" không phải format thực tế. DataBrew chỉ output Apache Parquet (với options như compression SNAPPY/GZIP). Glue consume Parquet chuẩn thôi – option này mislead và không work theo docs.

💡 Lời khuyên DevOps: Sử dụng AWS Glue Crawler sau output để catalog hóa Parquet vào Data Catalog, rồi Glue ETL job consume. Test với small dataset trước! 🚀

Câu 536 Chọn nhiều đáp án
A manufacturing company uses an ML model to determine whether products meet a standard for quality. The model produces an output of "Passed" or "Failed." Robots separate the products into the two categories by using the model to analyze photos on the assembly line.

Which metrics should the company use to evaluate the model's performance? (Choose two.)
  1. A Precision and recall
  2. B Root mean square error (RMSE) and mean absolute percentage error (MAPE)
  3. C Accuracy and F1 score
  4. D Bilingual Evaluation Understudy (BLEU) score
  5. E Perplexity
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 công ty sản xuất sử dụng mô hình Machine Learning (ML) để kiểm tra chất lượng sản phẩm trên dây chuyền lắp ráp. Mô hình phân loại ảnh sản phẩm thành hai kết quả: "Passed" (đạt chuẩn) hoặc "Failed" (không đạt). Robot sẽ tự động phân loại sản phẩm dựa trên output này.

Mục tiêu câu hỏi: Chọn hai metrics phù hợp nhất để đánh giá hiệu suất mô hình. Đây là bài toán phân loại nhị phân (binary classification), nơi cần ưu tiên các chỉ số đo lường khả năng phân loại chính xác (true positives, false positives, v.v.), đặc biệt trong ngữ cảnh sản xuất nơi lỗi phân loại có thể dẫn đến lãng phí hoặc rủi ro chất lượng.

🛠️ Liên quan AWS: Trong AWS SageMaker (phiên bản mới nhất 2026), các metrics này được hỗ trợ sẵn qua built-in algorithms như Image Classification hoặc Object Detection, và có thể tùy chỉnh qua SageMaker Clarify hoặc Model Monitor để theo dõi bias, drift. Không dùng metrics regression hoặc NLP vì không phù hợp với binary output.

✅ Đáp án đúng (Chọn TWO)

Precision and recall và Accuracy and F1 score.

Lý do lựa chọn:

  • Đây là bài toán binary classification với output rời rạc ("Passed"/"Failed"), nên cần metrics chuyên cho classification như Precision (tỷ lệ positive đúng trong các dự đoán positive), Recall (tỷ lệ positive đúng trong các true positive thực tế), Accuracy (tỷ lệ dự đoán đúng tổng thể), và F1 score (trung bình hài hòa của Precision & Recall, cân bằng khi dataset không cân bằng).
  • Trong sản xuất, Precision cao tránh "Failed" sai (lãng phí sản phẩm tốt), Recall cao tránh "Passed" sai (rủi ro chất lượng). F1 kết hợp cả hai, Accuracy phù hợp nếu dataset cân bằng. AWS khuyến nghị dùng chúng trong SageMaker Processing Jobs (cập nhật 2026).

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

🔍 Phân tích tất cả các phương án

Dưới đây là giải thích từng lựa chọn, giữ nguyên văn bản gốc, với lý do đúng/sai dựa trên kiến thức ML/AWS mới nhất:

  • ✅ Precision and recall
    Đúng: Đây là cặp metrics cốt lõi cho binary classification. Precision đo độ chính xác của "Passed" dự đoán (tránh false positive), Recall đo khả năng phát hiện hết "Failed" (tránh false negative). Rất phù hợp dây chuyền sản xuất, nơi chi phí lỗi không đối xứng. AWS SageMaker hỗ trợ tự động tính toán qua sklearn.metrics.precision_recall_fscore_support.

  • ❌ Root mean square error (RMSE) and mean absolute percentage error (MAPE)
    Sai: RMSE và MAPE dùng cho regression (dự đoán số liên tục, như giá trị pixel hoặc độ chính xác số), không phù hợp output categorical "Passed/Failed". Sẽ cho kết quả vô nghĩa ở đây. AWS dùng chúng cho forecasting (như Amazon Forecast), không phải classification.

  • ✅ Accuracy and F1 score
    Đúng: Accuracy đo tỷ lệ đúng tổng thể (phù hợp dataset cân bằng), F1 score cân bằng Precision/Recall (tốt khi "Failed" hiếm). AWS SageMaker Model Monitor (2026) dùng F1 làm default cho imbalanced classes trong manufacturing ML pipelines.

  • ❌ Bilingual Evaluation Understudy (BLEU) score
    Sai: BLEU dùng đánh giá machine translation (so sánh chuỗi văn bản), không liên quan phân loại ảnh binary. AWS dùng trong Amazon Translate hoặc NLP models (như Jurassic-2), không phải computer vision.

  • ❌ Perplexity
    Sai: Perplexity đo language models (dự đoán xác suất từ tiếp theo), phù hợp generative AI như GPT trên Amazon Bedrock. Hoàn toàn không áp dụng cho phân loại ảnh sản phẩm – sẽ cho giá trị vô lý.

🧩 Kết luận: Chọn hai cặp classification metrics giúp tối ưu mô hình trên AWS SageMaker, tránh lãng phí tài nguyên deploy (như Endpoint scaling). Nếu deploy production, dùng SageMaker A/B Testing với các metrics này! 🚀

Câu 537
An ML engineer needs to encrypt all data in transit when an ML training job runs. The ML engineer must ensure that encryption in transit is applied to processes that Amazon SageMaker uses during the training job.

Which solution will meet these requirements?
  1. A Encrypt communication between nodes for batch processing.
  2. B Encrypt communication between nodes in a training cluster.
  3. C Specify an AWS Key Management Service (AWS KMS) key during creation of the training job request.
  4. D Specify an AWS Key Management Service (AWS KMS) key during creation of the SageMaker domain.
Xem giải thích

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

📖 Giải thích nội dung câu hỏi:
Câu hỏi tập trung vào việc một kỹ sư ML cần mã hóa tất cả dữ liệu trong quá trình truyền (encryption in transit) khi chạy job huấn luyện ML (ML training job) trên Amazon SageMaker. Yêu cầu chính là đảm bảo mã hóa này được áp dụng cho các quy trình mà SageMaker sử dụng trong quá trình huấn luyện.
✅ Mục tiêu cốt lõi: Bảo mật dữ liệu di chuyển giữa các thành phần nội bộ của SageMaker trong training job, đặc biệt là giao tiếp phân tán (distributed training) giữa các node trong cluster. Không phải mã hóa at-rest (dữ liệu lưu trữ) mà là in-transit (dữ liệu đang truyền).
🛠️ Bối cảnh AWS SageMaker (cập nhật đến 2026): SageMaker hỗ trợ distributed training trên nhiều instance (cluster), và dữ liệu in-transit giữa nodes cần được mã hóa bằng cách bật tính năng EncryptInterNodeTraffic trong định nghĩa training job (qua SDK hoặc console). Điều này sử dụng TLS để bảo vệ giao tiếp nội bộ.

✅ Đáp án đúng:
Encrypt communication between nodes in a training cluster.
Lý do chọn: Đây là giải pháp chính xác vì nó trực tiếp kích hoạt mã hóa TLS cho giao tiếp giữa các node trong training cluster (như multi-instance training với TensorFlow, MXNet...). Theo tài liệu AWS SageMaker mới nhất, bạn đặt EnableInterContainerTrafficEncryption=True và EnableNetworkIsolation=True trong TrainingJobDefinition để đảm bảo encryption in transit cho tất cả processes của SageMaker trong job. Điều này đáp ứng yêu cầu "encrypt all data in transit" cho training job.

🔍 Giải thích chi tiết từng phương án (giữ nguyên văn bản gốc)

Dưới đây là phân tích từng lựa chọn một cách rõ ràng, sử dụng kiến thức SageMaker cập nhật (phiên bản 2024-2026, không thay đổi cơ bản về encryption in-transit):

  • ❌ Encrypt communication between nodes for batch processing.
    Phân tích sai: Phương án này đề cập đến batch processing (xử lý hàng loạt, như SageMaker Batch Transform), không liên quan đến training job. Batch Transform chỉ inference trên dữ liệu đầu vào, không có "nodes in cluster" như distributed training. Không áp dụng encryption in-transit cho processes của training job. 🧨 Sai hoàn toàn về ngữ cảnh.

  • ✅ Encrypt communication between nodes in a training cluster.
    Phân tích đúng: Như đã giải thích ở trên, đây là tính năng cốt lõi của SageMaker cho distributed training. Bật EnableInterContainerTrafficEncryption mã hóa tất cả traffic giữa các container/node trong cluster (data parallelism hoặc model parallelism). Đảm bảo "processes that Amazon SageMaker uses during the training job" được bảo vệ in-transit bằng TLS 1.2+. Hoàn hảo khớp yêu cầu! 🚀

  • ❌ Specify an AWS Key Management Service (AWS KMS) key during creation of the training job request.
    Phân tích sai: AWS KMS key dùng cho encryption at-rest (dữ liệu lưu trữ trên EBS, S3), không phải in-transit. Trong training job, KMS chỉ mã hóa volume/output data, không ảnh hưởng giao tiếp giữa nodes. Yêu cầu là in-transit, nên không đáp ứng. 📦 Sai về loại encryption.

  • ❌ Specify an AWS Key Management Service (AWS KMS) key during creation of the SageMaker domain.
    Phân tích sai: SageMaker Domain (cho SageMaker Studio) dùng KMS cho EBS encryption at-rest và user profile storage, không liên quan đến training job processes. Domain là môi trường phát triển, không kiểm soát in-transit traffic của job huấn luyện. 🌐 Sai về phạm vi (domain vs. training cluster).

📘 Tài liệu tham khảo (AWS chính thức, cập nhật 2024-2026)

Hy vọng phân tích này giúp bạn ôn thi DOP-C02 hiệu quả! Nếu cần ví dụ code Python/Boto3, hãy hỏi thêm nhé! 💪

Câu 538 Chọn nhiều đáp án
An ML engineer needs to use metrics to assess the quality of a time-series forecasting model.

Which metrics apply to this model? (Choose two.)
  1. A Recall
  2. B LogLoss
  3. C Root mean square error (RMSE)
  4. D InferenceLatency
  5. E Average weighted quantile loss (wQL)
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 đánh giá chất lượng (quality assessment) của một mô hình dự báo chuỗi thời gian (time-series forecasting model) trên AWS, dành cho một kỹ sư ML. Đây là chủ đề liên quan đến dịch vụ Amazon Forecast (hoặc SageMaker Forecasting), nơi các metrics phải phù hợp để đo lường độ chính xác dự báo giá trị liên tục theo thời gian, thường bao gồm cả dự báo xác suất (probabilistic forecasting).

  • Mục tiêu chính: Chọn hai metrics phù hợp để đánh giá chất lượng mô hình, không phải metrics cho phân loại (classification) hay hiệu suất suy luận (inference performance).
  • Ngữ cảnh AWS (cập nhật đến 2026): Theo tài liệu AWS mới nhất, Amazon Forecast hỗ trợ các metrics chuyên biệt cho time-series như RMSE cho điểm dự báo (point forecasts) và wQL cho dự báo phân vị (quantile forecasts). Đây là các metrics chuẩn trong các cuộc thi forecasting như M4/M5 competition và được tích hợp sẵn trong Forecast.

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

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

Hai đáp án đúng là:

  • Root mean square error (RMSE): Đây là metric chuẩn cho time-series forecasting, đo lường độ lệch trung bình bình phương giữa giá trị dự báo và thực tế, phù hợp cho point forecasts.
  • Average weighted quantile loss (wQL): Metric chuyên biệt cho quantile forecasts (dự báo phân vị), cân bằng độ chính xác giữa các quantile khác nhau, được AWS khuyến nghị cho mô hình probabilistic.

Lý do chọn: Trong Amazon Forecast, RMSE và wQL là hai metrics chính để đánh giá chất lượng mô hình time-series (accuracy metrics). Chúng tập trung vào error giữa forecast và actuals, không phải classification hay latency. Chọn hai cái này đảm bảo đánh giá toàn diện cả deterministic và probabilistic forecasting (theo best practices AWS 2026).

🛠️ Phân tích chi tiết tất cả các phương án

Dưới đây là phân tích từng lựa chọn, giữ nguyên nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá ✅ (đúng) hoặc ❌ (sai), kèm giải thích rõ ràng:

  • Recall ❌
    Sai: Recall là metric cho bài toán phân loại (classification), đo tỷ lệ positive thực tế được dự báo đúng. Không áp dụng cho time-series forecasting vì mô hình này dự báo giá trị liên tục (regression), không phân loại nhãn rời rạc.

  • LogLoss ❌
    Sai: LogLoss (Logistic Loss) dùng cho probabilistic classification, đánh giá độ chắc chắn của xác suất dự báo. Không phù hợp với time-series vì không đo error dự báo số học, mà chỉ dùng cho binary/multiclass classification.

  • Root mean square error (RMSE) ✅
    Đúng: RMSE là metric cốt lõi cho time-series forecasting, tính căn bậc hai của trung bình bình phương lỗi (√(1/n * Σ(actual - forecast)²)). AWS Forecast sử dụng nó làm default cho point forecasts, giúp đánh giá độ chính xác tổng thể (scale-sensitive).

  • InferenceLatency ❌
    Sai: Đây là metric hiệu suất (performance metric), đo thời gian suy luận (latency) của mô hình khi deploy. Không liên quan đến chất lượng dự báo (model quality), mà chỉ đánh giá tốc độ inference trên endpoint (như SageMaker).

  • Average weighted quantile loss (wQL) ✅
    Đúng: wQL là metric AWS chuyên dụng cho quantile forecasts, tính weighted loss giữa các phân vị (p10, p50, p90...), ưu tiên quantile trung tâm. Rất phù hợp cho time-series probabilistic, giúp đánh giá độ tin cậy của khoảng dự báo (confidence intervals).

Kết luận 💡: Chọn RMSE và wQL để có đánh giá toàn diện nhất cho time-series model trên AWS. Nếu deploy thực tế, dùng Forecast's GetAccuracyMetrics API để tính tự động! 🚀

Câu 539
A company runs Amazon SageMaker ML models that use accelerated instances. The models require real-time responses. Each model has different scaling requirements. The company must not allow a cold start for the models.

Which solution will meet these requirements?
  1. A Create a SageMaker Serverless Inference endpoint for each model. Use provisioned concurrency for the endpoints.
  2. B Create a SageMaker Asynchronous Inference endpoint for each model. Create an auto scaling policy for each endpoint.
  3. C Create a SageMaker endpoint. Create an inference component for each model. In the inference component settings, specify the newly created endpoint. Create an auto scaling policy for each inference component. Set the parameter for the minimum number of copies to at least 1.
  4. D Create an Amazon S3 bucket. Store all the model artifacts in the S3 bucket. Create a SageMaker multi-model endpoint. Point the endpoint to the S3 bucket. Create an auto scaling policy for the endpoint. Set the parameter for the minimum number of copies to at least 1.
Xem giải thích

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

Câu hỏi xoay quanh việc triển khai Amazon SageMaker cho các mô hình ML sử dụng accelerated instances (như GPU instances, ví dụ ml.g4dn hoặc ml.p3). Các yêu cầu chính bao gồm:

  • Real-time responses: Cần phản hồi thời gian thực (latency thấp, synchronous inference).
  • Scaling requirements khác nhau cho từng model: Mỗi mô hình cần khả năng mở rộng độc lập.
  • Không cho phép cold start: Phải đảm bảo instance luôn sẵn sàng (warm start), tránh tình trạng khởi động lạnh gây delay.

Vấn đề cốt lõi là thiết kế SageMaker endpoints hỗ trợ multi-model với scaling granular (riêng biệt), trên accelerated hardware, và giữ min capacity >=1 để tránh cold start. Đây là tính năng Inference Components (ra mắt 2023, cập nhật đến 2026 vẫn là best practice cho multi-model scaling độc lập). 🛠️

✅ Đáp án đúng

Create a SageMaker endpoint. Create an inference component for each model. In the inference component settings, specify the newly created endpoint. Create an auto scaling policy for each inference component. Set the parameter for the minimum number of copies to at least 1.

Lý do lựa chọn:

  • Inference Components cho phép deploy nhiều model lên một endpoint chung nhưng scaling độc lập cho từng component (dựa trên metrics như Invocations Per Instance).
  • Hỗ trợ accelerated instances đầy đủ (GPU/accelerator).
  • Real-time inference (synchronous).
  • Set min copies >=1 đảm bảo không cold start (instance luôn chạy).
  • Mỗi component có auto scaling policy riêng, phù hợp scaling khác nhau. Đây là giải pháp tối ưu theo docs AWS 2026. 🚀

📋 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. Tôi giữ nguyên văn bản gốc (tiếng Anh), đánh dấu ✅/❌ và giải thích bằng tiếng Việt:

  • ❌ Create a SageMaker Serverless Inference endpoint for each model. Use provisioned concurrency for the endpoints.
    Phương án này sai vì SageMaker Serverless Inference chỉ hỗ trợ CPU instances, không hỗ trợ accelerated instances (GPU). Provisioned concurrency giúp giảm cold start nhưng vẫn không đáp ứng real-time scaling độc lập trên accelerator hardware. Không phù hợp yêu cầu. 😞

  • ❌ Create a SageMaker Asynchronous Inference endpoint for each model. Create an auto scaling policy for each endpoint.
    Phương án này sai vì Asynchronous Inference dành cho batch/non-real-time (xử lý payload lớn, lưu kết quả S3), không phải real-time responses. Dù có auto scaling, vẫn có nguy cơ cold start và không đảm bảo latency thấp. Không match yêu cầu. ⏳

  • ✅ Create a SageMaker endpoint. Create an inference component for each model. In the inference component settings, specify the newly created endpoint. Create an auto scaling policy for each inference component. Set the parameter for the minimum number of copies to at least 1.
    Như đã giải thích ở trên: Đúng hoàn hảo với granular scaling per component, hỗ trợ accelerator, real-time, và min copies >=1 tránh cold start. Best practice mới nhất! 🌟

  • ❌ Create an Amazon S3 bucket. Store all the model artifacts in the S3 bucket. Create a SageMaker multi-model endpoint. Point the endpoint to the S3 bucket. Create an auto scaling policy for the endpoint. Set the parameter for the minimum number of copies to at least 1.
    Phương án này sai vì Multi-Model Endpoints (MME) host nhiều model từ S3 nhưng scaling chung cho toàn endpoint (không độc lập per model). Nếu một model traffic cao, ảnh hưởng tất cả. Min copies >=1 tránh cold start nhưng thiếu scaling riêng biệt. Inference Components vượt trội hơn MME cho trường hợp này. 🔄

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

Giải pháp này giúp tối ưu chi phí và performance cho multi-model real-time! 💡 Nếu cần lab thực hành, dùng SageMaker Studio.

Câu 540
A company uses Amazon SageMaker for its ML process. A compliance audit discovers that an Amazon S3 bucket for training data uses server-side encryption with S3 managed keys (SSE-S3).

The company requires customer managed keys. An ML engineer changes the S3 bucket to use server-side encryption with AWS KMS keys (SSE-KMS). The ML engineer makes no other configuration changes.

After the change to the encryption settings, SageMaker training jobs start to fail with AccessDenied errors.

What should the ML engineer do to resolve this problem?
  1. A Update the IAM policy that is attached to the execution role for the training jobs. Include the s3:ListBucket and s3:GetObject permissions.
  2. B Update the S3 bucket policy that is attached to the S3 bucket. Set the value of the aws:SecureTransport condition key to True.
  3. C Update the IAM policy that is attached to the execution role for the training jobs. Include the kms:Encrypt and kms:Decrypt permissions.
  4. D Update the IAM policy that is attached to the user that created the training jobs. Include the kms:CreateGrant permission.
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 quy trình Machine Learning (ML) trên Amazon SageMaker. Công ty đang sử dụng SageMaker để xử lý dữ liệu huấn luyện (training data) lưu trữ trong Amazon S3 bucket. Ban đầu, bucket sử dụng server-side encryption với S3 managed keys (SSE-S3) – đây là mã hóa mặc định do S3 quản lý, không yêu cầu quyền KMS riêng biệt.

Tuy nhiên, sau cuộc kiểm toán tuân thủ (compliance audit), công ty bắt buộc phải chuyển sang customer managed keys (CMKs) với SSE-KMS (server-side encryption với AWS KMS keys). Kỹ sư ML chỉ thay đổi cài đặt mã hóa của bucket mà không chỉnh sửa gì khác. Kết quả: Các SageMaker training jobs bắt đầu thất bại với lỗi AccessDenied (từ chối truy cập).

Nguyên nhân cốt lõi 🛠️:

  • Với SSE-S3, SageMaker execution role chỉ cần quyền S3 cơ bản (như GetObject, ListBucket) để đọc/ghi dữ liệu.
  • Khi chuyển sang SSE-KMS, mọi hoạt động đọc/ghi object trên bucket đều yêu cầu execution role của SageMaker phải có quyền truy cập KMS key cụ thể (Encrypt, Decrypt, GenerateDataKey*) để giải mã/mã hóa dữ liệu. Role cũ thiếu các quyền KMS này, dẫn đến lỗi AccessDenied khi training job cố gắng truy cập dữ liệu.

Vấn đề cần giải quyết: Cập nhật quyền IAM phù hợp để SageMaker có thể sử dụng KMS key mà không làm thay đổi cấu hình khác. (Kiến thức cập nhật AWS 2026: SageMaker vẫn yêu cầu chính xác các quyền KMS này cho SSE-KMS, theo docs SageMaker IAM roles).

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

Đáp án đúng: Update the IAM policy that is attached to the execution role for the training jobs. Include the kms:Encrypt and kms:Decrypt permissions.

Lý do 📘:

  • SageMaker training jobs chạy dưới execution role (role IAM được chỉ định khi tạo job). Role này cần quyền kms:Encrypt (để ghi dữ liệu mới) và kms:Decrypt (để đọc dữ liệu huấn luyện đã mã hóa).
  • Đây là yêu cầu bắt buộc khi S3 bucket dùng SSE-KMS với CMK. Các quyền này phải được thêm vào policy của role, với resource ARN của KMS key cụ thể (ví dụ: arn:aws:kms:region:account:key/key-id).
  • Giải pháp này đơn giản, trực tiếp, không ảnh hưởng đến bucket policy hay user khác, và khắc phục lỗi ngay lập tức.

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

  • ❌ Phương án SAI: Update the IAM policy that is attached to the execution role for the training jobs. Include the s3:ListBucket and s3:GetObject permissions.
    Giải thích: Các quyền S3 này đã tồn tại sẵn từ trước khi thay đổi mã hóa (vì SSE-S3 chỉ cần chúng). Lỗi AccessDenied xảy ra do thiếu quyền KMS, không phải thiếu quyền S3. Thêm chúng không giải quyết vấn đề SSE-KMS.

  • ❌ Phương án SAI: Update the S3 bucket policy that is attached to the S3 bucket. Set the value of the aws:SecureTransport condition key to True.
    Giải thích: aws:SecureTransport = "true" chỉ ép buộc kết nối HTTPS (transport security), không liên quan đến quyền giải mã KMS. Bucket policy kiểm soát truy cập từ principal ngoài, nhưng SageMaker dùng execution role IAM – lỗi ở đây là role thiếu KMS perms, không phải bucket policy.

  • ✅ Phương án ĐÚNG: Update the IAM policy that is attached to the execution role for the training jobs. Include the kms:Encrypt and kms:Decrypt permissions.
    Giải thích: Như đã nêu ở phần đáp án đúng. Đây là giải pháp chuẩn AWS cho SageMaker với SSE-KMS. Thường cần thêm kms:GenerateDataKey* và kms:DescribeKey để hoàn chỉnh, nhưng câu hỏi chỉ yêu cầu Encrypt/Decrypt là đủ cơ bản để fix lỗi.

  • ❌ Phương án SAI: Update the IAM policy that is attached to the user that created the training jobs. Include the kms:CreateGrant permission.
    Giải thích: User tạo job (IAM user/principal) chỉ cần quyền SageMaker:CreateTrainingJob, không trực tiếp truy cập S3/KMS dữ liệu. Execution role mới là entity chạy job và cần quyền KMS. kms:CreateGrant dùng để cấp quyền tạm thời cho service khác (như S3 cho KMS), không cần thiết ở đây và sai đối tượng.

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

Hy vọng phân tích này giúp bạn ôn thi DOP-C02 hiệu quả! 🚀 Nếu cần ví dụ policy JSON cụ thể, hãy hỏi thêm.