# 100天推理工程挑战：从CUDA内核到多云自动扩缩容的系统性学习路径

> 一个结构化的深度学习项目，涵盖推理工程的完整技术栈——从CUDA内存布局到Kubernetes自动扩缩容策略，通过可运行的脚本和实验帮助开发者掌握生产级LLM部署。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-17T01:42:35.000Z
- 最近活动: 2026-04-17T01:55:24.242Z
- 热度: 143.8
- 关键词: 推理工程, LLM部署, CUDA优化, vLLM, 量化, 投机解码, GPU, 自动扩缩容, 生产系统
- 页面链接: https://www.zingnex.cn/forum/thread/100-cuda
- Canonical: https://www.zingnex.cn/forum/thread/100-cuda
- Markdown 来源: ingested_event

---

# 100天推理工程挑战：从CUDA内核到多云自动扩缩容的系统性学习路径

## 项目背景与动机

大语言模型的推理工程（Inference Engineering）是一个横跨多个技术领域的复杂学科。从底层的CUDA内核优化到上层的云原生架构设计，推理工程师需要掌握的知识面极其广泛。

"做好推理需要三个层次：运行时、基础设施和工具。"
—— Philip Kiely，《Inference Engineering》（Baseten Books, 2026）

正是基于这种系统性思维，100 Days of Inference项目应运而生。它围绕Philip Kiely的著作《Inference Engineering》构建，通过100天的渐进式学习，帮助开发者全面掌握LLM推理工程的各个层面。

## 项目特色

### 实践导向

与传统教程不同，该项目的每个学习单元都是一个**可运行的脚本**。所有实验都在一个由两台NVIDIA DGX Spark组成的家庭实验室集群上实际运行，确保内容的实用性和可操作性。

### 结构化覆盖

项目系统性地覆盖了推理工程的三个核心层次：

1. **单GPU优化**：榨干单张GPU的性能，这是收益最大的层面
2. **多GPU与基础设施**：跨云、跨区域的多GPU协同
3. **工具与可观测性**：让前两个层次可调试、可监控

## 第一阶段：单GPU优化（Day 1-18）

这一阶段聚焦于单GPU场景下的性能优化，这是大多数推理工程师最先接触也最应该深入掌握的领域。

### 基础概念（Day 1-6）

| 天数 | 主题 | 对应书籍章节 |
|------|------|-------------|
| Day 1 | LLM推理机制：端到端文本生成 | Ch 2.2 |
| Day 2 | 从零实现推理：模型内部与分词 | Ch 2.2 |
| Day 3 | 嵌入层：从整数到向量 | Ch 2.2.1 |
| Day 4 | Transformer块与注意力机制深度解析 | Ch 2.2.2–2.2.3 |
| Day 5 | KV缓存原理与实现 | Ch 2.2 |
| Day 6 | 运算字节比与算术强度 | Ch 2.4 |

这一阶段从最基本的文本生成流程开始，逐步深入到Transformer架构的核心组件。特别值得注意的是Day 6的"运算字节比"（Ops:Byte Ratio）概念，这是理解GPU利用率的关键指标。

### 运行时与框架（Day 7-12）

| 天数 | 主题 | 对应书籍章节 |
|------|------|-------------|
| Day 7 | CUDA内核、内核选择与内核融合 | Ch 4.1 |
| Day 8 | PyTorch、模型格式、ONNX与TensorRT | Ch 4.2 |
| Day 9 | vLLM：PagedAttention与连续批处理 | Ch 4.3.1 |
| Day 10 | SGLang：RadixAttention与结构化输出 | Ch 4.3.2 |
| Day 11 | TensorRT-LLM：编译与插件系统 | Ch 4.3.3 |
| Day 12 | NVIDIA Dynamo：解耦式服务 | Ch 4.4 |

这一阶段介绍了当前主流的推理运行时框架，包括：

- **vLLM**：通过PagedAttention技术实现高效的KV缓存管理
- **SGLang**：支持结构化生成和RadixAttention优化
- **TensorRT-LLM**：NVIDIA的高性能推理编译器
- **NVIDIA Dynamo**：新兴的解耦式推理服务框架

### 高级优化技术（Day 13-18）

| 天数 | 主题 | 对应书籍章节 |
|------|------|-------------|
| Day 13 | 量化：数值格式（FP8、INT8、INT4） | Ch 5.1.1 |
| Day 14 | 量化：GPTQ、AWQ、SmoothQuant | Ch 5.1.2 |
| Day 15 | 投机解码：Draft-Target、Medusa、EAGLE | Ch 5.2 |
| Day 16 | KV缓存：前缀缓存与缓存感知路由 | Ch 5.3 |
| Day 17 | 模型并行：张量并行与专家并行 | Ch 5.4 |
| Day 18 | 解耦：预填充/解码分离 | Ch 5.5 |

这些高级技术代表了当前推理优化的前沿方向：

- **量化技术**：通过降低数值精度减少内存占用和计算量
- **投机解码**：使用小模型草稿加速大模型生成
- **前缀缓存**：复用已计算的KV缓存减少重复计算
- **预填充/解码分离**：针对两个阶段的不同特性分别优化

## 第二阶段：多GPU与基础设施（Day 19-27）

当单GPU无法满足需求时，就需要扩展到多GPU甚至多云环境。

### GPU架构与硬件（Day 19-21）

| 天数 | 主题 |
|------|------|
| Day 19 | GPU架构：SM、内存层次结构、HBM |
| Day 20 | GPU代际：Hopper、Ada、Blackwell、Rubin |
| Day 21 | 多GPU实例与多实例GPU（MIG） |

这一阶段帮助开发者理解不同GPU架构的特性，以及如何在单张GPU上通过MIG技术运行多个工作负载。

### 云原生部署（Day 22-27）

| 天数 | 主题 | 对应书籍章节 |
|------|------|-------------|
| Day 22 | 容器化：Docker与NVIDIA NIMs | Ch 7.1 |
| Day 23 | 自动扩缩容：并发、批处理与冷启动 | Ch 7.2 |
| Day 24 | 路由、负载均衡与队列 | Ch 7.2.3 |
| Day 25 | 多云容量管理 | Ch 7.3 |
| Day 26 | 零停机部署与成本估算 | Ch 7.4 |

这些内容直接对应生产环境中的核心挑战：

- 如何设计自动扩缩容策略以平衡成本和延迟
- 如何在多云环境中管理GPU容量
- 如何实现零停机模型更新

## 第三阶段：工具与可观测性（Day 28-30）

可观测性是生产系统的生命线。

| 天数 | 主题 | 对应书籍章节 |
|------|------|-------------|
| Day 28 | 性能基准测试：工具与剖析 | Ch 4.5 |
| Day 29 | 可观测性：指标、追踪与仪表板 | Ch 7.4.3 |
| Day 30 | 客户端代码：流式、异步与协议支持 | Ch 7.5 |

这一阶段涵盖了：

- 如何设计有效的基准测试来评估推理性能
- 需要监控哪些关键指标（TTFT、TPOT、吞吐量等）
- 如何构建观测仪表板
- 客户端SDK的设计最佳实践

## 实践项目清单

项目提供了丰富的动手实验，帮助学习者将理论转化为实践能力：

### 核心实现项目

- 从零实现BPE分词器
- 用PyTorch构建裸的自回归解码循环
- 实现带掩码的缩放点积注意力（SDPA）
- 简化版Flash Attention实现（Python中的分块计算）
- 跨序列长度分析注意力内存增长

### 量化与优化项目

- 构建INT8量化流水线：量化→反量化→误差测量
- 实现GPTQ风格的最近邻舍入（带Hessian加权）
- 扫描量化位宽并绘制困惑度vs压缩率曲线
- 模拟草稿-目标投机解码（带接受采样）

### 缓存与并行项目

- 实现简单的KV缓存管理器（块分配器、驱逐策略）
- 实现基于哈希的前缀缓存与去重
- 模拟张量并行：在N个worker间分割矩阵乘法
- 实际测量不同矩阵大小下的运算字节比

### 运行时部署项目

- CUDA剖析：使用torch.profiler分析PyTorch模型
- 通过Triton编写自定义元素级CUDA内核
- 构建带CUDA后端的PyTorch自定义算子
- 在spark-01上部署vLLM，基准测试TTFT和吞吐量
- 部署SGLang，基准测试结构化输出延迟
- TensorRT-LLM：编译模型并与eager PyTorch对比
- NVIDIA Dynamo：运行解耦式预填充实验

### 系统级项目

- 模拟连续批处理：队列到达、动态批形成
- 可视化PagedAttention块布局与碎片化
- 基准测试TTFT与吞吐量的批次大小权衡
- 编写生产级vLLM推理服务器的Dockerfile

## 学习价值与意义

### 系统性知识构建

与碎片化的博客文章或视频教程不同，该项目提供了一条结构化的学习路径。从底层原理到上层架构，学习者能够建立起完整的知识体系。

### 实践技能培养

每个实验都是可运行的代码，学习者可以在自己的环境中复现结果。这种"learning by doing"的方式比纯理论学习更加有效。

### 生产环境就绪

项目内容直接对应生产环境中的实际问题。完成这个挑战的学习者将具备部署和优化生产级LLM服务的能力。

### 社区与生态

作为开源项目，100 Days of Inference也构建了一个学习社区。学习者可以分享自己的实验结果、讨论遇到的问题、贡献改进建议。

## 目标受众

这个项目适合以下人群：

- **AI基础设施工程师**：希望深入理解LLM推理优化的系统工程师
- **机器学习工程师**：需要部署和维护LLM服务的ML从业者
- **技术负责人**：希望了解推理工程全貌以做出技术决策的架构师
- **研究人员**：对高效推理技术感兴趣的学术研究者

## 结语

100 Days of Inference项目代表了AI教育的一种新模式：系统性、实践性、生产导向。在LLM技术快速发展的今天，推理工程能力已成为AI基础设施的核心竞争力。

对于希望在这个领域建立扎实能力的开发者来说，这是一个不可多得的学习资源。100天的投入，换来的是对LLM推理全栈的深入理解——这笔投资无疑是值得的。

项目托管在GitHub上，所有代码和文档都是开源的。无论你是想完整跟完100天，还是挑选感兴趣的模块深入学习，都可以立即开始这段学习之旅。
