BXUP Track progress & test yourself — free
AWS · MLA-C01 · Study guide · ~40 min read
AWS · MLA-C01 · STUDY GUIDE

AWS Certified Machine Learning Engineer – Associate (MLA-C01) — Complete Study Guide

For ML and MLOps engineers, data engineers moving into ML, and backend or DevOps engineers who operationalize models. MLA-C01 validates that you can take a machine learning model from raw data to a monitored, secured, production-grade deployment on AWS.

Unlike the retired Specialty exam (MLS-C01), which leaned heavily on ML theory and algorithm math, MLA-C01 is an engineering exam: it assumes you already know what a model is and instead tests whether you can build the pipelines, endpoints, CI/CD workflows, monitoring, and guardrails around it — mostly with Amazon SageMaker AI at the center.

AWS recommends at least one year of experience with SageMaker and related AWS services, but a disciplined candidate with strong general AWS knowledge (an Associate-level cert helps) and hands-on SageMaker practice can pass. Expect scenario questions of the form "a company needs X under constraint Y — which approach?" where two answers are plausible and the constraint (cost, latency, compliance, operational overhead) decides the winner.

Exam FactDetail
Exam codeMLA-C01
Questions65 total (50 scored + 15 unscored pretest)
Duration130 minutes
Passing score720 / 1000 (~72%), compensatory scoring across domains
Cost$150 USD (as of July 2026)
Question formatsMultiple choice (1 of 4), multiple response (2+ of 5+), ordering, matching, case study
Validity3 years
DeliveryPearson VUE — testing center or online proctored
Note

MLA-C01 introduced new question types to AWS exams: ordering (arrange steps in the correct sequence), matching (pair items from two lists), and case studies (one scenario feeding several independent questions). Ordering questions love pipeline sequences — ingest → transform → train → register → deploy → monitor — so know the canonical ML lifecycle order cold.

How to Use This Guide

The guide is organized into four parts that mirror the official exam domains exactly, in official order and weight. Study Parts 1 and 4 hardest — together Data Preparation (28%) and Monitoring/Security (24%) are more than half the exam, and they are the areas SageMaker-focused courses cover most thinly.

Callouts flag material worth extra attention:

  • Exam Tippoints that are frequently tested or frequently confused; read these twice.
  • Key Takeawaythe one sentence to retain from a section.
  • Remembermnemonics and memory hooks.
  • Notecontext, caveats, or scope boundaries.

Work through each part, then use the Exam-Day Checklist as a rapid-review sheet in your final 48 hours.

Part 1 · Data Preparation for Machine Learning (28%)

This is the heaviest domain. It covers ingesting, storing, transforming, labeling, validating, and protecting data before it ever reaches a training job.

Data Formats and When Each Wins

ML pipelines on AWS revolve around six formats, and the exam expects you to pick the right one from a scenario:

FormatTypeBest forKey property
CSVRow-based textSmall tabular data, human inspection, broad tool supportNo schema, no compression by default, parses slowly at scale
JSON / JSON LinesRow-based textSemi-structured/nested data, API payloads, streaming recordsSelf-describing but verbose; JSONL is the streaming-friendly variant
ParquetColumnar binaryAnalytics and feature selection over wide tables (Athena, Glue, EMR)Column pruning + compression = read only the columns you need
ORCColumnar binaryHive/EMR-centric analytics workloadsSimilar benefits to Parquet; strongest in the Hadoop ecosystem
AvroRow-based binaryStreaming and record-at-a-time ingestion (Kafka pipelines)Embedded schema with strong schema-evolution support
RecordIO (protobuf)Row-based binarySageMaker built-in algorithms in Pipe modeSageMaker's optimized training format; streams data instead of copying it

Decision logic: columnar (Parquet/ORC) for analytical reads that touch few columns of many rows; row-based (Avro/JSONL/RecordIO) for write-heavy streaming or sequential full-record reads. Converting CSV data lakes to Parquet routinely cuts Athena/Glue scan costs by 80%+ because queries scan only referenced columns.

Exam Tip

If a question mentions SageMaker Pipe mode (streaming training data from S3 rather than downloading it first to speed job startup and cut EBS needs), the paired format is RecordIO-protobuf. If it mentions reducing Athena query cost on a large tabular dataset, the answer is almost always "convert to Parquet with compression."

Storage: S3 vs. EFS vs. FSx for Lustre

Training jobs need to read data from somewhere, and the exam tests the trade-offs:

StorageAccess modelLatency/throughput profileTypical ML use
Amazon S3Object API (also File mode, Fast File mode, Pipe mode into SageMaker)High throughput, higher per-request latency; effectively unlimited scale, cheapestDefault for datasets, model artifacts, feature files
Amazon EFSPOSIX file system, NFS, multi-AZ, elasticModerate throughput, shared concurrent accessSageMaker Studio home directories; shared notebooks and code across users
Amazon FSx for LustrePOSIX high-performance parallel file system, links to an S3 bucketSub-millisecond latency, hundreds of GB/sRepeated-epoch training on massive datasets; distributed GPU training that would otherwise wait on S3 downloads

FSx for Lustre can be linked to an S3 bucket and lazily loads objects on first read, so you keep S3 as the system of record while training reads at file-system speed. Use it when the same large dataset is read repeatedly (many epochs, many experiments) and S3 File mode download time dominates job duration. For most workloads, S3 with Fast File mode (on-demand streaming with file-system semantics, no full download) is the cost-effective middle ground.

Key Takeaway:

S3 is the default answer; FSx for Lustre is the answer when the scenario stresses "shortest training startup" or "highest throughput for repeated distributed training"; EFS is the answer when multiple users or instances need shared POSIX access to the same files.

For real-time data flowing into ML systems, know the division of labor:

  • Kinesis Data Streamsthe serverless AWS-native ingestion pipe. Producers write records; consumers (Lambda, Managed Flink, custom apps) read them with replay within the retention window (up to 365 days). Choose provisioned shards or on-demand capacity.
  • Amazon Data Firehosezero-administration delivery: buffers a stream and lands it in S3, Redshift, or OpenSearch, with optional Lambda transformation and Parquet conversion in flight. No consumer code to write. If the requirement is "get streaming data into S3 with least operational effort," Firehose is the answer.
  • Amazon Managed Service for Apache Flinkstateful stream processing: windowed aggregations, real-time feature computation, joins across streams, anomaly detection in flight. Choose it when the scenario requires transformation logic on the stream, not just delivery.
  • Amazon MSK (Managed Streaming for Apache Kafka)managed Kafka for teams already invested in the Kafka ecosystem or needing Kafka-specific features (existing producers/consumers, Kafka Connect). Migrating an on-prem Kafka pipeline to AWS points to MSK, not Kinesis.

A canonical exam pattern: clickstream events → Kinesis Data Streams → Managed Flink computes rolling features → writes to SageMaker Feature Store for low-latency inference lookup, while Firehose archives raw events to S3 for training.

SageMaker Data Wrangler and Feature Store Ingestion

Data Wrangler is the low-code data prep UI inside SageMaker Studio: connect to S3, Athena, Redshift, Snowflake and others; profile the data; apply 300+ built-in transforms (plus custom PySpark/pandas); check for target leakage and bias; then export the flow as a SageMaker Processing job, a Pipelines step, or directly into Feature Store. It is the "prepare data visually without writing ETL code" answer.

SageMaker Feature Store solves feature consistency between training and inference. Each feature group has two stores:

  • Online storelow-millisecond GetRecord lookups for real-time inference.
  • Offline storean append-only, time-stamped history in S3 (Iceberg/Parquet) queryable via Athena for building training sets, including point-in-time correct queries that avoid leaking future data into training examples.

Ingestion paths: PutRecord API for streaming writes (which can sync to both stores), batch ingestion from Data Wrangler or Spark, and the offline store filling asynchronously from online writes.

Exam Tip

"Training/serving skew because the training pipeline and the inference service compute the same feature differently" — the fix is Feature Store: compute the feature once, serve it to training from the offline store and to inference from the online store.

Merging and Transforming Data: Glue, Spark on EMR, DataBrew

Three tools, three personas — the exam tests which fits a scenario:

  • AWS Glueserverless Spark ETL with a Data Catalog (crawlers infer schemas; the catalog is the metastore for Athena/EMR/Redshift Spectrum). Choose Glue for scheduled, serverless ETL joins/merges without cluster management. Glue also offers Glue Data Quality for rule-based validation.
  • Spark on Amazon EMRmaximum control and scale: custom Spark versions, long-running clusters, spot fleets, other Hadoop-ecosystem engines. Choose EMR when the scenario stresses very large scale, custom libraries, or cost-tuning a persistent big-data platform.
  • AWS Glue DataBrewvisual, no-code data preparation with 250+ point-and-click transformations and profiling, aimed at analysts. If the persona is "business analyst, no code," it's DataBrew; if it's "data scientist inside SageMaker Studio," it's Data Wrangler.

Cleaning Data: Outliers, Missing Values, Duplicates

Outliers. Detect with z-scores (|z| > 3 under roughly normal data), IQR fences (below Q1 − 1.5·IQR or above Q3 + 1.5·IQR), or model-based detection (Random Cut Forest — available as a SageMaker built-in algorithm and inside Managed Flink for streaming anomaly detection). Treat by removing (if erroneous), capping/winsorizing (if legitimate but extreme), or applying transforms that compress the tail.

Missing values (imputation). Dropping rows is acceptable only when missingness is rare and random. Otherwise impute: mean/median for numeric (median when skewed), mode for categorical, or model-based approaches (k-NN imputation, MICE) when relationships between features matter. Adding a "was missing" indicator column preserves the signal that a value was absent — sometimes missingness itself is predictive.

Deduplication. Exact duplicates inflate the apparent size of the dataset and, worse, can leak across the train/test split so the model is graded on rows it memorized. Fuzzy duplicates (same entity, slightly different strings) call for AWS Glue FindMatches, an ML transform built for entity resolution/record linkage.

Feature Engineering: Scaling, Binning, Transforms

  • Standardization (z-score: subtract mean, divide by standard deviation) — centers features at 0 with unit variance; the default for algorithms sensitive to feature magnitude (linear models, SVMs, neural networks, k-means, PCA). More robust to outliers than min-max.
  • Normalization / min-max scalingrescales to [0, 1]; useful when a bounded range is needed (e.g., pixel inputs), but a single outlier squashes everything else.
  • Binning (discretization)converts a continuous feature into categories (equal-width or quantile bins). Reduces sensitivity to small fluctuations and outliers and lets linear models capture non-linear effects; the cost is lost granularity.
  • Log transformcompresses right-skewed, long-tail distributions (income, page views) toward normality so linear methods and gradient descent behave better. Use log1p when zeros exist.

Tree-based models (XGBoost, Random Forest) are scale-invariant — they split on thresholds — so scaling is unnecessary for them. Distance- and gradient-based models need it.

Remember:

"Trees don't care about scale; distances and gradients do." If the model is XGBoost, skip the standardization step; if it's k-means, k-NN, SVM, or a neural network, scale first.

Encoding Categorical and Text Data

  • One-hot encodingone binary column per category. Correct for nominal (unordered) categories with low cardinality. Explodes dimensionality on high-cardinality features.
  • Label / ordinal encodinga single integer per category. Correct only when the categories have a genuine order (S < M < L); applying it to unordered categories invents a fake ranking that misleads linear and distance-based models (trees tolerate it better).
  • Binary encodingcategories → integers → binary digits across ⌈log₂(n)⌉ columns. A dimensionality compromise for high-cardinality nominal features.
  • Tokenizationfor text: split into tokens, map to IDs, then typically to embeddings. This is the entry point to any NLP pipeline, including preparing corpora for fine-tuning foundation models. (SageMaker's BlazingText and modern transformer models consume tokenized text.)
Exam Tip

Classic distractor pair: one-hot vs. label encoding. "Color = {red, green, blue} for a linear model" → one-hot. "Shirt size = {S, M, L, XL}" → ordinal/label encoding. High-cardinality "merchant ID with 50,000 values" → embeddings, hashing, or binary encoding — not one-hot.

Labeling: Ground Truth and Mechanical Turk

SageMaker Ground Truth manages labeling jobs end to end: built-in task templates (image classification, object detection/bounding boxes, semantic segmentation, text classification, NER) plus custom templates. Workforce options, in rising privacy order: Amazon Mechanical Turk (public crowd — cheapest, never for confidential data), vendor workforces via AWS Marketplace, and a private workforce of your own employees (required for confidential, PII, or medical data). Its killer cost feature is automated data labeling (active learning): Ground Truth trains a model on early human labels and auto-labels high-confidence items, routing only ambiguous ones to humans — cutting labeling costs by up to ~70% on large datasets. Ground Truth Plus is the turnkey variant where AWS manages the workforce and workflow for you.

Pre-Training Bias Detection and Mitigation

SageMaker Clarify computes pre-training bias metrics on the dataset (before any model exists). The two named in the exam guide:

  • Class Imbalance (CI)whether one facet group (e.g., one gender or age bracket) is under-represented in the dataset overall.
  • Difference in Proportions of Labels (DPL)whether the positive-outcome rate differs between facet groups (e.g., loans approved for group A at 60% vs. group B at 40% in the historical labels).

Mitigation options: resampling (oversample the minority facet/class, e.g., SMOTE-style synthetic minority oversampling, or undersample the majority), generating synthetic data to fill under-represented segments, reweighting examples, or gathering more representative data. Clarify runs as a processing job, integrates with Data Wrangler's bias report, and (as you'll see in Parts 2 and 4) also handles post-training bias and explainability.

Key Takeaway:

CI asks "is the group under-represented in the data?" DPL asks "does the group get favorable labels at a different rate?" A dataset can pass CI and still fail DPL — balanced representation with biased outcomes.

Protecting Data: Encryption, Anonymization, Masking, Compliance

  • Encryption at restSSE-S3 or SSE-KMS on buckets; SageMaker training/processing jobs and endpoints accept a KMS key for attached volumes and output artifacts. KMS gives you key rotation, key policies, and CloudTrail auditing of key use; use customer managed keys when the scenario demands control or auditability of who decrypts.
  • Encryption in transitTLS everywhere by default; for distributed training, enable inter-container traffic encryption (costs some performance; required in some regulated environments).
  • PII detection and redactionAmazon Macie discovers and classifies PII in S3 at scale; Amazon Comprehend detects and redacts PII entities inside text (and Amazon Transcribe can redact PII from transcripts); Glue Sensitive Data Detection finds PII during ETL.
  • Anonymization vs. masking vs. pseudonymizationmasking replaces characters (show last 4 digits only) and is often reversible in context; pseudonymization swaps identifiers for tokens with a protected mapping table; true anonymization irreversibly prevents re-identification. Choose per the regulatory requirement stated.
  • Residency and regulated dataHIPAA-eligible services, GDPR data-residency: keep data in-region (S3 buckets are regional; block cross-region replication if residency is required), restrict via SCPs/bucket policies, and prefer VPC-isolated processing (Part 4 covers network isolation).

Data Quality Validation, Splitting, Shuffling, Augmentation

Validate before training: Glue Data Quality (rule-based DQDL checks on tables/pipelines) or Data Wrangler's Data Quality and Insights Report (missingness, cardinality, class imbalance, target leakage, duplicate rows). Catching a leaky feature here is far cheaper than after deployment.

Splitting: the standard is train/validation/test (e.g., 70/15/15 or 80/10/10) — validation for tuning decisions, test touched exactly once for the final unbiased estimate. Shuffle before splitting so ordered data (sorted by date or class) doesn't produce unrepresentative splits — but never shuffle time-series; split those chronologically (train on the past, validate on the future) to avoid lookahead leakage. Use stratified splitting for imbalanced classes so each split preserves class proportions, and k-fold cross-validation when data is scarce.

Augmentation expands training data without new collection: for images — flips, rotations, crops, color jitter; for text — synonym replacement, back-translation; for tabular imbalance — SMOTE. Augmentation is a regularizer (Part 2) and a bias-mitigation tool (fill under-represented facets) in one.

Exam Tip

"Model performs great in validation but poorly in production, and the dataset was sorted by date before a random split" — the flaw is temporal leakage. Time-series must be split chronologically, never randomly shuffled.

Part 2 · ML Model Development (26%)

This domain covers choosing a modeling approach, training and tuning it, and analyzing whether it's any good.

Choosing an Approach: Buy the AI Service Before You Build

The exam's most repeatable decision rule: use a pre-trained AWS AI service when one matches the problem; build with SageMaker only when you need customization the service can't provide. Map problems to services instantly:

  • Amazon Translatelanguage translation.
  • Amazon Transcribespeech-to-text (calls, meetings; supports PII redaction).
  • Amazon Pollytext-to-speech.
  • Amazon Rekognitionimage/video analysis: objects, faces, moderation, text-in-image.
  • Amazon ComprehendNLP: sentiment, entities, PII, custom classification.
  • Amazon Textractextract text/forms/tables from documents (beyond plain OCR).
  • Amazon Personalizerecommendations; Amazon Forecast-style time-series needs are also served by SageMaker's DeepAR/AutoML.
  • Amazon Bedrockserverless API access to foundation models (Anthropic Claude, Amazon Nova/Titan, Meta Llama, and others) for generative AI: summarization, chat, RAG (with Knowledge Bases), agents, plus fine-tuning without managing infrastructure.

Between Bedrock and SageMaker JumpStart for foundation models: Bedrock = fully managed, pay-per-token, no infrastructure, fastest path, model choice limited to Bedrock's catalog. JumpStart = one-click deploy of open-weight models onto SageMaker endpoints in your account, giving full control over the model artifacts, instance types, network isolation, and deep fine-tuning — at the cost of managing (and paying for) the endpoint yourself.

Key Takeaway:

Least operational overhead for a standard capability → AI service or Bedrock. Full control, custom/open-weight models, or strict "model must run inside our VPC on our instances" requirements → SageMaker (JumpStart or custom training).

Interpretability and Cost in Model Selection

Selection is a trade-off triangle: performance, interpretability, cost. Regulated use cases (credit decisions, healthcare) may require explainable models — linear/logistic regression and shallow decision trees are intrinsically interpretable; deep networks and large ensembles need post-hoc explanation (SHAP via Clarify). Cost-wise, a smaller classical model (XGBoost on CPU) that meets the accuracy bar beats a GPU-hungry deep model; foundation-model choices weigh per-token pricing (Bedrock) against endpoint-hours (JumpStart). When a question says "must explain individual decisions to a regulator," favor the interpretable model or add Clarify SHAP explanations — don't pick the black box on accuracy alone.

SageMaker Built-in Algorithms

Know the flagship built-ins and their problem types:

  • XGBoostgradient-boosted trees; the default answer for tabular classification/regression.
  • Linear Learnerlinear/logistic regression at scale.
  • K-Meansclustering (unsupervised segmentation).
  • K-NNclassification/regression by nearest neighbors.
  • PCAdimensionality reduction.
  • Random Cut Forestunsupervised anomaly detection.
  • DeepARprobabilistic time-series forecasting across many related series.
  • BlazingTextword embeddings and fast text classification.
  • Image Classification / Object Detection / Semantic Segmentationthe computer-vision trio.
  • Factorization Machinessparse-data recommendation/click prediction.
  • IP Insightsanomalous IP usage patterns.

Built-ins need no training code — point them at data with hyperparameters. SageMaker Autopilot / AutoML goes further: give it a tabular dataset and target, and it explores candidates and produces a leaderboard with explainability — the "no ML expertise on the team" answer.

Training Mechanics: Epochs, Steps, Batch Size

An epoch is one full pass over the training set; a step (iteration) is one gradient update on one batch; batch size is examples per step. Their interplay is tested: steps per epoch = dataset size / batch size. Larger batches train faster per epoch and stabilize gradient estimates but can generalize worse and demand more accelerator memory (out-of-memory on GPU → reduce batch size, use gradient accumulation, or get a bigger instance). Learning rate is the most important hyperparameter overall, and larger batch sizes typically pair with larger learning rates.

Reducing Training Time and Cost

  • Early stoppinghalt when validation loss stops improving for N evaluations (patience). Saves compute and prevents overfitting.
  • Distributed trainingdata parallelism (each of N GPUs holds a full model copy, processes different shards, gradients are synchronized — SageMaker's Distributed Data Parallel library optimizes the AllReduce for AWS networking) vs. model parallelism (the model itself is too large for one accelerator's memory and is split across devices — SageMaker Model Parallel library). Data parallel = too much data; model parallel = too big a model.
  • Managed Spot Trainingup to ~90% off training compute; requires checkpointing to S3 so interrupted jobs resume rather than restart. Fine for fault-tolerant training, wrong for hard deadlines.
  • Warm pools and incremental trainingkeep provisioned infrastructure between similar jobs; resume from existing model artifacts instead of training from scratch.
Exam Tip

Spot training questions hinge on one word: checkpoints. Any answer combining Managed Spot Training with checkpointing to S3 (checkpoint_s3_uri) beats an answer using Spot without checkpoints.

Overfitting, Underfitting, Regularization, Catastrophic Forgetting

Overfitting: low training error, high validation error — the model memorized noise. Fixes: more data, augmentation, regularization, early stopping, simpler model, dropout, ensembling. Underfitting: high error on both — the model is too simple or under-trained. Fixes: more capacity, more features, longer training, less regularization. Regularization tools:

  • L1 (Lasso)penalizes absolute weights; drives some weights to exactly zero → built-in feature selection, sparse models.
  • L2 (Ridge / weight decay)penalizes squared weights; shrinks all weights smoothly toward zero; the general-purpose default.
  • Dropoutrandomly zeroes a fraction of neural-network units each training step so the network can't co-adapt; applies to neural nets only.

Catastrophic forgetting is the fine-tuning failure mode: continued training on a narrow new dataset overwrites the pre-trained model's general capabilities. Mitigate with lower learning rates, freezing early layers, mixing in original-domain data (rehearsal), parameter-efficient fine-tuning (adapters/LoRA — train small added weights, leave base weights frozen), or elastic weight consolidation.

Remember:

"L1 = Lean (sparse, zeroes out features); L2 = Little (everything gets smaller, nothing hits zero)."

Hyperparameter Tuning: Random, Bayesian, and SageMaker AMT

SageMaker Automatic Model Tuning (AMT) runs many training jobs over defined hyperparameter ranges to optimize a target metric. Strategies: grid search (exhaustive, only viable for tiny discrete spaces), random search (parallelizes perfectly, surprisingly strong baseline, wastes some budget), Bayesian optimization (builds a surrogate model of metric-vs-hyperparameters and picks the next promising configuration — fewer total jobs, but sequential by nature), and Hyperband (allocates budget dynamically, stopping poor configurations early — great for deep learning where partial training reveals a lot). AMT supports early stopping of underperforming jobs and warm start from previous tuning jobs.

from sagemaker.tuner import HyperparameterTuner, ContinuousParameter, IntegerParameter

tuner = HyperparameterTuner(
    estimator=xgb_estimator,
    objective_metric_name="validation:auc",
    objective_type="Maximize",
    hyperparameter_ranges={
        "eta": ContinuousParameter(0.01, 0.3, scaling_type="Logarithmic"),
        "max_depth": IntegerParameter(3, 10),
    },
    strategy="Bayesian",
    max_jobs=30,
    max_parallel_jobs=3,
    early_stopping_type="Auto",
)
tuner.fit({"train": train_input, "validation": val_input})
Exam Tip

"Minimize the total number of training jobs to reach a good result" → Bayesian. "Run everything in parallel, simple and scalable" → Random. "Cheaply eliminate bad configs early during long deep-learning training" → Hyperband.

Script Mode, Custom Training, and External Models

SageMaker training climbs a ladder of customization:

  1. Built-in algorithmsno code.
  2. Script modebring your own train.py for a framework (TensorFlow, PyTorch, scikit-learn, XGBoost, Hugging Face); SageMaker supplies the managed framework container, injects hyperparameters as arguments, mounts channels at /opt/ml/input/data/<channel>, and expects the model saved to /opt/ml/model. This is the standard path for custom model code.
  3. Bring Your Own Container (BYOC)full Dockerfile control for exotic dependencies or proprietary runtimes (details in Part 3).

Integrating externally built models: a model trained outside SageMaker (on-prem, another cloud, a laptop) deploys by packaging artifacts as a model.tar.gz in S3 with an inference container image (framework-provided or custom, with your inference.py handler), creating a SageMaker Model, and registering it in the Model Registry like any other. You do not need to retrain in SageMaker to host in SageMaker.

Fine-Tuning Pre-Trained Models

Fine-tuning (transfer learning) adapts a pre-trained model to your domain with far less data and compute than training from scratch. Practices the exam rewards: start from a JumpStart/Bedrock/Hugging Face pre-trained model; use a small learning rate (you're nudging, not re-learning); freeze early layers and retrain later/head layers for small datasets; watch validation metrics for both overfitting and catastrophic forgetting; consider parameter-efficient methods (LoRA/adapters) for large models. Bedrock supports managed fine-tuning (provide labeled examples, AWS handles the training) when you'd rather not run training infrastructure at all; contrast with continued pre-training (unlabeled domain text) and with RAG, which injects knowledge at query time without changing weights and is the right answer when the knowledge changes frequently.

Ensembling: Bagging, Boosting, Stacking

  • Baggingtrain many models independently on bootstrap samples and average/vote (Random Forest). Reduces variance; parallel by nature.
  • Boostingtrain models sequentially, each correcting its predecessors' errors (XGBoost, AdaBoost, LightGBM). Reduces bias; usually the top performer on tabular data.
  • Stackingtrain diverse base models, then a meta-model learns to combine their predictions. Squeezes out extra accuracy at the price of complexity and interpretability.

Shrinking Models: Pruning, Quantization, Distillation

For edge devices or latency/cost targets: pruning removes near-zero weights or whole channels; quantization stores weights in lower precision (FP32 → FP16/INT8) shrinking size ~2–4× with minimal accuracy loss; knowledge distillation trains a small "student" to mimic a large "teacher." SageMaker Neo compiles a trained model for a specific target (Inferentia, ARM, NVIDIA, edge devices), optimizing the graph for up to significantly faster inference with no accuracy loss — the exam's go-to for "optimize this model for edge hardware."

Versioning with SageMaker Model Registry

The Model Registry organizes models into Model Package Groups; each registered version carries its artifacts, container, metrics, and lineage, plus an approval status (PendingManualApproval → Approved / Rejected). Approval-status changes emit EventBridge events, which is precisely how CI/CD pipelines auto-deploy a model the moment a reviewer approves it (Part 3). Registry + SageMaker Lineage gives auditability: which data, which training job, which container produced the model now in production.

Evaluating Models: Metrics and Baselines

Classification metrics start with the confusion matrix (TP, FP, TN, FN):

MetricFormulaOptimize when
Accuracy(TP+TN)/allClasses balanced and errors cost the same
PrecisionTP/(TP+FP)False positives are costly (spam filter flagging real mail)
RecallTP/(TP+FN)False negatives are costly (missing fraud, missing cancer)
F1harmonic mean of P and RNeed balance of both under class imbalance
ROC AUCarea under TPR-vs-FPR curveThreshold-independent ranking quality; misleading under extreme imbalance (prefer PR AUC there)
RMSE√(mean squared error)Regression; penalizes large errors quadratically (MAE treats all errors linearly)

Accuracy is a trap under imbalance: a 99%-negative dataset gives a do-nothing model 99% accuracy. Establish a baseline before celebrating any model — majority-class or random baseline for classification, naive last-value/moving-average for forecasting, or a simple linear/heuristic model. A model that can't beat the baseline isn't worth deploying, and Model Monitor (Part 4) later uses a baseline in a second sense: a statistical snapshot of training data/quality to compare production against.

Exam Tip

Map the scenario's expensive mistake to the metric: "cannot afford to miss a fraudulent transaction" → recall; "cannot afford to falsely accuse customers" → precision; "imbalanced classes, want one number" → F1; "regression, big errors are disproportionately bad" → RMSE.

Shadow Testing and Clarify/Debugger

Before full production traffic hits a new model, SageMaker supports a shadow variant: the endpoint copies live requests to the new model, whose responses are logged but never returned to callers. You compare metrics risk-free, then promote. Contrast with production variants (real A/B traffic splitting by weight, where users do see the challenger's responses — covered with monitoring in Part 4).

Two analysis tools round out development:

  • SageMaker Clarify (post-training)computes post-training bias metrics on predictions and SHAP-based feature attributions for global and per-prediction explainability. "Explain why the model denied this application" → Clarify.
  • SageMaker Model Debuggerhooks into training to capture tensors and applies built-in rules (vanishing/exploding gradients, overfitting, loss not decreasing, low GPU utilization) that can stop a doomed training job early and alert — saving money and surfacing convergence problems in real time.
Key Takeaway:

Debugger watches the training process; Clarify explains the model's predictions and bias; Model Monitor (Part 4) watches the deployed model over time. Match the tool to the lifecycle phase.

Part 3 · Deployment and Orchestration of ML Workflows (22%)

This domain is where ML meets DevOps: getting models into production repeatably, scalably, and safely.

The Four SageMaker Inference Options

The single most tested table in this exam:

OptionLatency profilePayload / time limitsScales to zero?Choose when
Real-time endpointLow ms, sustained6 MB payload, 60 s timeoutNo — always-on instancesSteady or predictable traffic needing consistent low latency
Serverless InferenceLow ms after warm; cold starts possible4 MB payload, 60 s timeoutYes — pay per requestIntermittent/spiky traffic with idle periods; tolerate cold starts; no GPU
Asynchronous InferenceSeconds–minutes, queuedUp to 1 GB payload, up to ~1 h processingYes — scale to zero when queue emptiesLarge payloads or long-running inference; near-real-time not required; SNS notification on completion
Batch TransformOffline jobEntire datasets in S3N/A — no persistent endpointPeriodic scoring of whole datasets; no endpoint needed at all

Decision flow: no need for a persistent endpoint → Batch Transform. Large payloads (medical images, video) or minutes-long inference → Asynchronous. Idle-most-of-the-time traffic → Serverless. Continuous low-latency traffic → Real-time (with auto scaling).

Exam Tip

Numbers to memorize: real-time = 6 MB / 60 s; serverless = 4 MB / 60 s / no GPUs; async = 1 GB / ~1 hour / queues requests and scales to zero. A "100 MB pathology image" instantly eliminates real-time and serverless.

Compute Provisioning: CPU, GPU, and AWS Silicon

Training deep networks → GPU instances (P-family for heavy training, G-family for cost-effective training/inference) or AWS Trainium (Trn1) for price-performance. Classical ML (XGBoost, linear models) trains happily on compute-optimized CPUs (C-family, M-family). Inference: many models serve fine on CPU; deep models needing acceleration use G-family GPUs or AWS Inferentia (Inf1/Inf2) for the best inference price-performance — pair with SageMaker Neo compilation. Rule of thumb the exam rewards: don't put a GPU behind an XGBoost endpoint, and don't train a large transformer on CPUs.

Containers: Managed, Extended, and BYOC

Every SageMaker training job and endpoint runs a container from Amazon ECR. Three tiers:

  1. Prebuilt AWS Deep Learning Containers (DLCs)managed images for TensorFlow/PyTorch/XGBoost/sklearn/Hugging Face; use with script mode. Default choice.
  2. Extend a prebuilt containerFROM the AWS image, RUN pip install extras. Choose when you need a few additional libraries.
  3. Bring Your Own Container (BYOC)full control for proprietary frameworks. Your image must serve HTTP on port 8080 with /invocations (inference) and /ping (health) endpoints, and respond to docker run image serve.

SageMaker Neo (from Part 2) fits here as the compile step before deploying to edge targets or Inferentia.

Multi-Model and Multi-Container Endpoints

  • Multi-model endpoint (MME)one endpoint, one container runtime, many model artifacts loaded dynamically from S3 on demand. The cost answer for "thousands of per-customer models, each rarely invoked" — instead of thousands of endpoints, one fleet time-shares memory (cold-load latency on first invocation of a model is the trade-off). All models must share the same framework/container.
  • Multi-container endpoint (MCE)up to ~15 different containers (different frameworks) on one endpoint, invoked directly by container name, or chained as a serial inference pipeline (preprocess container → model container → postprocess container) so the same transformation code runs at training and inference.
Key Takeaway:

Many models, same framework, cost-sensitive → multi-model endpoint. Few models, different frameworks or a preprocessing chain → multi-container / inference pipeline.

Deployment Targets Beyond SageMaker Endpoints

Models can also serve from: AWS Lambda (package model in the function or a container image ≤10 GB — great for small models with sporadic traffic and native event integration), ECS/EKS (teams standardized on containers/Kubernetes who want cluster-level control; EKS for Kubernetes-native shops, ECS for simpler AWS-native orchestration), or edge devices (compile with Neo). SageMaker endpoints remain the default because they bundle auto scaling, variants, shadow tests, and Model Monitor for free; choosing K8s means rebuilding those capabilities yourself — a trade-off exam scenarios probe.

Auto Scaling Endpoints

Real-time endpoints scale via Application Auto Scaling:

  • Target tracking (the default answer): keep a metric — typically SageMakerVariantInvocationsPerInstance — at a target value; capacity follows traffic.
  • Step scalingadd/remove N instances at metric thresholds — more manual control.
  • Scheduled scalingscale on a cron for known cycles (business hours, Black Friday).

Set sensible min (availability) and max (cost cap) instance counts, and remember scale-in is deliberately conservative to avoid flapping. Serverless and async options manage their own scaling (async can scale to zero by targeting the queue backlog).

import boto3
client = boto3.client("application-autoscaling")
client.register_scalable_target(
    ServiceNamespace="sagemaker",
    ResourceId="endpoint/my-endpoint/variant/AllTraffic",
    ScalableDimension="sagemaker:variant:DesiredInstanceCount",
    MinCapacity=2, MaxCapacity=10,
)
client.put_scaling_policy(
    PolicyName="invocations-target",
    ServiceNamespace="sagemaker",
    ResourceId="endpoint/my-endpoint/variant/AllTraffic",
    ScalableDimension="sagemaker:variant:DesiredInstanceCount",
    PolicyType="TargetTrackingScaling",
    TargetTrackingScalingPolicyConfiguration={
        "TargetValue": 1000.0,
        "PredefinedMetricSpecification": {
            "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
        },
    },
)

Orchestration: SageMaker Pipelines vs. Airflow (MWAA) vs. Step Functions

  • SageMaker Pipelinesthe ML-native orchestrator: purpose-built step types (Processing, Training, Tuning, Condition, RegisterModel, Transform), step caching, lineage tracking, direct Model Registry integration, serverless (no orchestration infrastructure to run). Default answer for "orchestrate an ML workflow on AWS."
  • Amazon MWAA (Managed Workflows for Apache Airflow)teams with existing Airflow DAGs/expertise, or workflows spanning many non-ML systems. You pay for an always-on environment.
  • AWS Step Functionsgeneral serverless state machines with 200+ AWS service integrations; good when ML steps are a fraction of a broader event-driven business workflow.
from sagemaker.workflow.pipeline import Pipeline
from sagemaker.workflow.steps import ProcessingStep, TrainingStep

pipeline = Pipeline(
    name="churn-training-pipeline",
    steps=[preprocess_step, train_step, eval_step, condition_register_step],
)
pipeline.upsert(role_arn=role)
pipeline.start()

Infrastructure as Code: CloudFormation and CDK

Reproducible ML infrastructure means no console clicking: CloudFormation declares resources in YAML/JSON templates (endpoints, endpoint configs, models, pipelines are all supported resource types); the AWS CDK generates CloudFormation from real programming languages (Python/TypeScript), giving loops, conditionals, and reusable constructs — preferred by developer-centric teams. IaC benefits the exam expects you to articulate: identical dev/staging/prod environments, code-reviewed infrastructure changes, drift detection, and one-command rollback of infrastructure state. SageMaker Projects packages IaC + CI/CD into MLOps templates.

Resources:
  ChurnEndpointConfig:
    Type: AWS::SageMaker::EndpointConfig
    Properties:
      ProductionVariants:
        - ModelName: !Ref ChurnModel
          VariantName: AllTraffic
          InstanceType: ml.m5.large
          InitialInstanceCount: 2
  ChurnEndpoint:
    Type: AWS::SageMaker::Endpoint
    Properties:
      EndpointConfigName: !Ref ChurnEndpointConfig

VPC Endpoints and Private Networking for Deployments

Production ML traffic should not traverse the public internet. Interface VPC endpoints (AWS PrivateLink) for sagemaker.api and sagemaker.runtime let clients in a VPC invoke endpoints privately; a gateway endpoint covers S3. Training and processing jobs launched with a VPC configuration (subnets + security groups) plus EnableNetworkIsolation=True cannot reach the internet at all — the regulated-industry pattern. (IAM aspects continue in Part 4.)

CI/CD for ML: CodePipeline, CodeBuild, CodeDeploy, Git Workflows

The AWS-native chain: CodePipeline orchestrates stages; CodeBuild runs builds and tests (build the container, push to ECR, run unit tests, trigger the SageMaker pipeline); CodeDeploy manages progressive deployment with automatic rollback on alarms (for Lambda-based inference it shifts traffic canary/linear-style; SageMaker endpoints have native blue/green guardrails). Source stages hook GitHub or CodeConnections.

Git workflows: Gitflow (long-lived develop + release/hotfix branches — suits scheduled, versioned releases), GitHub Flow (short-lived feature branches merged to main behind PRs, deploy from main — suits continuous delivery, the common MLOps choice), and trunk-based development (tiny branches, very frequent merges — pairs with mature CI). For ML specifically: version code in Git, data and artifacts in S3 (with versioning), models in the Model Registry — Git alone can't hold 10 GB datasets.

Test layers in ML CI/CD: unit tests (transform functions, feature code, inference handler logic), integration tests (pipeline steps against real-ish services in staging; can the endpoint container serve a sample payload?), and end-to-end tests (run the whole pipeline on a data sample; validate the deployed staging endpoint's predictions and latency before production promotion). Add model-quality gates: block promotion if evaluation metrics fall below thresholds.

Deployment Strategies: Blue/Green, Canary, Linear

StrategyMechanicsStrengthCost/risk profile
Blue/green (all-at-once)Stand up the new (green) fleet alongside old (blue); flip traffic; keep blue for instant rollbackInstant, clean rollbackDouble capacity during the switch; all users exposed at once
CanaryShift a small slice (e.g., 10%) to green, bake with alarms, then shift the restLimits blast radius to the canary sliceSlightly slower; needs good alarms to be meaningful
LinearShift traffic in equal steps (e.g., 10% every 5 minutes) with alarm checks between stepsGradual, predictable exposureSlowest; most alarm evaluations

SageMaker's native deployment guardrails implement all three modes on endpoint updates (all-at-once, canary, linear traffic shifting) with auto-rollback on CloudWatch alarms. Remember the evaluation-vs-release distinction: shadow tests evaluate silently; canary/linear releases really expose users, gradually.

Exam Tip

"Zero-downtime update with the fastest possible rollback" → blue/green. "Minimize the number of users affected if the new model is bad" → canary. "Shift gradually in fixed increments" → linear. If the scenario says users must never receive the new model's responses during evaluation, that's a shadow test, not a canary.

Event-Driven Automation and Automated Retraining

Amazon EventBridge is the glue: it can start a SageMaker Pipeline on a schedule (cron), when new data lands in S3 (via EventBridge-enabled bucket notifications), when a Model Monitor drift alarm fires, or when a Model Registry approval status changes (triggering the deployment pipeline). The full automated-retraining loop the exam wants you to assemble, in order:

  1. Model Monitor detects data/model drift and emits an alarm.
  2. EventBridge rule matches the alarm and starts the SageMaker retraining pipeline.
  3. Pipeline preprocesses fresh data, trains, evaluates against the current champion.
  4. A condition step registers the new version in the Model Registry (pending approval) only if it wins.
  5. Approval (manual or automated) emits an event; EventBridge triggers CodePipeline to deploy with canary traffic shifting and alarm-based auto-rollback.
Key Takeaway:

Drift alarm → EventBridge → Pipelines → Registry → EventBridge → CodePipeline → guarded deployment. Ordering questions on MLA-C01 are built for this exact chain.

Part 4 · ML Solution Monitoring, Maintenance, and Security (24%)

Models decay silently. This domain covers detecting that decay, running production ML economically, and securing the whole stack.

Drift: Why Models Degrade

  • Data drift (covariate shift)the input distribution changes (new demographics, new device firmware, inflation shifting transaction amounts). The model sees data unlike its training set.
  • Concept driftthe relationship between inputs and target changes (fraudsters adapt tactics; the same features now mean something different). Inputs can look identical while accuracy collapses.
  • Model quality driftmeasured degradation of accuracy/F1/RMSE against ground-truth labels, which usually arrive with delay (you learn a loan defaulted months later).

SageMaker Model Monitor: The Four Monitors

Model Monitor runs scheduled analyses against traffic captured from an endpoint (Data Capture logs request/response payloads to S3) and compares them to a baseline computed from the training set:

  1. Data Qualityfeature distributions, types, missingness vs. training baseline (detects data drift).
  2. Model Qualitylive accuracy/precision/recall/RMSE, requires merging captured predictions with ground-truth labels you upload.
  3. Bias Driftvia Clarify: post-deployment bias metrics shifting as live distributions change.
  4. Feature Attribution Driftvia Clarify: SHAP feature-importance rankings shifting, an early warning that the model is reasoning differently even before accuracy visibly drops.

Violations are written to S3 and emitted as CloudWatch metrics → alarms → EventBridge → retraining pipeline (the Part 3 loop).

from sagemaker.model_monitor import DefaultModelMonitor, CronExpressionGenerator

monitor = DefaultModelMonitor(role=role, instance_count=1, instance_type="ml.m5.xlarge")
monitor.suggest_baseline(
    baseline_dataset="s3://bucket/train.csv",
    dataset_format={"csv": {"header": True}},
    output_s3_uri="s3://bucket/baseline",
)
monitor.create_monitoring_schedule(
    endpoint_input=endpoint_name,
    schedule_cron_expression=CronExpressionGenerator.hourly(),
    output_s3_uri="s3://bucket/monitor-reports",
)
Exam Tip

Ground truth is the discriminator: Data Quality monitoring needs no labels (it compares input distributions), while Model Quality monitoring requires ground-truth labels merged with captured predictions. If the scenario says labels arrive weeks later, real-time accuracy monitoring is impossible — monitor data drift and attribution drift as leading indicators instead.

A/B Testing with Production Variants

A SageMaker endpoint can host multiple production variants, splitting live traffic by weight (e.g., 90% champion / 10% challenger) — a true A/B test where users receive the challenger's responses (unlike shadow tests). Compare per-variant CloudWatch metrics and business KPIs, then shift weights gradually via UpdateEndpointWeightsAndCapacities without redeploying. Each variant can even run on different instance types, which doubles as a hardware A/B test.

Anomaly Detection in Production Signals

For catching oddities beyond scheduled monitors: CloudWatch anomaly detection bands on any metric (invocations, latency) alarm on deviation from learned patterns without hand-set thresholds; Random Cut Forest (SageMaker built-in or in Managed Flink) scores streaming records for anomalies in-flight; Amazon Lookout for Metrics-style detection has largely folded into CloudWatch capabilities. The pattern to recognize: "alert when a metric deviates from its normal daily cycle, without defining a static threshold" → CloudWatch anomaly detection.

Infrastructure Monitoring and Observability

Endpoint health rests on CloudWatch metrics in two groups: invocation metrics (Invocations, InvocationsPerInstance, ModelLatency — time inside the container, OverheadLatency — SageMaker routing time, Invocation4XXErrors/5XXErrors) and instance metrics (CPUUtilization, MemoryUtilization, GPUUtilization, GPUMemoryUtilization, DiskUtilization). The observability toolkit:

  • CloudWatch Logs + Logs Insightscontainer/endpoint logs with an interactive query language for root-causing errors across log groups.
  • CloudWatch alarmsthresholds/anomaly bands on any metric; feed SNS, auto scaling, and deployment auto-rollback.
  • AWS X-Raydistributed tracing across API Gateway → Lambda → SageMaker endpoint calls; pinpoints which hop adds latency in a request path.
  • CloudWatch Lambda Insightsenhanced per-invocation metrics (memory, cold starts, CPU) for Lambda-based inference.
  • AWS CloudTrailrecords every API call (who created/deleted/modified endpoints, who accessed model data) for governance; delivers to S3 for retention and can feed CloudWatch Logs for alerting on sensitive actions. CloudTrail answers "who did what, when" — it is audit, not performance.
  • DashboardsCloudWatch dashboards for ops (metrics, alarms in one pane); Amazon QuickSight for business-facing analytics/BI on model results (e.g., visualizing predictions or monitor reports from S3/Athena, with its own anomaly-detection and forecasting features).
Remember:

"Trail = who, Watch = what." CloudTrail records who called which API; CloudWatch records what the system's metrics and logs are doing. Latency breakdown across microservice hops is X-Ray.

Rightsizing and Latency Troubleshooting

  • SageMaker Inference Recommenderruns load tests of your registered model across candidate instance types and generates cost/latency/throughput recommendations; the definitive "which instance type for this endpoint?" tool. Choose default (quick) or advanced (custom traffic patterns, SLA constraints) jobs.
  • AWS Compute OptimizerML-driven rightsizing recommendations for EC2/ASG/Lambda based on observed utilization — the general-compute counterpart.
  • Latency troubleshooting: high ModelLatency → optimize the model (Neo, quantization), move to a faster instance/GPU, or scale out; high OverheadLatency → payload size and request handling; serverless cold starts → provisioned concurrency for Serverless Inference (keeps instances warm) just as Lambda's provisioned concurrency fixes Lambda cold starts; throttling/ThrottlingException → check and request service-quota increases (endpoint instance counts, TPS limits) in Service Quotas; also verify auto scaling min capacity isn't too low for traffic spikes (scale-out takes minutes — pre-warm with scheduled scaling for known peaks).

Cost Monitoring and Optimization

Tools first: Cost Explorer (visualize/analyze historical spend, filter by service/tag, view amortized costs and rightsizing suggestions), AWS Budgets (proactive alerts when actual/forecast spend crosses thresholds — can trigger actions), Cost and Usage Report for granular line items, and Trusted Advisor (checks spanning cost optimization — idle resources, underutilized instances — plus security, fault tolerance, quotas). Tagging is the foundation of cost governance: enforce cost-allocation tags (team, project, environment) on SageMaker resources so Cost Explorer can attribute spend; use tag policies/SCPs to require them.

Purchasing options:

OptionDiscountCommitmentBest ML fit
On-Demand—NoneUnpredictable, short-lived workloads; default
SpotUp to ~90%None, but interruptibleManaged Spot Training with checkpointing; never for production endpoints
SageMaker Savings PlansUp to ~64%1 or 3 years, $/hr commitSteady, predictable endpoint + notebook + processing usage
Reserved capacity / EC2 RIs & Savings PlansUp to ~72%1 or 3 yearsSteady EC2-hosted (ECS/EKS) inference fleets

Everyday cost hygiene the exam rewards: stop idle Studio notebooks (lifecycle configurations to auto-shutdown), use Serverless/Async inference for intermittent traffic instead of always-on endpoints, use multi-model endpoints to consolidate, batch-transform instead of persistent endpoints for offline scoring, and Spot for training.

Exam Tip

Spot is for training, never for production endpoints — endpoints must not vanish on a two-minute interruption notice. Steady inference fleets get SageMaker Savings Plans; interruptible training gets Managed Spot + checkpoints.

IAM, Least Privilege, and SageMaker Role Manager

SageMaker actions run under two identity layers: the user's IAM identity (who may call CreateTrainingJob) and the execution role SageMaker assumes to touch S3/ECR/CloudWatch on the job's behalf. Least privilege means scoping both: resource-level ARNs instead of *, condition keys (e.g., restrict sagemaker:InstanceTypes, require VPC config), and separate roles per pipeline stage (a training role that can read the training bucket cannot delete endpoints). SageMaker Role Manager generates least-privilege execution roles from personas (data scientist, MLOps engineer, compute roles) and ML activities — the fast, correct answer to "create appropriately scoped SageMaker roles without hand-writing policies." Related governance: Model Cards (document intended use, risk rating) and Model Dashboard (fleet-wide view of models and monitor status).

{
  "Effect": "Allow",
  "Action": ["s3:GetObject"],
  "Resource": "arn:aws:s3:::ml-training-data/curated/*",
  "Condition": {"StringEquals": {"aws:ResourceTag/project": "churn"}}
}

Network Isolation: VPC, Subnets, Security Groups

The hardened SageMaker pattern: launch Studio, training jobs, and endpoints into your VPC (specify subnets + security groups); use VPC-only mode for Studio; reach AWS services via interface VPC endpoints (SageMaker API/runtime, CloudWatch, ECR, STS) and an S3 gateway endpoint so no traffic touches the internet; place resources in private subnets (no route to an internet gateway); use security groups as instance-level stateful firewalls (allow only required ports between components) and NACLs at the subnet boundary; set EnableNetworkIsolation=True on training/inference containers to block all outbound calls from the container itself (the container can't exfiltrate data even if compromised). Endpoint policies on the VPC endpoints add a further "only these principals to these resources through this endpoint" control.

Securing CI/CD and Audit Logging

CI/CD pipelines are privileged automation, so secure them like production: store credentials in Secrets Manager or SSM Parameter Store (never in buildspecs or repos); give CodeBuild/CodePipeline roles least-privilege, stage-scoped permissions; scan container images (ECR image scanning) and dependencies in the build stage; require PR reviews and branch protection on the repos that trigger deploys; add manual approval actions before production stages; and sign/verify artifacts between stages. Audit everything: CloudTrail for control-plane API history (who approved the model package, who updated the endpoint — retain logs in a locked S3 bucket, ideally in a separate security account), CloudWatch Logs for build and pipeline execution logs, AWS Config to record configuration changes and flag non-compliant resources (e.g., an endpoint created without KMS encryption), and SageMaker lineage + Model Registry history as the ML-specific audit trail from data to deployed model.

Key Takeaway:

Security questions on this exam nearly always resolve to one of four moves: scope the IAM role down (least privilege / Role Manager), move traffic into the VPC (private subnets + VPC endpoints + network isolation), encrypt with customer managed KMS keys, or prove it with logs (CloudTrail + Config). Pick the move that matches the stated gap.

Exam-Day Checklist

Domain 1 — Data Preparation (28%)

  • Parquet/ORC = columnar, analytics, cheap Athena scans; Avro/JSONL = row/streaming; RecordIO = SageMaker Pipe mode.
  • S3 default; Fast File mode streams from S3; FSx for Lustre = fastest repeated training reads (S3-linked); EFS = shared POSIX/Studio homes.
  • Firehose = zero-code delivery to S3; Kinesis Data Streams = consumers/replay; Managed Flink = stateful stream processing; MSK = Kafka compatibility.
  • Feature Store: online = low-latency serving, offline = training/point-in-time; fixes training/serving skew.
  • Data Wrangler = data-scientist visual prep; DataBrew = analyst no-code; Glue = serverless ETL + catalog; EMR = max-control Spark.
  • Ground Truth: active learning cuts labeling cost; private workforce for sensitive data; MTurk = public crowd.
  • Clarify pre-training bias: CI = representation imbalance, DPL = label-rate imbalance; mitigate with resampling/SMOTE/synthetic data.
  • Macie = PII in S3; Comprehend = PII in text; KMS keys on jobs and volumes; inter-container encryption for distributed training.
  • Shuffle before split — except time-series (chronological split); stratify when imbalanced; test set touched once.

Domain 2 — Model Development (26%)

  • AI service if it fits (Translate/Transcribe/Rekognition/Comprehend/Textract); Bedrock = managed FMs pay-per-token; JumpStart = open models on your endpoints.
  • XGBoost = tabular default; Random Cut Forest = anomalies; DeepAR = forecasting; K-Means = clustering; Autopilot = no-ML-expertise AutoML.
  • Overfit → regularize (L1 sparse / L2 shrink / dropout), early stop, more data; underfit → more capacity/features/training.
  • AMT: Bayesian = fewest jobs; random = parallel; Hyperband = early-kill for deep learning. Spot training ⇒ checkpoints.
  • Data parallel = big data; model parallel = model too big for one GPU. Fine-tune with low LR + frozen layers; watch catastrophic forgetting.
  • Precision vs. recall by cost of the mistake; F1 under imbalance; accuracy is a trap; beat a baseline first.
  • Registry: versions + approval status → EventBridge → deploy. Shadow variant = silent evaluation; production variants = real A/B.
  • Debugger = training-time tensors/rules; Clarify = SHAP explainability + bias; Neo = compile/optimize for target hardware.

Domain 3 — Deployment & Orchestration (22%)

  • Real-time 6 MB/60 s; Serverless 4 MB/no GPU/cold starts; Async 1 GB/~1 h/scale-to-zero; Batch Transform = no endpoint.
  • MME = many same-framework models, one endpoint; MCE/serial pipeline = different containers/pre-post chain.
  • BYOC contract: port 8080, /invocations, /ping. Neo for edge/Inferentia.
  • Target tracking on InvocationsPerInstance = default scaling; scheduled scaling for known peaks.
  • SageMaker Pipelines = ML-native default; MWAA = existing Airflow; Step Functions = broad service orchestration.
  • CloudFormation/CDK for reproducible envs; CodePipeline/CodeBuild/CodeDeploy chain; GitHub Flow for continuous delivery.
  • Blue/green = instant rollback; canary = small-slice bake; linear = fixed increments; guardrails auto-rollback on alarms.
  • Retraining loop order: Monitor alarm → EventBridge → Pipeline → Registry approval → CodePipeline → guarded deploy.

Domain 4 — Monitoring, Maintenance & Security (24%)

  • Data drift = inputs changed (no labels needed); concept drift = relationship changed; model quality needs ground truth.
  • Model Monitor's four monitors: data quality, model quality, bias drift (Clarify), feature attribution drift (Clarify).
  • ModelLatency vs. OverheadLatency; X-Ray = cross-service traces; Logs Insights = query logs; CloudTrail = who called what.
  • Inference Recommender = endpoint instance choice; Compute Optimizer = general compute; provisioned concurrency kills cold starts; quotas cause throttling.
  • Cost Explorer = analyze; Budgets = alert; Trusted Advisor = checks; tags enable attribution. Spot = training only; Savings Plans = steady endpoints.
  • Role Manager personas for least-privilege roles; private subnets + VPC endpoints + EnableNetworkIsolation; KMS everywhere; Secrets Manager in CI/CD; Config for compliance drift.

Official Resources

This is the free reading view. Open BXUP to track your progress, run the hands-on labs, and prove it with original, exam-pattern assessments.
© Anvi Innovate · BXUP — Be Exponentially Upskilled · BXUP is an independent learning platform, not affiliated with or endorsed by AWS, Microsoft, Google, NVIDIA, IBM, Salesforce, Databricks, Oracle or Anthropic. All trademarks belong to their respective owners. · bxup.in