ML Systems Taxonomy
All four volumes Draft
The ML Systems Taxonomy
Explore the concepts behind building and operating machine learning systems. Browse the foundations, stack, lifecycle, qualities, and system types; follow their relationships; or reuse the vocabulary in your courses and tools.
Ways to use it
- Learning a concept Open KV cache to see what it depends on, what limits it, what reduces its cost, and which chapters teach it. Open KV cache →
- Planning a course Highlight Edge to see the subjects an edge AI course draws on, then open each one for its scope and readings. Highlight Edge →
- Preparing for interviews StaffML questions carry the same tags, so a gap you find here becomes a set of questions you can practice. Practice KV cache questions →
- Diagnosing a problem Start from a symptom such as time to first token rising under load to see its likely causes, what to check, and what to change. Open the guides →
Using the taxonomy in courses, research, and tools
Every view on this page and every file in Download & cite is built from one source file. Concept identities (such as mlsys.kv-cache) and subject identities (such as llm-inference) stay fixed across versions; when a concept is retired, its old identity redirects to its replacement.
- Studying, debugging, and role planning
- Trace how areas depend on one another in the Concept map, scan every group and area in the Matrix, start from a failure mode in Symptom triage, compare what different jobs expect in Role guides, or follow an ordered sequence in Learning paths.
- Mapping a course or syllabus
- Cite subject codes (such as
P4.3) in a syllabus or reading list, highlight a system lens in the Matrix (such as Generative, Agentic, Physical, Edge, or Distributed), or print the full outline as a PDF. - Tagging papers, benchmarks, and questions
- Tag papers, benchmark tasks, or interview questions with permanent identities from the subjects CSV, the concepts CSV, or the full JSON release.
- Loading into a graph database or ontology tool
- Load the SKOS vocabulary or the GraphML concept graph into Protégé, Gephi, Neo4j, or a SPARQL endpoint.
- Validating tags and generating types
- Check external datasets against the JSON Schema or generate typed data models from the LinkML schema.
- Suggesting changes or updating the source
- Propose a concept, subject, or correction on GitHub, or follow the maintenance instructions to prepare a source-backed change and validate its exports.
About this taxonomy: scope, method, tagging, and known gaps
We developed this taxonomy to organize the four-volume Machine Learning Systems textbook series and share it openly so educators, researchers, and engineering teams can reuse or adapt it. Its scope connects compute-stack engineering with production ML systems, including datacenter infrastructure, safety and assurance, sustainability, and agentic and embodied systems. Related taxonomies and curricula overlap this scope; this draft does not claim to be the first or an authoritative community standard.
How we developed it. We developed the ML Systems Taxonomy through an iterative synthesis of educational and technical sources. We combined a field survey with an inventory of textbook topics to establish the organizing framework, then populated it with defined concepts, explicit scope boundaries, and typed relationships. We refined the vocabulary through relationship audits, coverage checks against research and teaching material, and classification exercises using interview questions. Findings informed successive revisions, with stable identifiers and documented changes supporting ongoing maintenance.
Standards and maintenance. Recorded editorial decisions, stable identifiers, and automated checks support ongoing maintenance. ANSI/NISO Z39.19 informs vocabulary construction; ISO 25964-1 and ISO 25964-2 inform maintenance and interoperability; W3C SKOS supplies the exchange model. The method statement distinguishes implemented checks, project policy, and remaining review limitations. Full standards conformance has not been established.
Each concept has one home, the subject that owns its mechanism; other placements appear as related subjects. The taxonomy organizes knowledge for browsing and does not prescribe a course order or prerequisites. Relationships are editorial drafts, each with the condition under which it holds. Book links point to where MLSysBook teaches a subject; a missing link is unfinished alignment, not evidence that the books omit it.
This is an editorial draft for expert review, not a claim of completeness, consensus, or demonstrated learning. The recorded review and classification exercises used model assistance; independent human expert validation remains outstanding. The field survey was targeted, not a systematic literature review. Compound-entry decisions, search-term distinctions, withdrawn unsupported relationships, and remaining evidence limits are listed in the editorial dispositions. Suggestions and corrections are welcome on GitHub.
Loading the taxonomy…
Download & cite
Use the codes to tag course materials, map a syllabus, classify papers or questions, or find gaps. Every file is built from the same source as this page.
| Subjects | CSV | One row per subject with code, definition, and concepts |
| Concepts | CSV | One row per concept with definition, search terms, and subject |
| Complete taxonomy | JSON | Subjects, concepts, and typed relationships |
| LinkML schema | YAML | Schema for the source file and releases |
| JSON Schema | JSON | Validation schema for the JSON release |
| SKOS vocabulary | RDF | W3C standard format for taxonomies |
| Concept graph | GraphML | For Gephi, yEd, or a graph database |
| Printable outline | Print or save the full outline |
Cite as