Intro to AWS for ML/AI
Machine Learning on AWS with SageMaker and Bedrock teaches researchers how to run ML and AI work on AWS: where to store the data, which compute to use, how to launch and monitor a job, and how to estimate and manage the cost. SageMaker trains, fine-tunes and runs your own models, launched from a small notebook instance that acts as the controller while the demanding work runs on separate instances started for each job. Bedrock calls models AWS hosts through an API.
The 15 episodes run in four parts: orientation and setup (pricing, an S3 bucket, the controller notebook); SageMaker training, hyperparameter tuning, and a LoRA fine-tune of a vision-language model; RAG with Bedrock and with SageMaker Processing jobs; and cleanup and cost tracking. No previous AWS experience is needed.
A personal AWS account is fine for this workshop. However, for long-term research use, we recommend switching to a UW-provisioned AWS account. You’ll get institutional pricing via Internet2 NET+, lower overhead on grants (26% instead of 55.5% — saving ~$2,950 per $10k in cloud costs), data protection agreements (including BAA for HIPAA), and dedicated support from the Public Cloud Team. NIH-funded researchers can get additional discounts through the STRIDES Initiative.
Request a UW AWS account | Why use a UW account? | Full details: UW Cloud Services
Cost estimate
Run as written, the exercises cost each learner a few dollars, about $10 on an account of your own, with the CPU and GPU training jobs, hyperparameter tuning, the LoRA fine-tune and RAG inference included. Every job is estimated before launch, capped in runtime, and read back from the bill afterwards, and the final episode covers cleanup and cost tracking. UW-Madison sessions (ML Marathon, Research Bazaar) use a shared account with guard rails that block the expensive mistakes. On an account of your own, new accounts start on a free plan that does not cover GPUs, so you need the paid plan and a GPU quota request filed three to four weeks ahead; the lesson’s setup page has the steps.
Prerequisites
The lesson assumes you are comfortable with Python and Jupyter and know the basics of model training, hyperparameter tuning, fine-tuning, embeddings and RAG. It uses those methods but does not teach them.
Estimated time to complete
About 10 hours of teaching and exercises for the core episodes, 12 with the three optional ones (pushing notebooks to GitHub, RAG on a notebook GPU, and the same jobs from the terminal). The fine-tuning episode alone is three hours.
Comments