SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
MLA-C02 practice

MLA-C02 sample questions — 25 answered and explained

25 MLA-C02 sample questions written to the official AWS Certified Machine Learning Engineer - Associate exam guide, grouped by exam domain and weighted like the real exam. Each shows the correct answer, why every other option is wrong, and the lesson that teaches it. None of them repeat the examples on the other MLA-C02 practice pages.

On this page
25
answers included
Full bank
477
on the practice page
Domains
4
weighted like the exam
Free, no account
5/day
a free account allows 30 a day

Domain 1: Data Preparation for ML and AI

28% of the MLA-C02 exam, so 7 of the 25 questions on this page.

Question 1Data Preparation for ML and AI

An AWS Glue Spark job writes engineered features to Amazon S3 for training. Each run writes millions of small objects under a single prefix with high write concurrency, and runs now fail with 503 Slow Down errors. The training jobs that read the output are also slow to list and open the files. Which actions should the ML engineer take? (Select TWO.)

Choose TWO.

  • a
    Enable S3 Transfer Acceleration on the output bucket that the AWS Glue job writes its files to

    Transfer Acceleration speeds long-distance internet transfers; it does not raise the request rate allowed for a prefix.

  • b
    Turn on S3 Versioning so that concurrent writes of files under the same prefix succeed

    Versioning keeps prior versions of overwritten keys; it does not raise request limits and adds more versions to manage.

  • c
    Write the output under multiple prefixes, such as partition folders by date and shard Correct

    Amazon S3 request-rate limits apply per partitioned prefix, so spreading writes across several prefixes raises the request rate the bucket can absorb.

  • d
    Coalesce the output into fewer, larger files before the job writes them to Amazon S3 Correct

    Fewer, larger objects cut the number of PUT requests per run and make downstream listing and reading far more efficient for the training jobs.

  • e
    Add exponential backoff retries to the job's Amazon S3 write requests that are throttled

    Retries help a run survive throttling, but they do not lower the request rate on the prefix or reduce the number of tiny files the training jobs must list and open.

The concept

S3 request-rate scaling: 503 Slow Down means too many requests per prefix; small files multiply requests.

Why that’s the answer

Amazon S3 supports a high request rate per partitioned prefix (thousands of writes per second) and scales as you add prefixes. A job that sends millions of small PUTs into one prefix exceeds that rate and receives 503 Slow Down. Two complementary fixes: spread writes across more prefixes, and reduce the number of requests by writing fewer, larger files, which also helps training jobs that read the data. Transfer Acceleration and Versioning do not change request limits, and backoff retries only absorb throttling without fixing its cause or the small-file reads.

How to reason it out
  1. Read the error: 503 Slow Down is S3 throttling request rate per prefix.
  2. Spread the requests across multiple prefixes.
  3. Cut the request count by writing larger files.
  4. Reject options that only retry, target network distance or keep the request count.

Exam tip: 503 Slow Down: spread across prefixes and write fewer, bigger files.

Collecting and Storing Data for ML and AI on AWS (MLA-C02) — the lesson that teaches this.

Question 2Data Preparation for ML and AI

A media company wants clickstream events from its website delivered to Amazon S3 for later model training. Delivery within a few minutes is acceptable, and the events need no transformation. The team has no capacity to write or operate consumer applications. Which solution meets these requirements with the LEAST operational overhead?

Choose one.

  • a
    Send the events to a Kinesis data stream and write a KCL consumer that saves them to S3

    This works, but the team has to write, host and scale the KCL consumer application, which is the operational work they want to avoid.

  • b
    Send the events to an Amazon MSK cluster and use an MSK Connect S3 sink connector

    This also lands data in S3, but it adds a Kafka cluster and a connector to size and operate for a simple delivery job.

  • c
    Send the events to a Kinesis data stream read by a Managed Service for Apache Flink app

    Flink is for stateful stream processing; writing and operating a Flink application is unnecessary when the events need no transformation.

  • d
    Send the events to an Amazon Data Firehose stream that delivers to Amazon S3 Correct

    Firehose is a fully managed delivery service: it buffers incoming records and writes them to S3 with no consumer code or capacity to manage.

The concept

Amazon Data Firehose is the managed, no-consumer-code path for delivering streaming data to S3.

Why that’s the answer

When data only needs to land in S3 with minutes of latency and no processing, Amazon Data Firehose is the least-effort option: producers send records, Firehose buffers by size or time and writes objects to S3. A Kinesis data stream with a KCL consumer, MSK with a connector, or a Flink application can all reach S3, but each adds code or infrastructure to run.

How to reason it out
  1. Note the requirements: S3 destination, minutes of latency, no transformation.
  2. Note the constraint: no consumer applications to build or operate.
  3. Eliminate options that need custom consumers or clusters.
  4. Choose Amazon Data Firehose.

Exam tip: Stream to S3 with no code and minutes of latency: Amazon Data Firehose.

Collecting and Storing Data for ML and AI on AWS (MLA-C02) — the lesson that teaches this.

Question 3Data Preparation for ML and AI

A fraud team ingests card transactions as a stream. Three independent applications read every record: a real-time scoring service, a feature pipeline and an audit archiver. Each application needs its own full read throughput with latency under 200 ms, and after a bug fix the team must be able to reprocess the last seven days of records. Which design should the ML engineer choose?

Choose one.

  • a
    Kinesis Data Streams with shared-throughput consumers and retention extended to seven days

    Extended retention meets the replay need, but the three polling consumers share each shard's read throughput and GetRecords limits, with propagation delay typically around 200 ms or more, so neither the dedicated throughput nor the latency target is met.

  • b
    Amazon Data Firehose delivery streams, one for each application, with S3 backup

    Firehose delivers to destinations such as S3; it has no consumer API for applications to read records, and records cannot be replayed from the stream.

  • c
    Kinesis Data Streams with enhanced fan-out consumers and extended data retention Correct

    Enhanced fan-out gives each registered consumer its own read throughput per shard with push delivery, and extended retention keeps records for seven days for replay.

  • d
    Amazon SQS standard queues, one for each application, subscribed to an SNS topic

    Fan-out through SNS to SQS gives each application a copy, but messages are deleted once processed, so the last seven days cannot be reprocessed.

The concept

Kinesis Data Streams for multiple independent consumers and replay: enhanced fan-out plus retention.

Why that’s the answer

Kinesis Data Streams keeps records for a retention period (24 hours by default, extendable) so consumers can re-read them, and enhanced fan-out gives each registered consumer a dedicated read pipe per shard with push delivery and low latency. The shared-throughput near-twin keeps seven days of data but makes the three applications split each shard's read capacity and poll with higher latency. Firehose cannot be read by applications, and SQS deletes messages after processing.

How to reason it out
  1. List the requirements: several consumers, dedicated throughput, low latency, seven-day replay.
  2. Recall that Kinesis retention can be extended beyond the 24-hour default.
  3. Recall that enhanced fan-out gives each consumer its own throughput.
  4. Eliminate delivery-only and delete-on-consume services.

Exam tip: Many consumers each at full speed plus replay: Kinesis Data Streams with enhanced fan-out and longer retention.

Collecting and Storing Data for ML and AI on AWS (MLA-C02) — the lesson that teaches this.

Question 4Data Preparation for ML and AI

An Amazon Data Firehose stream receives comma-separated records from legacy devices and delivers them to Amazon S3. The ML team wants the delivered objects stored as Apache Parquet so that training jobs and Athena read only the columns they need. The schema is already defined as a table in the AWS Glue Data Catalog. How should the ML engineer configure the stream?

Choose one.

  • a
    Add a Lambda transform that turns each CSV record into JSON, then enable Parquet record format conversion using the Glue table Correct

    Firehose record format conversion accepts JSON input only and uses the Glue table as the schema, so a Lambda transform must first turn the CSV records into JSON.

  • b
    Enable Parquet record format conversion using the Glue table and set the input deserializer to the OpenX JSON SerDe

    The conversion itself is right, but the incoming records are CSV; the JSON deserializer cannot parse them, so delivery fails without a CSV-to-JSON transform.

  • c
    Enable dynamic partitioning with the Glue table and set the S3 file extension format of the output objects to .parquet

    Dynamic partitioning routes records to prefixes and the file extension setting only renames objects; neither converts the data to Parquet.

  • d
    Add a Lambda transform that writes each batch as a Parquet file, then deliver the records to S3 with GZIP compression

    Firehose concatenates the transformed records into its own objects, so Parquet produced inside the transform does not yield valid Parquet files, and GZIP would wrap them anyway.

The concept

Firehose record format conversion: JSON input, Glue Data Catalog schema, Parquet or ORC output.

Why that’s the answer

Firehose can convert records to Parquet or ORC, but only from JSON input, using a Glue table for the schema. CSV records therefore need a Lambda data transformation to JSON before the conversion step. Choosing a JSON deserializer without the transform fails on CSV input; dynamic partitioning and file extensions do not change the format; and building Parquet inside Lambda breaks because Firehose concatenates records into its own objects.

How to reason it out
  1. Note the input: CSV records.
  2. Recall that Firehose format conversion takes JSON input and a Glue schema.
  3. Add a Lambda transform to bridge CSV to JSON.
  4. Reject options that rename files or build Parquet outside the converter.

Exam tip: Firehose to Parquet: JSON in, Glue schema, and a Lambda transform first if the source is not JSON.

Collecting and Storing Data for ML and AI on AWS (MLA-C02) — the lesson that teaches this.

Question 5Data Preparation for ML and AI

An Amazon Data Firehose stream delivers JSON purchase events to Amazon S3. Each event contains a customer_id field. Per-customer training jobs need the delivered objects grouped under S3 prefixes by customer_id so that each job reads one customer's data without scanning the rest. Which Firehose configuration meets this requirement?

Choose one.

  • a
    Set a custom S3 prefix built from the !{timestamp:yyyy/MM/dd} namespace and the stream name

    Timestamp namespaces group objects by arrival time, so each object still mixes many customers and the jobs have to scan everything.

  • b
    Enable record format conversion to Parquet and partition the Glue table by customer_id

    Partitioning a Glue table describes how data is laid out; it does not make Firehose write records into per-customer prefixes.

  • c
    Enable dynamic partitioning, parse customer_id with inline JSON parsing, and use it in the S3 prefix Correct

    Dynamic partitioning extracts keys from each record, here with inline JSON (jq) parsing, and writes records under prefixes built from those keys.

  • d
    Increase the buffer size so that each object Firehose writes holds one customer's events

    Buffering controls how much data Firehose collects before writing; it has no notion of customers, so objects still mix customers.

The concept

Firehose dynamic partitioning writes records to S3 prefixes derived from fields inside each record.

Why that’s the answer

Plain Firehose prefixes can use timestamp namespaces, which group by delivery time. To group by a value inside the record, enable dynamic partitioning and extract the key with inline JSON parsing (or a Lambda function), then reference it in the S3 prefix. Glue table partitions describe existing data, and buffer settings only change object size and timing.

How to reason it out
  1. Identify the need: group objects by a field in the payload.
  2. Recall that timestamp namespaces only group by time.
  3. Recall dynamic partitioning with inline JSON parsing.
  4. Choose dynamic partitioning keyed on customer_id.

Exam tip: Partition S3 output by a field in the record: Firehose dynamic partitioning.

Collecting and Storing Data for ML and AI on AWS (MLA-C02) — the lesson that teaches this.

Question 6Data Preparation for ML and AI

A dataset of 400 GB has 300 columns. Most training and analytics jobs read about 10 of those columns and filter on a date column, and the team pays for Amazon Athena by data scanned. The data is written once a day and never updated in place. Which storage format will meet these requirements MOST cost-effectively?

Choose one.

  • a
    CSV files compressed with GZIP at write time

    CSV is row-based, so reading 10 columns still means reading every row in full, and a GZIP file cannot be split for parallel reads.

  • b
    Apache Parquet files with Snappy compression Correct

    Parquet is columnar, so readers fetch only the columns they need and can skip row groups using column statistics, which cuts the data scanned.

  • c
    JSON Lines files compressed with GZIP each day

    JSON Lines is row-based and repeats field names in every record, so queries scan far more data than they use.

  • d
    Apache Avro files with Snappy compression

    Avro is a compact row-based format suited to record-at-a-time writes, so column-subset reads still scan whole rows.

The concept

Columnar formats (Parquet, ORC) suit analytical reads of a few columns; row formats (CSV, JSON, Avro) suit record-at-a-time access.

Why that’s the answer

Athena can query all four formats, so the deciding factor is cost, which Athena bills by bytes scanned. A columnar format such as Apache Parquet stores each column together, so readers fetch just the 10 columns they need and use column statistics to skip data. CSV, JSON Lines and Avro store whole records together, so every query scans all 300 columns and costs many times more.

How to reason it out
  1. Note the access pattern: a few columns out of many, plus filters.
  2. Note the cost model: Athena bills by data scanned.
  3. Compare formats on bytes scanned: row formats read every column.
  4. Choose compressed Parquet.

Exam tip: Few columns out of many, billed by data scanned: Parquet is the most cost-effective format.

Collecting and Storing Data for ML and AI on AWS (MLA-C02) — the lesson that teaches this.

Question 7Data Preparation for ML and AI

An ML engineer prepares a CSV training file for the SageMaker AI built-in XGBoost algorithm. The file was exported with a header row and has the target variable in its last column. The first training job completed, but the model's metrics suggest it learned to predict the wrong column. How should the engineer prepare the file?

Choose one.

  • a
    Write the CSV with the target in the last column and no header row

    Removing the header is right, but the algorithm would still treat the first feature column as the target.

  • b
    Write the CSV with the target in the first column and no header row Correct

    For CSV input the built-in XGBoost algorithm reads the first column as the target and expects no header record.

  • c
    Write the CSV with the target in the first column and a header row

    Moving the target is right, but a header record is not expected for CSV input and would be read as data.

  • d
    Write the CSV with the target in the last column and a header row

    This is the current layout, which makes the algorithm learn the first feature as the label.

The concept

Built-in algorithm CSV input conventions: target in the first column, no header.

Why that’s the answer

SageMaker AI built-in algorithms that accept text/csv, including XGBoost, assume the target variable is the first column and that the file has no header record. With the target last, the algorithm learns to predict whatever feature is in the first column, which matches the symptom. Both parts of the layout have to be right.

How to reason it out
  1. Recall the CSV convention for built-in XGBoost.
  2. Check the column position: the target goes first.
  3. Check the header: there must be none.
  4. Pick the option that gets both right.

Exam tip: Built-in algorithm CSV: label first, no header.

Collecting and Storing Data for ML and AI on AWS (MLA-C02) — the lesson that teaches this.

Domain 2: ML Model and Foundation Model (FM) Development

24% of the MLA-C02 exam, so 6 of the 25 questions on this page.

Question 8ML Model and Foundation Model (FM) Development

An energy company streams vibration and temperature readings from 3,000 wind turbines. It wants to flag unusual readings for engineers to inspect, but it has no labeled history of which readings came before a failure. Which SageMaker AI built-in algorithm fits this requirement?

Choose one.

  • a
    XGBoost trained to classify readings as normal or faulty

    A classifier needs labeled examples of both classes; the company has no labeled failure history.

  • b
    DeepAR to forecast each turbine's readings for next week

    DeepAR produces forecasts; it does not directly flag which current readings are unusual.

  • c
    k-nearest neighbors to classify readings by similar cases

    k-NN classification also needs labeled neighbours to vote on a class, which the company does not have.

  • d
    Random Cut Forest to score each reading for anomalies Correct

    Random Cut Forest is an unsupervised algorithm that assigns an anomaly score to each data point without needing labels.

The concept

Unsupervised anomaly detection finds unusual data points when no labeled examples of the anomaly exist.

Why that’s the answer

The deciding detail is the absence of labels. Random Cut Forest learns the structure of normal data and gives each point an anomaly score, so engineers can review the highest scores. XGBoost and k-NN classification both need labeled classes, and DeepAR is a forecasting algorithm rather than an anomaly scorer.

How to reason it out
  1. Note the goal: flag unusual readings.
  2. Note the data: no labels.
  3. Choose an unsupervised anomaly-scoring algorithm.
  4. Reject supervised classifiers and forecasters.

Exam tip: Anomalies without labels: Random Cut Forest.

Choosing ML, Foundation Model and RAG Approaches on AWS (MLA-C02) — the lesson that teaches this.

Question 9ML Model and Foundation Model (FM) Development

A team fine-tuned a Llama 3.1 70B model on Amazon SageMaker AI and saved the weights in Hugging Face format in Amazon S3. An internal tool calls the model a few hundred times a day, with long idle periods overnight and at weekends. An occasional slower first response after an idle period is acceptable. Which hosting option will serve the fine-tuned model MOST cost-effectively?

Choose one.

  • a
    A SageMaker AI real-time endpoint on a GPU instance, with target-tracking auto scaling and a minimum of one instance

    A real-time endpoint can serve the fine-tuned model, but with a minimum of one instance it keeps a GPU instance running and billing through every idle night and weekend, which costs more than on-demand hosting at this traffic level.

  • b
    SageMaker AI Serverless Inference, sized with the largest memory configuration available

    Serverless Inference does not support GPUs, so a 70B-parameter model cannot be served there however the memory is configured.

  • c
    Amazon Bedrock Provisioned Throughput for the base Llama 3.1 70B model from the catalog

    Provisioned Throughput is a committed, always-on capacity purchase, and the base catalog model does not contain the team's fine-tuned weights.

  • d
    Amazon Bedrock Custom Model Import, invoked on demand through the Bedrock runtime API Correct

    Custom Model Import brings supported architectures such as Llama into Bedrock as a custom model invoked on demand; billing follows the active model copies, which scale down to zero when the tool is idle. The cost is a cold start on the first call after an idle period, which the tool accepts.

The concept

Hosting choice is part of the build-versus-managed trade-off: the same custom model can run on self-managed endpoints or on a serverless managed service.

Why that’s the answer

Three facts combine. The model is a fine-tuned Llama, an architecture that Bedrock Custom Model Import accepts from Hugging Face-format weights in S3. Traffic is sporadic, so on-demand hosting that scales to zero when idle beats an always-on endpoint on cost, and the stem accepts the cold start that follows an idle period; the real-time endpoint with a minimum of one instance is the workable but more expensive option. And SageMaker Serverless Inference, the obvious low-cost serverless choice, has no GPU support, which a 70B model needs. Provisioned Throughput is committed capacity for the base model without the custom weights.

How to reason it out
  1. List constraints: custom weights, sporadic traffic, cost is the deciding dimension.
  2. Check GPU needs: a 70B model needs accelerators.
  3. Remove options that cannot use GPUs or cannot load the custom weights.
  4. Compare what remains on idle cost: choose Bedrock Custom Model Import over an always-on endpoint.

Exam tip: Custom weights of a supported open architecture plus spiky traffic: Bedrock Custom Model Import, not an always-on endpoint.

Choosing ML, Foundation Model and RAG Approaches on AWS (MLA-C02) — the lesson that teaches this.

Question 10ML Model and Foundation Model (FM) Development

A retailer wants to know whether each English-language product review is positive, negative, neutral or mixed. It has no labeled reviews and no data scientists, and the feature has to ship within two weeks. Which approach requires the LEAST development effort?

Choose one.

  • a
    Train a BlazingText classifier on Amazon SageMaker AI

    BlazingText is a supervised text classifier here, so it needs labeled reviews and ML skills that the retailer does not have.

  • b
    Call the Amazon Comprehend DetectSentiment API on each review Correct

    Comprehend's pre-trained sentiment model returns positive, negative, neutral or mixed with no training data or ML expertise.

  • c
    Fine-tune a foundation model in Amazon Bedrock for sentiment

    Fine-tuning needs labeled examples and an evaluation effort; it is more work than calling a pre-trained sentiment API.

  • d
    Build a custom text classification model in Amazon SageMaker Canvas

    Canvas is no-code, but a custom model still needs labeled training data, which the retailer does not have.

The concept

A managed AI service with a pre-trained model is the lowest-effort choice when its built-in capability already matches the business need.

Why that’s the answer

Sentiment in four classes (positive, negative, neutral, mixed) is exactly what Amazon Comprehend's pre-trained DetectSentiment returns. No labels, no training and no ML staff are needed. Every other option trains or customizes a model, which needs labeled data the retailer lacks.

How to reason it out
  1. Check whether a managed AI service already does the task.
  2. Note the constraints: no labels, no data scientists, short deadline.
  3. Choose the pre-trained API.
  4. Reject options that need training data.

Exam tip: If a pre-trained AI service already solves the task, use it before building a model.

Choosing ML, Foundation Model and RAG Approaches on AWS (MLA-C02) — the lesson that teaches this.

Question 11ML Model and Foundation Model (FM) Development

An online auto-parts retailer's assistant uses an Amazon Bedrock knowledge base backed by Amazon OpenSearch Serverless. When customers ask about a specific part such as "brake caliper BC-30218-L", retrieval returns pages for other calipers with similar descriptions, and the right part's page often ranks below them. Questions that describe a problem in plain words work well. Which retrieval configuration setting should the ML engineer change?

Choose one.

  • a
    "overrideSearchType": "SEMANTIC"

    Semantic-only search is the behaviour that is failing: embeddings capture meaning and treat different calipers with similar descriptions as near-identical.

  • b
    "numberOfResults": 50

    Returning more chunks widens the net but still ranks by semantic similarity, so the right part may stay buried and more noise reaches the model.

  • c
    "type": "QUERY_DECOMPOSITION"

    Query decomposition splits a complex multi-part question into sub-queries; it does not make retrieval match exact part numbers.

  • d
    "overrideSearchType": "HYBRID" Correct

    Hybrid search combines vector (semantic) search with a search over the raw text, so exact tokens such as part numbers count in ranking while descriptive questions keep their semantic matches. OpenSearch Serverless supports it.

The concept

Hybrid search in Amazon Bedrock Knowledge Bases combines semantic vector search with keyword search over the raw text.

Why that’s the answer

Embeddings capture meaning well but are weak at exact strings such as part numbers and SKUs, so a semantic-only search returns similar-sounding parts. Setting the search type to HYBRID adds text matching to the vector search while keeping semantic matching for descriptive questions. It is supported for Amazon RDS, OpenSearch Serverless and MongoDB vector stores with a filterable text field. More results or query decomposition do not change how relevance is computed.

How to reason it out
  1. Diagnose the symptom: conceptually similar but wrong documents.
  2. Identify the cause: exact identifiers such as part numbers are lost in semantic matching.
  3. Add keyword matching to the search: hybrid search type.
  4. Confirm the vector store supports hybrid search.

Exam tip: Exact codes and identifiers getting lost in semantic search: switch to hybrid search.

Choosing ML, Foundation Model and RAG Approaches on AWS (MLA-C02) — the lesson that teaches this.

Question 12ML Model and Foundation Model (FM) Development

A utility is creating an Amazon Bedrock knowledge base over 40 million chunks of maintenance manuals. Technicians search by exact fault code as often as by symptom description, so retrieval has to combine keyword and semantic matching. Query volume is low and the team wants to keep cost reasonable, but the keyword requirement is mandatory. Which vector store should the team choose?

Choose one.

  • a
    An Amazon S3 vector bucket as the knowledge base vector store

    S3 Vectors is the low-cost choice for large, infrequently queried indexes, but Bedrock knowledge bases support only semantic search on it, so the mandatory keyword matching is missing.

  • b
    An Amazon S3 vector bucket, with a reranking model on the results

    A reranker reorders what retrieval already returned. If semantic search never retrieves the chunk with the exact fault code, reranking cannot bring it back.

  • c
    An Amazon OpenSearch Serverless collection as the vector store Correct

    OpenSearch Serverless supports hybrid search in Bedrock knowledge bases, combining vector similarity with text matching, which meets the mandatory requirement.

  • d
    An Amazon Neptune Analytics graph, queried with GraphRAG retrieval

    GraphRAG adds entity relationships for multi-hop questions; it does not provide keyword matching on exact fault codes.

The concept

Vector store choice for a knowledge base depends on feature support (hybrid search, filters, graph) as well as storage and query cost.

Why that’s the answer

The mandatory requirement is hybrid retrieval. Bedrock supports hybrid search for Amazon RDS (Aurora), OpenSearch Serverless and MongoDB vector stores that have a filterable text field; other stores fall back to semantic search. S3 Vectors fits the cost profile and is the tempting answer, but it cannot meet the requirement. A reranker cannot recover chunks that retrieval never returned, and GraphRAG serves a different kind of question. When a cheaper store lacks a mandatory feature, cost is secondary.

How to reason it out
  1. Separate the mandatory requirement (hybrid search) from the preference (cost).
  2. Recall which knowledge base vector stores support hybrid search.
  3. Eliminate stores without it, even if cheaper.
  4. Check that workarounds such as reranking cannot add missing recall.

Exam tip: Mandatory keyword plus semantic retrieval rules out S3 Vectors; reranking cannot fix missed recall.

Choosing ML, Foundation Model and RAG Approaches on AWS (MLA-C02) — the lesson that teaches this.

Question 13ML Model and Foundation Model (FM) Development

An automotive supplier has a RAG assistant over thousands of supplier contracts, part specifications and recall notices. Users ask questions such as "Which suppliers of components used in the X5 braking module have had a recall in the last two years?". The answer requires linking facts spread across several documents, and today the assistant returns incomplete answers. Which retrieval pattern addresses this?

Choose one.

  • a
    Use GraphRAG with Amazon Neptune Analytics behind the knowledge base Correct

    GraphRAG builds a graph of entities and relationships across documents and uses it during retrieval, so multi-hop questions that chain facts can be answered.

  • b
    Raise the number of retrieved chunks returned for each question

    More chunks may include some of the pieces, but nothing links supplier to component to recall, so the model still has to guess the connections.

  • c
    Use hybrid search with Amazon OpenSearch Serverless behind the knowledge base

    Hybrid search improves matching on exact terms; it does not connect facts that live in different documents.

  • d
    Use Amazon Kendra as the retriever so documents keep their access lists

    Kendra's connectors and access-control filtering solve enterprise search problems, not the chaining of facts across documents.

The concept

GraphRAG combines vector retrieval with a knowledge graph so that answers can follow relationships between entities across documents.

Why that’s the answer

The question is multi-hop: component to module, supplier to component, recall to supplier, across different documents. Plain vector retrieval finds chunks similar to the question but does not connect entities. A knowledge base backed by Amazon Neptune Analytics with GraphRAG extracts entities and relationships and uses them during retrieval. More chunks, hybrid search or Kendra each solve a different retrieval problem.

How to reason it out
  1. Recognise the question type: several linked facts in different documents.
  2. Note why vector similarity alone falls short: it does not link entities.
  3. Choose a graph-based retrieval pattern.
  4. Reject options that only change how many or which chunks match.

Exam tip: Multi-hop questions across related entities: GraphRAG.

Choosing ML, Foundation Model and RAG Approaches on AWS (MLA-C02) — the lesson that teaches this.

Domain 3: Deployment and Orchestration of ML and AI Workflows

24% of the MLA-C02 exam, so 6 of the 25 questions on this page.

Question 14Deployment and Orchestration of ML and AI Workflows

A SaaS company trains a separate XGBoost model for each of its 3,000 business customers, all served with the same container. Most customers call their model a few times a day, and a short delay on a rarely used customer's first request is acceptable. Hosting one endpoint per customer has become too expensive. What should an ML engineer use to host the models?

Choose one.

  • a
    A multi-container endpoint with one container for each customer

    A multi-container endpoint holds at most 15 containers, far short of 3,000 models, and is meant for different containers rather than many models in one.

  • b
    A single multi-model endpoint that loads models from Amazon S3 Correct

    A multi-model endpoint hosts many same-framework models behind one shared container, loading each from S3 on demand and caching it, which suits thousands of rarely used models.

  • c
    A serial inference pipeline that chains the customer models in sequence

    A serial inference pipeline runs every container in sequence for each request, which is for pre/post-processing chains, not routing to one model per customer.

  • d
    A separate serverless endpoint for each customer that scales to zero

    Per-customer serverless endpoints would exceed the per-Region limit on serverless endpoints and still leave thousands of endpoints to manage.

The concept

Multi-model endpoints host many same-framework models on shared instances and load them on demand.

Why that’s the answer

Thousands of models, one framework, infrequent access and tolerance for cold-start latency are the textbook signals for a multi-model endpoint. Callers name the model with the TargetModel parameter; SageMaker AI downloads it from S3, caches it and unloads idle models when memory runs short.

How to reason it out
  1. Count the models and check they share a framework/container.
  2. Check access frequency and cold-start tolerance.
  3. Choose a multi-model endpoint for many similar, mostly idle models.

Exam tip: Many similar models, one container, occasional use: multi-model endpoint.

Deploying ML Models, Foundation Models and Agents on AWS (MLA-C02) — the lesson that teaches this.

Question 15Deployment and Orchestration of ML and AI Workflows

A company serves 800 per-store demand models from one SageMaker AI multi-model endpoint. CloudWatch shows frequent model unloads, and stores that call every few minutes still see slow responses. One flagship store now sends hundreds of requests per second and needs consistently low latency, and its traffic is slowing other stores. Which actions should an ML engineer take? (Select TWO.)

Choose TWO.

  • a
    Move the flagship store's model to its own dedicated single-model endpoint Correct

    Models with much higher request rates or strict latency needs belong on dedicated endpoints; this also stops one model from monopolising the shared fleet.

  • b
    Use an instance type with more memory so more models stay loaded at the same time Correct

    Unloads happen when instance memory fills up; more memory per instance keeps more models cached, so regularly used models stop paying the load penalty.

  • c
    Convert the multi-model endpoint to serverless inference so that idle models cost nothing

    Serverless inference does not support multi-model endpoints, and it would not stop the frequent model unloading.

  • d
    Pass each store's model name in the TargetContainerHostname header of each request

    TargetContainerHostname selects a container on a multi-container endpoint; a multi-model endpoint chooses the model with TargetModel, and the header changes nothing about caching.

  • e
    Group the 800 models into one model.tar.gz archive so that they load together at start-up

    A multi-model endpoint loads each model artifact separately from S3; one combined archive is treated as a single model and cannot be addressed per store.

The concept

Multi-model endpoints time-share memory; heavy hitters belong elsewhere and memory sizing controls unloads.

Why that’s the answer

Two problems need two fixes. Slow responses for regularly used models come from cache eviction: when memory is full, SageMaker AI unloads models and must reload them, so more memory per instance keeps more models warm. The flagship store breaks the multi-model pattern, which works best when models have similar traffic; AWS recommends dedicated endpoints for high-TPS or strict-latency models.

How to reason it out
  1. Link "frequent unloads" to instance memory pressure.
  2. Link the single high-TPS, low-latency model to a dedicated endpoint.
  3. Reject options based on the wrong invocation parameter or unsupported endpoint types.

Exam tip: Unloads mean memory pressure; one hot model means a dedicated endpoint.

Deploying ML Models, Foundation Models and Agents on AWS (MLA-C02) — the lesson that teaches this.

Question 16Deployment and Orchestration of ML and AI Workflows

A data science team has three containers: a scikit-learn container that cleans and encodes raw input, an XGBoost container that predicts, and a small container that converts scores into business labels. Every request must pass through all three in that order. The calling application should make a single call and get the final label, with as little added latency as possible. Which solution will meet these requirements with the LEAST operational overhead?

Choose one.

  • a
    A serial inference pipeline that runs the three containers as one model Correct

    A serial inference pipeline runs up to 15 containers in sequence on the same instances behind one endpoint, passing each output to the next container and returning the final result.

  • b
    A multi-container endpoint in Direct invocation mode with the three containers

    Direct invocation sends each request to one named container, so the client would have to make three calls and pass results along itself.

  • c
    An AWS Step Functions workflow that invokes three separate SageMaker AI endpoints

    Chaining three endpoints with Step Functions works and gives the application one call, but it adds network hops, three endpoints to operate and an orchestration layer for what one endpoint can do, so it carries more operational overhead.

  • d
    A multi-model endpoint that holds the three model artifacts in one S3 prefix

    A multi-model endpoint serves one model per request from a single shared container; it does not chain different containers.

The concept

A serial inference pipeline chains containers behind one endpoint call.

Why that’s the answer

The requirement is sequential processing through different containers with a single call. Two options can deliver one call: a Step Functions workflow over three endpoints, and a serial inference pipeline. The serial inference pipeline (a PipelineModel) hosts 2 to 15 containers together behind one endpoint and pipes each response into the next container on the same instance, so there is one endpoint to run and no extra network hops. Step Functions works but means three endpoints plus a workflow to operate. Multi-container Direct mode calls one container at a time.

How to reason it out
  1. Notice that every request must pass through all containers in order.
  2. List the options that give the caller one call: Step Functions over endpoints, or a serial inference pipeline.
  3. Choose the serial inference pipeline: one endpoint, no orchestration layer to operate.

Exam tip: Containers in sequence per request: serial inference pipeline.

Deploying ML Models, Foundation Models and Agents on AWS (MLA-C02) — the lesson that teaches this.

Question 17Deployment and Orchestration of ML and AI Workflows

A company has five low-traffic models built with different frameworks: two TensorFlow, two PyTorch and one scikit-learn, each in its own serving container. Different applications call different models, and each request needs only one model. To cut cost, the company wants all five on one endpoint backed by shared instances. Which configuration should an ML engineer use?

Choose one.

  • a
    A multi-container endpoint in Serial mode, sending each request to the first container

    Serial mode is the inference pipeline: every request runs through all the containers in order, which is not what independent callers need.

  • b
    A multi-model endpoint that loads the five model artifacts into one shared container

    A multi-model endpoint serves every model from one shared serving container; these models already ship in three separate framework containers, so they would have to be repackaged, and multi-model endpoints are built for many similar models rather than a few heterogeneous ones.

  • c
    One endpoint with five production variants, with callers setting the TargetVariant header

    Production variants are for splitting traffic between model versions, and each variant runs on its own instances, so they do not share compute.

  • d
    A multi-container endpoint in Direct mode, with callers setting TargetContainerHostname Correct

    Direct invocation hosts up to 15 different containers on one endpoint and lets each request name the container it needs, so different frameworks share instances.

The concept

Multi-container endpoints in Direct mode host different containers and route by TargetContainerHostname.

Why that’s the answer

The models need different containers and are called independently. A multi-container endpoint with Direct invocation hosts them on shared instances, and each request names its container. A multi-model endpoint serves every model from one shared container and suits many similar models, so these three framework containers would have to be repackaged; Serial mode chains containers; production variants run on separate instances.

How to reason it out
  1. Check whether the models already share one serving container (they ship in three).
  2. Check whether requests need one model or a chain (one).
  3. Choose a multi-container endpoint with Direct invocation.

Exam tip: Different frameworks, one model per call, one endpoint: multi-container, Direct mode.

Deploying ML Models, Foundation Models and Agents on AWS (MLA-C02) — the lesson that teaches this.

Question 18Deployment and Orchestration of ML and AI Workflows

A company hosts three open-weight 8B language models for different teams. Each model fits on one GPU. To share hardware, it wants all three on a single SageMaker AI endpoint backed by ml.g5.12xlarge instances (four GPUs each). Each model must scale with its own traffic, and the HR model is used only in business hours, so it should release its GPU overnight. Which approach meets these requirements?

Choose one.

  • a
    Deploy each model as an inference component requesting one accelerator, and scale each copy count down to zero Correct

    Inference components reserve accelerators, CPU and memory per model on a shared endpoint, scale each model's copy count independently, and allow a minimum of zero copies.

  • b
    Deploy the models on a GPU multi-model endpoint and let it unload the HR model from GPU memory overnight

    A GPU multi-model endpoint shares memory across models but does not reserve a GPU per model or scale each model separately with its own policy.

  • c
    Deploy each model as a production variant on the endpoint and set the HR variant's weight to zero

    Each production variant runs on its own instances, so the models would not share GPUs, and a zero weight stops traffic without releasing the instance.

  • d
    Deploy the models as a multi-container endpoint in Direct mode with one container for each of the models

    A multi-container endpoint hosts several containers but gives them no per-model accelerator reservation or independent scaling of copies.

The concept

Inference components allocate resources per model on a shared endpoint and scale each one independently, down to zero.

Why that’s the answer

Three needs combine: per-model GPU allocation on shared instances, independent scaling, and releasing resources when idle. Inference components declare compute requirements per model (for example NumberOfAcceleratorDevicesRequired) and scale a CopyCount through Application Auto Scaling, including to zero. The alternatives share hardware without per-model allocation, or do not share hardware at all.

How to reason it out
  1. Note the need for GPU allocation per model on shared instances.
  2. Note independent scaling per model, including to zero.
  3. Recognise that only inference components provide both.

Exam tip: Several FMs on one endpoint with their own resources and scaling: inference components.

Deploying ML Models, Foundation Models and Agents on AWS (MLA-C02) — the lesson that teaches this.

Question 19Deployment and Orchestration of ML and AI Workflows

A startup wants its application to call a text-generation foundation model through an API. Usage is low and unpredictable while the product is in beta. The team does not want to choose instance types or manage endpoints. Which option will meet these requirements MOST cost-effectively?

Choose one.

  • a
    A SageMaker JumpStart deployment of an open-weight model to an endpoint

    JumpStart deploys the model to an endpoint whose instances the team chooses and pays for while it runs, even when no tokens are processed.

  • b
    On-demand inference for a serverless model in Amazon Bedrock Correct

    On-demand Bedrock inference is fully managed and billed per input and output token, with no instances or commitment, so low and unpredictable beta traffic costs only what it uses.

  • c
    Provisioned Throughput purchased for a model in Amazon Bedrock

    Provisioned Throughput also needs no instance choices, but it reserves model units billed by the hour whether or not they are used, so for low, unpredictable beta traffic it costs far more than paying per token.

  • d
    An Amazon Bedrock Marketplace model deployed to a managed endpoint

    Bedrock Marketplace models run on endpoints where the team selects the instance type and count, so it pays for instances rather than per token.

The concept

Amazon Bedrock on-demand inference is the pay-per-token, no-infrastructure FM option.

Why that’s the answer

Two options avoid instance choices and endpoint management: Bedrock on-demand inference and Bedrock Provisioned Throughput. Provisioned Throughput bills reserved model units by the hour and pays off only for steady, heavy use; on-demand bills per token, so low and unpredictable traffic costs least there. JumpStart and Bedrock Marketplace deploy to endpoints whose instances the team chooses and pays for per instance-hour.

How to reason it out
  1. List the constraints: no instance choices, no endpoints to manage.
  2. Eliminate endpoint-based deployments (JumpStart, Bedrock Marketplace).
  3. Compare the two Bedrock options on cost for low, unpredictable traffic: per-token on-demand beats hourly Provisioned Throughput.

Exam tip: Low, unpredictable FM traffic with nothing to provision: Bedrock on-demand is cheapest.

Deploying ML Models, Foundation Models and Agents on AWS (MLA-C02) — the lesson that teaches this.

Domain 4: Operating, Monitoring, and Securing ML and AI Solutions

24% of the MLA-C02 exam, so 6 of the 25 questions on this page.

Question 20Operating, Monitoring, and Securing ML and AI Solutions

A lender's approval model passed a fairness review before launch. Six months later, the share of approvals for applicants over 60 has fallen relative to younger applicants, even though overall accuracy and feature distributions are unchanged. The compliance team wants this kind of change detected automatically from production traffic in the future. What should the ML engineer set up?

Choose one.

  • a
    Run a SageMaker Clarify pre-training bias processing job on the original training data with age as the facet each month.

    Pre-training bias metrics describe the training dataset, which has not changed; they cannot detect a shift in production outcomes.

  • b
    Schedule a SageMaker Model Monitor data quality monitor with an extra constraint on the distribution of the age feature.

    The age distribution of applicants is unchanged; the problem is the outcome gap between groups, which data quality does not measure.

  • c
    Schedule a SageMaker Clarify bias drift monitor on the endpoint with age group as the facet and a bias baseline. Correct

    Bias drift monitoring computes post-training bias metrics on live predictions for the chosen facet and alerts when they move beyond the baseline constraints.

  • d
    Schedule a SageMaker Clarify feature attribution drift monitor that compares SHAP values for the age feature over time.

    Attribution drift shows whether feature importance changes, not whether approval rates diverge between age groups.

The concept

SageMaker Clarify bias drift monitoring tracks post-training bias metrics for a facet on live traffic against a baseline.

Why that’s the answer

The problem is an outcome gap between groups in production, which is bias drift. A bias drift monitor runs on a schedule against captured traffic, computes post-training bias metrics for the configured facet (age group) and compares them with baseline constraints. Pre-training bias jobs only look at the static training set, and data quality or attribution drift watch different signals.

How to reason it out
  1. Identify the signal: approval rates differ between age groups.
  2. Recognise this as a post-training bias metric on live data.
  3. Choose the monitor that recomputes it on a schedule: bias drift.

Exam tip: Outcome gaps between groups appearing in production = Clarify bias drift monitor.

Monitoring ML Models, FMs and Agents in Production: Drift, A/B Tests and Bedrock Evaluations (MLA-C02) — the lesson that teaches this.

Question 21Operating, Monitoring, and Securing ML and AI Solutions

A SageMaker AI endpoint has an hourly data quality monitoring schedule. A SageMaker Pipelines pipeline already retrains and registers the model. The ML engineer must start that pipeline automatically, but only when the monitor detects feature drift. Which combination of actions will meet these requirements with the LEAST operational overhead? (Select TWO.)

Choose TWO.

  • a
    Create an EventBridge rule that matches the drift monitoring job's state change to Completed and starts the pipeline.

    Every monitoring run completes, drift or not, so this would retrain hourly regardless of the result.

  • b
    Have the monitoring schedule publish its metrics to CloudWatch, and create an alarm on the drift metric for the affected features. Correct

    Model Monitor can emit per-feature drift metrics to CloudWatch, giving an alarm that changes state only when drift crosses the threshold.

  • c
    Schedule an AWS Lambda function that reads the monitor's drift violation report from Amazon S3 each hour and then starts the pipeline.

    This works, but the team must write, schedule and maintain polling code that parses the violation report, which is more operational overhead than native alarm and rule wiring.

  • d
    Create an EventBridge rule that matches the alarm's state change to ALARM and starts the pipeline execution as its target. Correct

    EventBridge can react to CloudWatch alarm state changes and start a SageMaker pipeline execution directly, with no code.

  • e
    Configure the endpoint's data capture to send captured records directly to the pipeline as an input parameter on each request.

    Data capture writes to S3; it has no mechanism to start pipelines, and retraining per request is not the goal.

The concept

A drift-triggered retraining loop: Model Monitor -> CloudWatch metric alarm -> EventBridge rule -> SageMaker Pipelines execution.

Why that’s the answer

The monitor already detects drift; the work is wiring its result to the pipeline with the least to build and maintain. Publishing the monitor's metrics to CloudWatch lets an alarm reflect drift, and an EventBridge rule on that alarm's state change can start the pipeline as a native target, with no code. A scheduled Lambda function that parses the violation report also works, but it is custom code to maintain. Matching on job completion fires on every run, drift or not.

How to reason it out
  1. Find a signal that changes only when drift happens: a CloudWatch alarm on the drift metric.
  2. Find a no-code way to react to that signal: EventBridge, which can start a SageMaker pipeline directly.
  3. Compare with the workable polling Lambda function: it adds code, so it loses on operational overhead.
  4. Reject triggers that fire on every run.

Exam tip: Drift alarm -> EventBridge -> pipeline: trigger on the alarm, not on the monitoring job finishing.

Monitoring ML Models, FMs and Agents in Production: Drift, A/B Tests and Bedrock Evaluations (MLA-C02) — the lesson that teaches this.

Question 22Operating, Monitoring, and Securing ML and AI Solutions

A company's question-answering assistant calls a model on Amazon Bedrock, and model invocation logging is delivered to Amazon S3. Answer quality dropped after the company launched in a new market, and the ML engineer suspects users now ask about topics the prompts were never tested on. The engineer needs a weekly, automated measure of how far user questions have shifted from the launch period. What should the engineer do?

Choose one.

  • a
    Attach a SageMaker Model Monitor data quality schedule to the Bedrock model, using the launch-period prompts as the baseline dataset.

    Model Monitor works on data captured from SageMaker AI endpoints or batch transform jobs; it cannot be attached to a Bedrock model.

  • b
    Embed the logged prompts in a scheduled job, compare them with launch-period prompt embeddings, and publish a drift metric to CloudWatch. Correct

    Invocation logs hold the prompts; embedding them and comparing distributions with a baseline gives a drift measure for free text, which can be alarmed on.

  • c
    Run a weekly Amazon Bedrock model evaluation job with the Builtin.Relevance metric on a fixed dataset of prompts collected during the launch period.

    A fixed prompt set measures the model on old questions; it cannot show that the incoming questions themselves have changed.

  • d
    Create a CloudWatch anomaly detection alarm on the InputTokenCount metric for the model so that unusual prompts raise an alert.

    Token counts only reflect prompt length; questions on new topics can have exactly the same length profile.

The concept

Text drift for a Bedrock application is measured on logged prompts (for example by comparing embedding distributions), because Model Monitor data capture applies to SageMaker AI endpoints, not Bedrock.

Why that’s the answer

Two facts combine. First, SageMaker Model Monitor needs data captured from a SageMaker AI endpoint or batch transform job, so it cannot watch Bedrock traffic. Second, the prompts are already in the invocation logs, and topic shift in free text is best measured in embedding space (for example distance between the current and baseline embedding distributions or cluster proportions). A scheduled job publishing a custom metric gives the weekly, alarmable measure. A fixed evaluation set and token counts cannot reveal new topics.

How to reason it out
  1. Check where the data lives: Bedrock invocation logs in S3.
  2. Rule out Model Monitor, which needs SageMaker endpoint or batch transform capture.
  3. Choose a representation that captures topic: embeddings, not token counts.
  4. Automate the comparison and publish a metric that can drive an alarm.

Exam tip: For GenAI input drift, compare embeddings of logged prompts with a baseline; Model Monitor does not watch Bedrock.

Monitoring ML Models, FMs and Agents in Production: Drift, A/B Tests and Bedrock Evaluations (MLA-C02) — the lesson that teaches this.

Question 23Operating, Monitoring, and Securing ML and AI Solutions

A nightly SageMaker Pipelines pipeline prepares features and runs batch inference for a marketing team. Sometimes a step fails and nobody notices until the next morning. The ML engineer wants the on-call engineer notified within minutes of any failed pipeline run. Which solution will meet these requirements with the LEAST operational overhead?

Choose one.

  • a
    An Amazon EventBridge rule that matches SageMaker pipeline step status changes to Starting, with an Amazon SNS topic as the target

    This rule matches the start of every step, so it would page on each run and never specifically on a failure.

  • b
    An Amazon EventBridge rule that matches SageMaker pipeline execution status changes to Failed, with an Amazon SNS topic as the target Correct

    SageMaker Pipelines emits execution status change events to EventBridge; a rule on the Failed status notifies SNS immediately with no code to maintain.

  • c
    A Lambda function on a five-minute EventBridge Scheduler schedule that lists recent pipeline executions and publishes failures to an Amazon SNS topic

    This would notify within minutes, but it is custom polling code to write, schedule and maintain when the service already emits status-change events.

  • d
    A CloudWatch Logs subscription filter on the pipeline's processing job logs that forwards each log line to an Amazon SNS topic

    Forwarding all log lines floods the on-call engineer and still does not reliably identify a failed run.

The concept

SageMaker Pipelines publishes execution status change events to Amazon EventBridge, which can route failures to notifications.

Why that’s the answer

Event-driven detection is the lowest-overhead way to catch workflow failures. SageMaker Pipelines sends execution (and step) status change events to EventBridge; a rule that matches the Failed status and targets an SNS topic notifies on-call within minutes, with no code. A scheduled Lambda function that polls executions also works, but it is code to build and maintain. Matching the Starting status pages on every run, and forwarding every log line floods the on-call engineer without identifying failed runs.

How to reason it out
  1. Look for an event the service emits on failure.
  2. Match the Failed status, not other states.
  3. Prefer the event rule over a workable polling function, because it needs no code.

Exam tip: Workflow failure alerts: EventBridge rule on the service's status-change event, filtered to Failed.

Monitoring ML Models, FMs and Agents in Production: Drift, A/B Tests and Bedrock Evaluations (MLA-C02) — the lesson that teaches this.

Question 24Operating, Monitoring, and Securing ML and AI Solutions

Traffic to a SageMaker AI recommendation endpoint follows a strong daily and weekly pattern. A static-threshold alarm on the Invocations metric either fires every Monday morning or misses real drops caused by an upstream outage on quiet weekends. The ML engineer wants alerts on unusual invocation volume in either direction. Which solution will meet these requirements with the LEAST operational overhead?

Choose one.

  • a
    Create a CloudWatch composite alarm that combines a weekday static-threshold alarm with a weekend static-threshold alarm.

    Separate weekday and weekend thresholds can reduce false alarms, but someone must keep tuning both numbers as traffic grows, and they still only approximate the daily pattern.

  • b
    Create a CloudWatch Contributor Insights rule on the endpoint's logs to find the clients sending the most invocation requests.

    Contributor Insights ranks top contributors; it does not learn the expected volume or alarm on deviations from it.

  • c
    Create a CloudWatch alarm with metric math that compares the Invocations metric with the average of the previous hour.

    Comparing with the previous hour still flags the normal Monday ramp-up and needs a hand-picked tolerance.

  • d
    Create a CloudWatch alarm based on an anomaly detection band for the Invocations metric, alarming outside the band. Correct

    Anomaly detection learns the metric's expected values, including daily and weekly seasonality, and alarms when the value leaves the band.

The concept

CloudWatch anomaly detection builds an expected-value band from a metric's history, including seasonality, and alarms when values fall outside it.

Why that’s the answer

A seasonal metric defeats fixed thresholds. CloudWatch anomaly detection trains on the metric's history, models daily and weekly patterns, and produces a band; an alarm on that band fires only on genuinely unusual volume in either direction, and the band retrains itself. A composite of weekday and weekend static alarms can partly work, but its thresholds must be tuned and retuned by hand, so it loses on operational overhead. Metric math against the previous hour still flags the normal Monday ramp, and Contributor Insights solves a different problem.

How to reason it out
  1. Notice the metric is seasonal and static thresholds fail.
  2. Look for a feature that learns expected values from history.
  3. Compare with hand-tuned composite thresholds: workable but higher overhead.
  4. Alarm on the anomaly detection band.

Exam tip: Seasonal metric + no hand-tuned thresholds = CloudWatch anomaly detection alarm.

Monitoring ML Models, FMs and Agents in Production: Drift, A/B Tests and Bedrock Evaluations (MLA-C02) — the lesson that teaches this.

Question 25Operating, Monitoring, and Securing ML and AI Solutions

A SageMaker AI batch transform job runs every hour on new documents, and its container writes detailed logs to CloudWatch Logs. Twice this month a new kind of parsing error appeared in the logs and silently lowered output quality, although the job still finished successfully. The error messages differ each time, so the team cannot predict them. What should the ML engineer configure to surface such issues early?

Choose one.

  • a
    A CloudWatch Logs anomaly detector on the job's log group, with alerts on new or unusual log patterns Correct

    Logs anomaly detection learns normal log patterns and flags new or unusual ones without predefined error strings.

  • b
    A CloudWatch metric filter that counts log lines containing the word ERROR, with an alarm on the count

    This catches only messages written in a known pattern; the new errors were not predictable, and benign ERROR lines would add noise.

  • c
    An Amazon EventBridge rule that matches transform job state changes to Failed, with an Amazon SNS topic as the target

    The jobs completed successfully, so a Failed-state rule never fires for this problem.

  • d
    A CloudWatch alarm on the batch transform job's CPUUtilization metric using a static threshold of 90 percent

    Parsing errors that skip content need not change CPU use, so the alarm would not reflect the quality problem.

The concept

CloudWatch Logs anomaly detection learns a log group's normal patterns and surfaces new or unusual ones without predefined patterns.

Why that’s the answer

The deciding constraint is that the errors are unpredictable and the job does not fail. A metric filter needs a known pattern, and state-change rules only see failures. A CloudWatch Logs anomaly detector learns the usual log patterns of the group and flags new patterns or unusual frequencies, which is exactly how a new parsing error would show up.

How to reason it out
  1. Note that the job succeeds, so state-change events will not help.
  2. Note that the error text is unpredictable, so fixed filters will miss it.
  3. Choose a detector that learns normal log patterns.

Exam tip: Unknown error patterns in logs = CloudWatch Logs anomaly detection; known patterns = metric filters.

Monitoring ML Models, FMs and Agents in Production: Drift, A/B Tests and Bedrock Evaluations (MLA-C02) — the lesson that teaches this.

Keep going with MLA-C02

MLA-C02 practice by domain

MLA-C02 sample questions: your questions

No. Real exam questions are confidential. These are original questions written to the skills in the official MLA-C02 exam guide, so they test the same knowledge in the same style without being copies of the exam.

Source

The domains and weights on this page come from the official MLA-C02 exam guide.