ai-infra-book
bojieli/ai-infra-book加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
假设你上线了一个基于大模型的对话产品。模型选型、Prompt 都调好了,压测也过了。但上线后用户开始流失,研发团队开会时争论不休——有人说该换更贵的模型,有人说该加卡扩容,还有人说是不是网络抖了。
这时如果你手里有一份"从硬件约束推导出系统设计上限"的分析框架,争论在十分钟内就会结束:你手上的 A100 带宽是 2TB/s,KV Cache 加上系统提示词占了 18GB,如果 prefill 阶段这 18GB 要在 80ms 内读完一遍,光搬运就需要 9ms——这就是理论下界;实测 42ms,说明 30ms 花在了别处。问题不是模型不够强,而是你没算过账。
这正是 bojieli/ai-infra-book 想教的事。它的作者李博杰是《深入理解 AI Agent:设计原理与工程实践》(GitHub 50k+ Star)的作者,姊妹篇定位在 AI 基础设施层:截至 2026 年 10 月,这个仓库已经积累 7229 Star、572 Fork。
作者的核心判断是一个结构性变化:编程抽象正在从操作系统上移到模型上下文。
传统软件里,操作系统、编译器、芯片要为事先未知的各种程序提供通用能力,所以系统优化总在"可编程性"与"性能"之间取舍。而今天 LLM 成了最重要的应用,算子执行到分布式调度都可以针对特定模型和加速器架构做专用优化;反过来模型设计也开始适应硬件——DeepSeek V4/V4.1 重构长上下文的表示方式就是一例。
用作者的话说:模型成了 LLM 时代的操作系统,AI Infra 成了 LLM 时代的计算机体系结构。而他进入体系结构领域的入门书《计算机体系结构:量化研究方法》缺少一本对应的 AI Infra 版本,这成了本书的写作动机。

全书贯穿的方法叫"从约束推导设计":先明确任务与质量要求,列出计算、存储、通信和依赖关系,再对照硬件的容量、带宽、算力做数量级估算。
作者强调了一个非常实用的自省点:估算人容易出错,AI 一样。只算权重读取而忘了 KV Cache、按峰值算力推算速度而不查带宽能否供给、把工作平分给多张卡却遗漏卡间通信——漏掉任何一项,结论都可能偏离几倍甚至几个数量级。
全书由此收敛为五个追问:搬什么、搬多少、搬几次、经过哪里、谁必须等它。 这五个问题把整本书串成了一条主线——从 FPGA 加速 Bing 搜索排序,到昇腾 AKG 算子生成,再到 UB 万卡互联,作者反复遇到的都是同一条线索:数据搬移。

十二章正文从"初识 AI Infra"一路推进到"端边云协同",每章都在回答一个具体的系统问题:
| 章 | 主题 | 关键问题 |
|---|---|---|
| 1 | 初识 AI Infra | 一次生成需要多少显存、计算和数据读写? |
| 4 | 加速器架构 | 如何在计算、存储、带宽、功耗与成本之间取舍? |
| 5 | 算子与运行时 | 融合、复用、并发和调度如何减少执行开销? |
| 6 | 超节点 | 多设备协作如何平衡容量、吞吐和同步代价? |
| 7 | 数据中心网络 | 网络带宽、通信方式和拥塞如何影响计算效率? |
| 8 | 推理优化 | 批处理、KV 管理、卸载与推测解码何时有效? |
| 9 | 分布式推理 | 如何放置计算和状态,并处理扩缩容与恢复? |
| 10 | 训练系统 | 如何安排显存、通信和重算,让训练更高效? |
真正让这本书区别于"又一本 AI 教材"的,是它的工程配比:仓库里除了 manuscripts/ 的正文,还有三套可直接运行的配套资产。
配套计算工具 calculations/ 是一个纯 Python 标准库 CLI,无需 GPU 和模型权重就能复算书中数字:
python3 calculations/calc.py models
python3 calculations/calc.py forward --model qwen3-8b --tokens 8192 --format md
它支持多模型配置、专家并行偏斜分析(ep_skew.py、ep_scale_skew.py)、超节点推理与扩展(supernode_inference.py、supernode_scaling.py),还有 tests/ 目录和 HARDWARE-AUDIT.md 这类硬件参数审计文档。方法论与工具在这里是闭环的——你可以换一组模型和输入,验证结论是否改变。

配套实验 experiments/ 按 chXX/XX-YY/ 组织,每个实验都附运行方法、输入条件和结果说明,并记录了 inventory.json 与各章的 reading-evidence 轨迹。
技能包 skills/ 提供 12 个领域技能(accelerator-selection、inference-serving、kernel-runtime-analysis、distributed-inference、parallelism-planning 等),把书中的方法论封装成可复用的分析流程。
阅读路径按角色分流:做模型应用与推理服务的主攻第 8、9 章再回看 4—7 章;做系统网络的从 5—7 章入手;做芯片体系结构的重点在 4—7 章结合算例。硬性前置是 Python、线性代数和计算机系统基础。
构建网站只需 Python 3.10+:
python3 -m venv .venv-site && source .venv-site/bin/activate
python -m pip install -r website/requirements.txt
python scripts/build_site.py --serve
构建 PDF/EPUB 需要 Pandoc + XeLaTeX + 中文字体,是整条链路中最重的一环。
一个必须注意的坑:仓库用 Git LFS 保存论文和较大输入/测量记录,合计约 20GB。.lfsconfig 默认跳过所有 LFS 文件,所以直接 clone 只会拿到指针文件——正文、配图和静态计算都不受影响,但复现特定实验时需要按目录拉取:
git lfs pull --include="experiments/ch05/05-01/**" --exclude=""
这个设计对只想读内容的人是友好的,但对想一键跑通全部实验的人是明确的成本。
书稿仍是初稿。作者自己在 README 里写明"目前书稿仍是初稿,正在持续修订",并开放勘误 Issue 模板邀请读者指错。开源书稿的通病——内容深度领先于审校严谨度——在这本书里同样存在:章节正文动辄十万字以上,个别数字和推导需要读者自己复核。
作者视角单一。全书贯穿的是作者自己的体系结构研究视角(FPGA 搜索排序、昇腾 AKG 算子、UB 万卡互联),这套"从约束推导"的思路非常有力,但也意味着其他流派(比如偏控制理论、偏编译器、偏应用层调度)的视角覆盖有限。
社区翻译的同步问题。英文版(@tg1482)、繁體中文版(@edward821220)、俄语 community edition(@ilkruglov)均为社区贡献,README 明确说明"译本数字、公式和引用以原版为准",翻译版本天然存在滞后。
作者背景的隐含影响。作者自陈是《深入理解 AI Agent》的作者,书中有明显的姊妹篇延续性——这对 AI 应用开发者是加分,但对纯粹的系统工程师而言,部分章节的前置阅读成本偏高。
这个仓库最突出的社区特征是翻译驱动的国际化:同一份中文原稿,衍生出英语、繁體中文、俄语三个社区版本,README 顶部就能切换在线阅读。四种语言的 PDF 与 EPUB 全部通过 GitHub Actions 自动构建,推送到 main 后自动发布 Release——最近一次构建是 2026-10-01,每个版本含 8 个资产。
社区参与也相当活跃:贡献者 6 位(按 GitHub contributors 接口统计),勘误、翻译、实验复现、配套代码 Bug 修复、网页版改进都被列为欢迎认领的方向,仓库贡献者列表包含作者本人与三位主要译者。
2026 年 AI Infra 的讨论正从"堆多少卡"转向"每一美元的产出",从模型能力叙事转向系统效率叙事。这个转向需要的不是又一遍架构科普,而是"从硬件约束推导系统设计"的可验证方法——也就是先算出物理上限,再看实测离上限还有多远。
差距不是模型漏了项,就是系统有可以去掉的开销。这句话把"性能优化"从玄学变成了工程学,也正是这本书最核心的价值:它不告诉你用哪个框架,而是给你一套判断"到底慢在哪、该优化什么"的思考方式。
在一个模型层创新放缓、系统层成为主要竞争维度的阶段,这套方法论的稀缺性反而在上升。7229 Star、572 Fork 和全网多语种翻译的传播,本身就是这套稀缺性的市场信号。

《深入理解 AI Infra》不是一本"LLM 应用开发教程",也不是又一本系统架构教材。它是一本量化研究方法在 AI 时代的重写:把体系结构学科几十年沉淀的"roofline 分析—瓶颈识别—针对性优化"范式,完整迁移到 LLM 训练与推理的系统设计里。
对 AI 应用开发者,它解答"为什么我的服务慢、为什么成本这么高";对系统与网络工程师,它把底层机制与真实模型任务接上;对芯片与体系结构研究者,它提供了从硬件指标到服务能力的完整翻译链条。
配套的计算 CLI、章节化实验与 12 个技能包,让这套方法论不止停留在纸面——你可以换一组模型和输入,用工具重新算一遍,看看结论是否改变。这大概就是这本书比同类内容走得更远的原因:它交付的不只是知识,而是可执行的思考程序。