
Create IAM users and assign roles with specific permissions for SageMaker, S3, and Bedrock, enabling console or programmatic access. Use Identity Center for console access and improve password security.
Open Studio and launch JupyterLab to run experiments, pipelines, and retraining jobs with SageMaker; choose cost-effective MLT3 medium or larger instances based on memory needs.
Learn to install compatible SageMaker versions in notebooks, manage dependencies with requirements.txt, restart kernels, and stop spaces to avoid charges while navigating version 2 vs 3 and related breaking changes.
Download the HuggingFace dataset into the notebook, perform exploratory data analysis, and upload to S3 for training, while optionally loading directly from HuggingFace for large data.
Upload the Hugging Face recycling dataset to S3 using a defined bucket and data set prefix before training, since SageMaker reads from S3.
Save model weights and config to the SageMaker model directory and save preprocessing config with imageProcessor.savePretrained. Write evalmetrics.json and labels.json for S3, preparing for endpoint inference with inference.py.
Learn how to start a SageMaker training job on a GPU server using estimator.fit with an S3 data URI, and monitor training logs in CloudWatch.
Debug training errors by fixing the missing slash in the S3 dataset path, setting seed to 42, correcting a typo and function defaults, and rerunning estimator.fit after updating train.py.
Deploy a model endpoint and build a minimal inference script for SageMaker. Handle JSON and image input with a pre-trained image processor and GPU or CPU deployment.
Test the deployed SageMaker endpoint by submitting an image URL to verify predictions and data capture for traceability, highlighting soft plastics and top classes for production-ready retraining.
Understand the compare metrics function that extracts a numeric value from in-memory metrics, supports plain and SageMaker style formats, and compares candidate metrics to current SageMaker metrics loaded from S3.
Add a conditional lambda deployment step to the SageMaker pipeline that deploys only when the candidate model improves accuracy, with outputs for deploy status, endpoint name, and model name.
Move one pending labeled example into a retraining batch, preserve labels with a safe lock, validate bedrock labels, then start the SageMaker retraining pipeline with the new batch.
Learn to import and upsert a SageMaker pipeline from a definition, then configure Lambda and API Gateway details for deploying and retraining the model in inference.
Adjusts the SageMaker pipeline to use the MLG 5 extra large GPU for training, updates the pipeline definition and deployment notebook, and deploys version 2 to enable a retrain pipeline.
Complete MLOps on AWS: SageMaker, Bedrock & Automated Retraining
Most machine learning courses teach you to train a model and call it done. This course starts where those leave off.
You will build a complete, production-grade MLOps system on AWS from scratch — a self-improving recycling image classifier that trains, deploys, monitors, and retrains itself automatically. Every component is real, every line of code runs in your AWS account, and by the end you have a working closed-loop pipeline that would hold up in a professional environment.
The course opens with a thorough introduction to Amazon Bedrock — model providers, the Bedrock playground, inference profiles, guardrails, and LLM inference configuration — so you understand the foundation before using Claude as an auto-labeling engine inside the retraining loop.
From there you fine-tune a Vision Transformer on SageMaker, deploy it to a live real-time endpoint with data capture enabled, and build a CloudWatch dashboard that tracks model confidence and retraining activity in real time. You then wire up an API Gateway and Lambda function that serves predictions to the outside world, detects low-confidence outputs, and automatically saves those weak cases to S3 for review.
The centerpiece of the course is the SageMaker Pipeline: a multi-step workflow that retrains the model on new Bedrock-labeled data, compares the candidate against the model currently in production, and uses a condition step to gate deployment — the new version ships only if it genuinely beats what is already live. Every model version is tracked, every deployment decision is logged, and the whole system runs without manual intervention.
This is the complete MLOps lifecycle — train, deploy, monitor, evaluate, gate, promote, and repeat — built piece by piece so you understand exactly how every part fits together.