# Machine Learning Systems *Principles and Practices of Engineering Artificially Intelligent Systems*
[![Build](https://img.shields.io/github/actions/workflow/status/harvard-edge/cs249r_book/validate-dev.yml?branch=dev&label=Build&logo=githubactions&cacheSeconds=300)](https://github.com/harvard-edge/cs249r_book/actions/workflows/validate-dev.yml) [![Website](https://img.shields.io/website?url=https%3A%2F%2Fmlsysbook.ai&label=Website&logo=readthedocs)](https://mlsysbook.ai) [![Ecosystem](https://img.shields.io/website?url=https%3A%2F%2Fmlsysbook.org&label=Ecosystem&logo=internet-explorer)](https://mlsysbook.org) [![License](https://img.shields.io/badge/License-CC--BY--NC--SA%204.0-blue.svg)](https://github.com/harvard-edge/cs249r_book/blob/dev/LICENSE) [![Funding](https://img.shields.io/badge/Fund%20Us-Open%20Collective-blue.svg?logo=open-collective)](https://opencollective.com/mlsysbook) [![Powered by Netlify](https://img.shields.io/badge/Powered%20by-Netlify-00C7B7?logo=netlify&logoColor=white)](https://www.netlify.com) **[πŸ“– Read Online](https://mlsysbook.ai)** β€’ **[πŸ’Ύ Download PDF](https://mlsysbook.ai/Machine-Learning-Systems.pdf)** β€’ **[🌐 Explore Ecosystem](https://mlsysbook.org)** πŸ“š **Hardcopy edition coming 2026 via MIT Press!**
--- ## About This Book The **open-source textbook** that teaches you to build real-world AI systems β€” from edge devices to cloud deployment. Originally developed as Harvard University's CS249r course by [Prof. Vijay Janapa Reddi](https://github.com/profvjreddi/homepage), now used by universities and students worldwide. > **Our mission:** Expand access to AI systems education worldwide β€” empowering learners, one chapter and one lab at a time. ### Why This Book Exists *"This grew out of a concern that while students could train AI models, few understood how to build the systems that actually make them work. As AI becomes more capable and autonomous, the critical bottleneck won't be the algorithms - it will be the engineers who can build efficient, scalable, and sustainable systems that safely harness that intelligence."* **β€” Vijay Janapa Reddi** --- ## πŸ“š What You'll Learn Go beyond training models β€” master the **full stack** of real-world ML systems. | Topic | What You'll Build | |-------|------------------| | **System Design** | Scalable, maintainable ML architectures | | **Data Engineering** | Robust pipelines for collection, labeling, and processing | | **Model Deployment** | Production-ready systems from prototypes | | **MLOps & Monitoring** | Reliable, continuously operating systems | | **Edge AI** | Resource-efficient deployment on mobile, embedded, and IoT | --- ## ⭐ Support This Work
### Show Your Support **Star this repository** to help us demonstrate the value of open AI education to funders and institutions. [![Stars](https://img.shields.io/github/stars/harvard-edge/cs249r_book?style=for-the-badge&logo=github&color=gold)](https://github.com/harvard-edge/cs249r_book/stargazers) **Goal:** 10,000 stars = $100,000 in additional education funding [**⭐ Star Now**](https://github.com/harvard-edge/cs249r_book) β€” *takes 2 seconds!* ### Fund the Mission (New!) We've graduated this project from Harvard to enable global access and expand AI systems education worldwide. Please help us support educators globally, especially in the Global South, by providing TinyML kits for students, funding workshops, and sustaining our open-source infrastructure. [![Open Collective](https://img.shields.io/badge/πŸ’%20Support%20AI%20Education-Open%20Collective-blue.svg?style=for-the-badge)](https://opencollective.com/mlsysbook) *From $15/month to sponsor a learner to $250 for workshops β€” every contribution democratizes AI education.*
--- ## 🌐 Community & Resources | Resource | Description | |----------|-------------| | [πŸ“š **Main Site**](https://mlsysbook.org) | Complete learning platform | | [πŸ”₯ **TinyTorch**](https://mlsysbook.org/tinytorch) | Educational ML framework | | [πŸ’¬ **Discussions**](https://github.com/harvard-edge/cs249r_book/discussions) | Ask questions, share insights | | [πŸ‘₯ **Community**](https://mlsysbook.org/community) | Join our global learning community | --- ## 🎯 For Different Audiences ### πŸŽ“ Students - [πŸ“– Read online](https://mlsysbook.ai) - [πŸ“„ Download PDF](https://mlsysbook.ai/Machine-Learning-Systems.pdf) - [πŸ§ͺ Try hands-on labs](https://mlsysbook.org) ### πŸ‘©β€πŸ« Educators - [πŸ“‹ Course materials](https://mlsysbook.org) - [🎯 Instructor resources](https://mlsysbook.org) - [πŸ’‘ Teaching guides](https://mlsysbook.org) ### πŸ› οΈ Contributors - [🀝 Contribution guide](docs/contribute.md) - [⚑ Development setup](#development) - [πŸ’¬ Join discussions](https://github.com/harvard-edge/cs249r_book/discussions) --- ## πŸš€ Quick Start ### For Readers ```bash # Read online (continuously updated) open https://mlsysbook.ai # Or download PDF for offline access curl -O https://mlsysbook.ai/Machine-Learning-Systems.pdf ``` ### For Contributors ```bash git clone https://github.com/harvard-edge/cs249r_book.git cd cs249r_book # Quick setup (recommended) ./binder setup # Setup environment and dependencies ./binder doctor # Check system health # Fast development workflow ./binder preview intro # Fast chapter development ./binder build intro # Build specific chapter ./binder build # Build complete book (HTML) ./binder help # See all commands ``` --- ## 🀝 Contributing We welcome contributions from the global community! Here's how you can help: ### Ways to Contribute - **πŸ“ Content** β€” Suggest edits, improvements, or new examples - **πŸ› οΈ Tools** β€” Enhance development scripts and automation - **🎨 Design** β€” Improve figures, diagrams, and visual elements - **🌍 Localization** β€” Translate content for global accessibility - **πŸ”§ Infrastructure** β€” Help with build systems and deployment ### Quality Standards All contributions benefit from automated quality assurance: - βœ… **Pre-commit validation** β€” Automatic cleanup and checks - πŸ“‹ **Content review** β€” Formatting and style validation - πŸ§ͺ **Testing** β€” Build and link verification - πŸ‘₯ **Peer review** β€” Community feedback [**Start Contributing β†’**](docs/contribute.md) --- ## πŸ› οΈ Development ### Book Binder CLI (Recommended) The **Book Binder** is our lightning-fast development CLI for streamlined building and iteration: ```bash # Chapter development (fast iteration) ./binder preview intro # Build and preview single chapter ./binder preview intro,ml_systems # Build and preview multiple chapters # Complete book building ./binder build # Build complete website (HTML) ./binder pdf # Build complete PDF ./binder epub # Build complete EPUB # Management ./binder clean # Clean artifacts ./binder status # Show current status ./binder doctor # Run health check ./binder help # Show all commands ``` ### Development Commands ```bash # Book Binder CLI (Recommended) ./binder setup # First-time setup ./binder build # Build complete HTML book ./binder pdf # Build complete PDF book ./binder epub # Build complete EPUB book ./binder preview intro # Preview chapter development # Traditional setup (if needed) python3 -m venv .venv source .venv/bin/activate pip install -r tools/dependencies/requirements.txt pre-commit install ``` ### Project Structure ``` MLSysBook/ β”œβ”€β”€ binder # ⚑ Fast development CLI (recommended) β”œβ”€β”€ quarto/ # Main book content (Quarto) β”‚ β”œβ”€β”€ contents/ # Chapter content β”‚ β”‚ β”œβ”€β”€ core/ # Core chapters β”‚ β”‚ β”œβ”€β”€ labs/ # Hands-on labs β”‚ β”‚ β”œβ”€β”€ frontmatter/ # Preface, acknowledgments β”‚ β”‚ β”œβ”€β”€ backmatter/ # References and resources β”‚ β”‚ └── parts/ # Book parts and sections β”‚ β”œβ”€β”€ _extensions/ # Quarto extensions β”‚ β”œβ”€β”€ config/ # Build configurations β”‚ β”‚ β”œβ”€β”€ _quarto-html.yml # Website build configuration β”‚ β”‚ └── _quarto-pdf.yml # PDF build configuration β”‚ β”œβ”€β”€ data/ # Cross-reference and metadata files β”‚ β”œβ”€β”€ assets/ # Images, styles, media β”‚ β”œβ”€β”€ filters/ # Lua filters β”‚ β”œβ”€β”€ scripts/ # Build scripts β”‚ └── _quarto.yml # Active config (symlink) β”œβ”€β”€ tools/ # Development automation β”‚ β”œβ”€β”€ scripts/ # Organized development scripts β”‚ β”‚ β”œβ”€β”€ content/ # Content management tools β”‚ β”‚ β”œβ”€β”€ cross_refs/ # Cross-reference management β”‚ β”‚ β”œβ”€β”€ genai/ # AI-assisted content tools β”‚ β”‚ β”œβ”€β”€ maintenance/ # System maintenance scripts β”‚ β”‚ β”œβ”€β”€ testing/ # Test and validation scripts β”‚ β”‚ └── utilities/ # General utility scripts β”‚ β”œβ”€β”€ dependencies/ # Package requirements β”‚ └── setup/ # Setup and configuration β”œβ”€β”€ config/ # Project configuration β”‚ β”œβ”€β”€ dev/ # Development configurations β”‚ β”œβ”€β”€ linting/ # Code quality configurations β”‚ └── quarto/ # Quarto publishing settings β”œβ”€β”€ docs/ # Documentation β”‚ β”œβ”€β”€ BINDER.md # Binder CLI guide β”‚ β”œβ”€β”€ BUILD.md # Build instructions β”‚ β”œβ”€β”€ DEVELOPMENT.md # Development guide β”‚ └── contribute.md # Contribution guidelines β”œβ”€β”€ CHANGELOG.md # Project changelog β”œβ”€β”€ CITATION.bib # Citation information β”œβ”€β”€ pyproject.toml # Python project configuration └── README.md # This file ``` ### Documentation - [⚑ Binder CLI Guide](docs/BINDER.md) β€” Fast development with the Book Binder - [πŸ“‹ Development Guide](docs/DEVELOPMENT.md) β€” Comprehensive setup and workflow - [πŸ› οΈ Maintenance Guide](docs/MAINTENANCE_GUIDE.md) β€” Daily tasks and troubleshooting - [πŸ”¨ Build Instructions](docs/BUILD.md) β€” Detailed build process - [🀝 Contribution Guidelines](docs/contribute.md) β€” How to contribute effectively ### Publishing ```bash # Interactive publishing (recommended) ./binder publish # Command-line publishing ./binder publish "Description" COMMIT_HASH # Manual workflow (if needed) ./binder build html && ./binder build pdf # Then use GitHub Actions to deploy ``` **Publishing Options:** - **`./binder publish`** β€” Unified command with interactive and command-line modes - **GitHub Actions** β€” Automated deployment via workflows ### Getting Started ```bash # First time setup ./binder setup # Check system health ./binder doctor # Quick preview ./binder preview intro ``` --- ## πŸ“‹ Citation & License ### Citation ```bibtex @inproceedings{reddi2024mlsysbook, title = {MLSysBook.AI: Principles and Practices of Machine Learning Systems Engineering}, author = {Reddi, Vijay Janapa}, booktitle = {2024 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ ISSS)}, pages = {41--42}, year = {2024}, organization = {IEEE}, url = {https://mlsysbook.org} } ``` ### License This work is licensed under **Creative Commons Attribution–NonCommercial–ShareAlike 4.0 International** (CC BY-NC-SA 4.0). You may share and adapt the material for non-commercial purposes with appropriate credit. ---
**Made with ❀️ for AI learners worldwide** Our goal is to educate 1 million AI systems engineers for the future at the edge of AI.
# Trigger build