인공지능 시스템의 원리와 실무 (Principles and Practices of Engineering Artificially
요약
AI 시스템을 설계, 구축, 평가하는 'AI 엔지니어링'을 체계적으로 학습하기 위한 통합 커리큘럼을 소개합니다. 이론 중심의 교과서부터 TinyTorch 프레임워크 구축, 하드웨어 배포 실습까지 엔드 투 엔드 시스템 구축 능력을 배양하는 것을 목표로 합니다.
핵심 포인트
- 단순 모델링을 넘어 신뢰할 수 있는 지능형 시스템 구축을 지향함
- 이론(교과서), 구축(TinyTorch), 실습(Labs), 하드웨어 배포를 결합한 통합 커리큘럼
- ML 프레임워크를 직접 구현하며 시스템 내부 구조를 이해하도록 설계
- 실제 하드웨어 제약 조건(메모리, 전력, 지연 시간)을 경험하는 실무 중심 교육
인공지능 시스템의 원리와 실무 (Principles and Practices of Engineering Artificially Intelligent Systems)
📘 교과서 (Textbook) •
📗 제1권 (Vol I) + 📘 제2권 (Vol II) •
🔥 TinyTorch •
🔬 실습 (Labs) •
🔮 MLSys·im •
💼 StaffML
📚 2026년 MIT Press를 통해 종이책 출간 예정.
세상은 AI 시스템을 구축하기 위해 달려가고 있습니다. 하지만 그것을 엔지니어링(Engineering)하고 있지는 않습니다.
그 간극이 바로 우리가 의미하는 AI 엔지니어링 (AI engineering)입니다.
AI 엔지니어링은 단순히 고립된 모델을 만드는 것이 아니라, 실제 세상에서 작동하는 효율적이고, 신뢰할 수 있으며, 안전하고, 견고한 지능형 시스템을 구축하는 학문입니다. 우리의 미션은 엔드 투 엔드 (end-to-end) 지능형 시스템을 설계, 구축 및 평가하는 방법을 가르침으로써, AI 엔지니어링을 소프트웨어 엔지니어링 (software engineering) 및 컴퓨터 엔지니어링 (computer engineering)과 나란히 기초 학문으로 확립하는 것입니다.
우리의 목표: 올해 10만 명의 학습자가 머신러닝 시스템 (ML Systems)을 마스터하도록 돕고, 2030년까지 100만 명에 도달하는 것입니다.
나는 이것을 독립적인 프로젝트들의 모음이 아닌, 하나의 통합된 커리큘럼 (curriculum)으로 설계했습니다. 교과서는 이론을 가르칩니다. TinyTorch는 내부 구조를 직접 구축하게 만듭니다. 하드웨어 키트는 실제 제약 조건에 직면하게 합니다. 시뮬레이터 (simulator)는 대여할 여유가 없는 인프라 (infrastructure)에 대해 추론할 수 있게 해줍니다. 각 요소는 읽기만 하는 학생은 내재화하지 못하고, 코딩만 하는 학생은 일반화하지 못한다는 것을 발견했기에 존재합니다.
이 저장소 (repository)가 곧 커리큘럼입니다.
점점 늘어나는 기여자 (contributors) 커뮤니티가 오류 수정, 설명 정교화, 새로운 하드웨어에서의 테스트 등 모든 부분을 개선하는 데 도움을 주고 있습니다. 그들의 작업은 이 프로젝트를 모두에게 더 좋게 만들며, 저는 모든 풀 리퀘스트 (pull request)에 감사하고 있습니다.
| 구성 요소 | 커리큘럼에서의 역할 | 링크 |
|---|---|---|
| 📖 | 교과서 (Textbook) | 2권으로 구성된 MIT Press 교과서입니다. 다른 모든 것의 토대가 되는 이론, 정신적 모델 (mental models), 그리고 정량적 추론 (quantitative reasoning)을 다룹니다. |
| 🔬 | 실습 (Labs) | 교과서의 트레이드오프 (trade-offs)를 탐구할 수 있는 대화형 Marimo 노트북입니다. 파라미터 (parameter)를 변경하고, 무엇이 작동하지 않는지 확인하며, 직관을 쌓아보세요. 내부적으로는 MLSys·im을 기반으로 작동합니다. |
| 🔥 | Tiny🔥Torch | 20개의 단계별 모듈을 통해 자신만의 ML 프레임워크 (ML framework)를 처음부터 구축합니다. 시스템을 직접 구축해 보기 전까지는 그 시스템을 이해할 수 없습니다. |
| 🛠️ | 하드웨어 키트 (Hardware Kits) | Arduino, Seeed, Grove, Raspberry Pi 장치에 ML을 배포합니다. 실제 메모리 제한, 실제 전력 예산, 실제 지연 시간 (latency)을 경험합니다. |
| 🔮 | MLSys·im | 물리적으로 접근할 수 없는 인프라 규모에서의 메모리 병목 현상 (memory bottlenecks), 네트워크 포화 (network saturation), 스케줄링 제한 (scheduling limits)을 계산합니다. |
| 💼 | StaffML | ML 시스템 역할(ML systems roles)을 위한 물리 기반 면접 질문입니다. 저장소, 연습 드릴, 모의 면접 및 진행 상황 추적 기능을 제공합니다. |
| 구성 요소 | 제공 사항 | 링크 |
|---|---|---|
| 🎓 | 강사 허브 (Instructor Hub) | AI 엔지니어링 청사진 (AI Engineering Blueprint): 두 개의 16주 강의 계획서, 교수법 가이드, 평가 루브릭 (assessment rubrics), 그리고 조교 (TA) 핸드북을 제공합니다. |
| 🎬 | 강의 슬라이드 (Lecture Slides) | 네 가지 테마 변형이 포함된 모든 장(chapter)에 대한 Beamer 슬라이드 덱입니다. 바로 수업에 적용하여 가르칠 수 있습니다. |
각 요소들은 함께 작동하도록 설계되었지만, 모든 것을 한꺼번에 도입할 필요는 없습니다.
| 당신이...라면 | 여기서 시작하세요 | 그다음에는 더 깊이 들어가세요 |
|---|---|---|
| 학생 또는 독학자 | Volume I을 읽고 Lab 00을 시도해 보세요 | TinyTorch를 구축하고, MLSys·im을 사용하며, StaffML로 연습하세요 |
| 강사 | AI 엔지니어링 청사진을 여세요 | 코스 맵, 슬라이드, 루브릭, 그리고 TA 가이드를 사용하세요 |
| 기여자 (Contributor) | 가장 자주 사용하는 구성 요소를 선택하세요 | 챕터, 실습, 테스트, 예제, 하드웨어 노트, 시뮬레이터 모델 또는 평가 콘텐츠를 개선하세요 |
학습 루프는 다음과 같습니다: 읽기 (Read) → 탐색 (Explore) → 구축 (Build) → 모델링 (Model) → 배포 (Deploy) → 연습 (Practice) → 가르치기 (Teach).
일부 프로젝트는 메인 커리큘럼보다 의도적으로 초기 단계에 머물러 있습니다:
- Socratiq는 정적 학습 사이트를 위한 AI 가이드 독서, 문맥 기반 퀴즈, 간격 반복 (Spaced Repetition)을 탐색합니다.
- MLPerf EDU는 MLCommons MLPerf에 맞춘, 현재 구축 중인 교육용 벤치마크 제품군 (Pedagogical Benchmark Suite)입니다.
- ML Systems Design Grammar는 안정적인 기본 요소 (Primitives), 제약 조건 (Constraints), 그리고 재작성 규칙 (Rewrite Rules)으로부터 추론하기 위한 실험적 프레임워크입니다.
이 교재는 머신러닝 (Machine Learning)과 시스템 엔지니어링 (Systems Engineering)의 교차점에서 사고하는 법을 가르칩니다. 각 장은 알고리즘 개념과 이를 실제로 작동하게 만드는 인프라 (Infrastructure) 사이의 가교 역할을 합니다.
| 당신은 이미 알고 있습니다... | 당신은 배우게 될 것입니다... |
|---|---|
| 모델을 학습시키는 방법 | → |
| ... |
이 교재는 Hennessy & Patterson의 교육 모델을 따라 두 권의 볼륨으로 구성됩니다:
| 볼륨 | 테마 | 범위 |
|---|---|---|
| 📗 | Volume I | 구축, 최적화, 배포 |
| 📘 | Volume II | 확장, 분산, 거버넌스 |
교재를 읽으세요. Volume I부터 시작하거나 Volume II로 계속 진행하세요. 이것이 다른 모든 것의 토대입니다. |
| 선택하여 실습 경로를 정하세요. 프레임워크를 구축하거나 (TinyTorch), 트레이드오프 (Trade-offs)를 탐색하거나 (Labs), 제약 조건을 모델링하거나 (MLSys·im), 또는 실제 하드웨어에 배포하세요 (Kits). |
| 스스로를 테스트하세요. 클라우드, 엣지 (Edge), 모바일, 그리고 TinyML 전반에 걸쳐 물리 기반 시스템 설계 문제인 StaffML을 훈련하세요. |
| 그것을 가르치세요. AI Engineering Blueprint와 강의 슬라이드를 사용하여 커리큘럼을 채택하세요. |
참고
당신은 dev 브랜치에 있습니다. 활발한 개발은 여기서 이루어집니다. 마지막 안정 버전 (Stable Release)을 보려면 main을 확인하세요.
| 브랜치 | 브랜치명 | 내용 | 상태 |
|---|---|---|---|
| 🟢 | main mlsysbook.ai | 단권 교재 (현재 판) | 라이브 — 현재 독자들이 보고 있는 버전입니다. |
| 🟡 | dev ← 현재 위치 | 제1권 — 2권 분할 구성 (내용 완료, 편집 다듬기 중) 제2권 — At Scale (활발한 개발 중) 커리큘럼 — TinyTorch, Kits, MLSys·im, Labs, StaffML | TinyTorch 및 Hardware Kits는 라이브 상태입니다. MLSys·im, Labs, StaffML은 초기 출시 버전이며 활발하게 반복 개선(Iterate)되고 있습니다. |
2권 분할 구성은 출시 시점에 단권 판을 대체합니다.
리포지토리 Star 누르기 | Star는 이 작업이 중요하다는 신호를 대학과 재단에 보냅니다. 이들은 소외된 교실을 위한 워크숍과 하드웨어 키트(Hardware Kits)에 직접 자금을 지원합니다. 2030년까지 학습자 수를 100명 → 1,000명 → 10,000명 → 100,000명 → 100만 명으로 확대합니다. |
미션 후원하기 | 모든 기부금은 교육적 지원을 위한 투명한 기금인 Open Collective로 전달됩니다. 모든 달러는 더 많은 학생에게 도달하는 데 사용됩니다. |
| 제가 하고 싶은 것은... | 여기로 가세요 |
|---|---|---|
| 📖 | 오타 수정 또는 장(Chapter) 개선 | 교재 기여 가이드 (Textbook contributing guide) |
| 🔥 | TinyTorch 모듈 추가 또는 버그 수정 | TinyTorch 기여 가이드 (TinyTorch contributing guide) |
| 🛠️ | 하드웨어 실험실(Hardware labs) 개선 | 하드웨어 키트 가이드 (Hardware kits guide) |
| 🔬 | 대화형 실험실(Interactive labs) 또는 시뮬레이터 모델 개선 | Labs 가이드 · MLSys·im 가이드 |
| 💼 | 평가 또는 커리어 준비 콘텐츠 개선 | StaffML 가이드 · 퀴즈 갱신 가이드 (quiz refresh guide) |
| 🧠 | AI 학습 도구 개선 | Socratiq 가이드 |
| 🐛 | 이슈(Issue) 보고 | GitHub Issues |
| 💬 | 질문하기 | GitHub Discussions |
이것은 다중 구성 요소 리포지토리이며, 각 구성 요소는 그 목적에 맞춰 각자의 라이선스(License) 하에 출시됩니다. 각 디렉토리 내의 파일(예: tinytorch/LICENSE, interviews/staffml/LICENSE)이 권위 있는 기준입니다.
| 구성 요소 | 라이선스 (License) | 의미 |
|---|---|---|
교재 (book/), 실습 (labs/), 키트 (kits/), 슬라이드 (slides/), 강사 자료 (instructors/) | CC-BY-NC-SA 4.0 | 저작자 표시를 하고 동일한 라이선스로 공유해야 하며, 비상업적 용도로 공유 및 개작 가능. |
| TinyTorch | MIT | 허용적 (Permissive) — 상업적 이용을 포함하여 사용, 수정, 재배포 가능. |
| MLSys·im | Apache 2.0 | 명시적인 특허 허여를 포함한 허용적 (Permissive) 라이선스. |
| ... | ||
| 사용자용 요약본은 mlsysbook.ai/about/license 에서 확인할 수 있습니다. |
도입을 고려 중인 기관이나, 카피레프트 (Copyleft) 구성 요소의 상업적 이용 조건에 관심이 있는 기업은 edu@tinyML.org로 문의해 주시기 바랍니다.
이 리소스를 모두를 위해 더 나은 방향으로 만드는 데 기여해 주신 멋진 분들께 감사를 전합니다!
범례 (Legend): 🪲 버그 헌터 (Bug Hunter) · 🧑💻 코드 기여자 (Code Contributor) · ✍️ 문서 마법사 (Doc Wizard) · 🎨 디자인 아티스트 (Design Artist) · 🧠 아이디어 스파크 (Idea Spark) · 🔎 코드 리뷰어 (Code Reviewer) · 🧪 테스트 팅커러 (Test Tinkerer) · 🛠️ 툴 빌더 (Tool Builder)
Vijay Janapa Reddi🪲 🧑💻 🎨 ✍️ 🧠 🔎 🧪 🛠️ |
kai🪲 🧑💻 🎨 ✍️ 🧪 |
Dang Truong🪲 🧑💻 ✍️ 🧪 |
Farhan Asghar🪲 🧑💻 🎨 ✍️ |
Rocky🪲 🧑💻 ✍️ 🧪 |
Didier Durand🪲 🧑💻 ✍️ |
rnjema🧑💻 ✍️ 🛠️ |
Pratham Chaudhary🪲 🧑💻 ✍️ |
Karthik Dani🪲 🧑💻 |
Avik De🪲 🧪 |
Takosaga🪲 ✍️ |
joeswagson🧑💻 🛠️ |
AndreaMattiaGaravagno🧑💻 ✍️ |
Rolds🪲 🧑💻 |
asgalon🧑💻 ✍️ |
bdub🪲 🧑💻 |
Amir Alasady🪲 |
jettythek🧑💻 |
wzz🪲 |
Ng Bo Lin✍️ |
keo-dara🪲 |
Wayne Norman🪲 |
Ilham Rafiqin🪲 |
Oscar Flores✍️ |
harishb00a✍️ |
Pastor Soto✍️ |
Salman Chishti🧑💻 |
Aditya Mulik✍️ |
Ademola Arigbabuwo✍️ |
Yaroslav Halchenko🧑💻 |
Harish✍️ |
Vijay Janapa Reddi🧑💻 🎨 ✍️ 🧠 |
Peter Koellner🪲 ✍️ |
Rocky🪲 🧑💻 |
Zeljko Hrcek🧑💻 |
Vijay Janapa Reddi🎨 ✍️ 🧠 |
Rocky🪲 🧑💻 |
Farhan Asghar🧑💻 |
Vijay Janapa Reddi🪲 🧑💻 🎨 ✍️ 🧪 🛠️ |
Marcelo Rovai✍️ 🧑💻 🎨 |
Farhan Asghar🪲 🧑💻 |
Salman Chishti🧑💻 |
Pratham Chaudhary🧑💻 |
Rocky🪲 |
Vijay Janapa Reddi🧑💻 🎨 ✍️ |
Rocky🪲 🧑💻 🎨 |
Salman Chishti🧑💻 |
Pratham Chaudhary🧑💻 |
Peter Koellner🪲 |
Vijay Janapa Reddi🧑💻 🎨 ✍️ |
Vijay Janapa Reddi🧑💻 🎨 ✍️ |
Farhan Asghar🪲 🧑💻 🎨 |
Rocky🧑💻 ✍️ 🔎 |
곧 공개 예정!
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기