Welcome to the official repository for the Machine Learning Engineer in the Generative AI Era course series!
This class is designed for hands-on, open-source practice with the latest tools in Large Language Models (LLMs), agentic AI, and data engineering. All lectures, code, and homework are here:
👉 Learning from the Fundamentals of AI Engineering and Course Repo
👉 Follw the Homework submission below to submit your HW and Projects
The course spans 16 weeks, guiding you through foundational topics in LLMs and culminating in building your own research agent.
| Week | Topic | Themes & Activities |
|---|---|---|
| 1 | Environment Setup & Data Processing Basics | Create a clean Python environment, run a project from README |
| 2 | The ML Training Loop + Reproducible Baselines | Transformers, SFT, DPO/PPO, hallucinations, inference |
| 3 | LLM Fundamentals & Local Inference | Implement an llm_client.py that is safe to reuse across projects |
| 4 | Capstone Prototype, Engineering, & Quality | Improve usability, reliability, and add tests |
| 5 | Capstone Demo & Retrospective | Deliver a demo-ready Capstone that runs end-to-end |
| 6 | Break | - |
| 7 | Intro to LLMs & Prompt Engineering | GenAI & agents, LLM capabilities, CO-STAR, structured outputs |
| 8 | LLM Architecture & Training Lifecycle | Transformers, SFT, DPO/PPO, hallucinations, inference |
| 9 | Pretraining Data Collection & Extraction | Web scraping, OCR, ASR, data cleaning/filtering |
| 10 | Retrieval-Augmented Generation (RAG) | Embeddings, chunking, vector DBs, LangChain, RAG workflows |
| 11 | Supervised Fine-Tuning (SFT) I | Full vs. LoRA finetuning, ChatML, Deepspeed, TRL |
| 12 | Supervised Fine-Tuning (SFT) II | Synthetic data, LLM-as-judge, ablation studies |
| 13 | Model Alignment | RLHF, DPO/PPO, reward models, preference labeling |
| 14 | Hallucination, Jailbreak, Ethics | Safety alignment, jailbreaking, hallucination prevention |
| 15 | Voice Agent (Multimodal AI) | GPT-4o real-time, ASR/TTS, audio pipelines |
| 16 | Capstone: Agent & Project Demos | Agents, function calls, MCP protocol, end-to-end workflow |
For detailed lecture topics and slides, check the Lecture Materials folder .
- Each week has a hands-on homework assignment posted in this repo.
- Homework tasks are designed to reinforce the lecture, using the newest open-source models and libraries (see
homework/andlecture_code/directories).
Homework Submission Workflow:
- Create your own private repo by fork (recommended:
MLE_HW_<yourname>). - Complete all homework assignments in one single repo .
- When you finish each homework, push your work to your repo.
- Create a pull request from your own forked repo. What is Pull Request (PR)
- Submit the link of Pull Request via the Canvas Assignments section.
- For each project milestone (see below), create a new repo and submit the link via Canvas.
Course Project:
Your project is to build a personalized research agent, applying all you’ve learned:
- Week 1: Project kickoff, define your agent’s goal
- Week 4: Project Insight I (peer/TA review of your idea)
- Week 7: Project Insight II (finalize scope and direction)
- Week 10: Final project demo—showcase your agent!
Project Rules:
- All code must be in your own GitHub repo.
- Submit your project repo link via Canvas when prompted.
- All submissions must be your own work—collaboration for discussion and Q&A is encouraged, but code must be original.
lecture_slides/— PDF and PPTX slides for each weeklecture_code/— Code walkthroughs and demo notebooks for lectureshomework/— Homework assignment descriptions and starter codeproject_guidelines.md— Tips and requirements for the course project
- Join the course Discord: For Q&A, code sharing, project brainstorming, and peer support.
- Peer Feedback: Comment on at least two peers’ project ideas (via Discord or Canvas discussion).
- MCP & Open Tools: You’ll set up and experiment with tools like MCP (Model Context Protocol) and the latest open-source agents (LangChain, vLLM, etc).
- Homework:
- Complete all tasks in one repo.
- Submit via Canvas—paste your GitHub repo link for each week’s assignment.
- Project:
- Each project phase (insight, final demo) requires a separate repo submission via Canvas.
- Repo Organization:
- Use clear folders, commit messages, and documentation.
- Cite all outside resources and credit all collaborators.
- Course Repo (Lectures, Code, Homework)
- HuggingFace Model Hub
- LangChain Documentation
- vLLM Docs
- MCP Protocol GitHub
Submit your homework by creating your own branch in the designated homework repository.
Homework1, Homework2, Homework3, Homework4, Homework5, Homework6, Homework7, Homework8, Homework9&10,
For the Projects submission, please following the save steps as homework submission.
# Homework Submission
1. Clone the Homework repository: `git clone https://github.com/inference-ai-course/Homework1-Submission.git`.
2. Create your own branch: `git checkout -b "Scott-Lai-HW1"`
2. Add all homework notebooks and scripts. Commit your changes.
```
git add .
git commit -m "summary of the push"
```
3. Push to GitHub: `git push origin Scott-Lai-HW1`.
4. Open a Pull Request (PR) from `Homework1-Submission:Scott-Lai-HW1` into `Homework1-submission:main`.
5. Submit the PR link on Canvas. Example: https://github.com/inference-ai-course/Homework1-submission/pull/7.
Project Submission
1. Clone the Project submission repository: `git clone https://github.com/inference-ai-course/Project1-submission.git`.
2. Create your branch: `git checkout -b "Scott-Lai-Project1"`.
3. Add project code, README, and demo notebooks. Commit your changes.
```
git add .
git commit -m "summary of the push"
```
4. Push to GitHub: `git push origin Scott-Lai-Project1`.
5. Open a Pull Request (PR) from `Project1-submission:Scott-Lai-Project1` into `Project1-submission:main`.
6. Submit the PR link on Canvas. Example: https://github.com/inference-ai-course/Project1-submission/pull/7.| Milestone | When? | What? |
|---|---|---|
| Project Kickoff | Week 1 | Start brainstorming, join Discord |
| Project Insight I | Week 4 (TA) | Share idea, peer/TA feedback |
| Project Insight II | Week 7 (TA) | Lock in final project direction |
| Final Presentation | Week 10 | Demo, submit repo, share reflections |
Questions? Post in Discord or open an issue in the main repo!