第 17 章 AI 推理


文档摘要

第 17 章 AI 推理 训练只是故事的一半——把训练好的模型低成本、低延迟地服务给亿万用户,才是决定一款 AI 产品能不能活下来的关键工程。本章覆盖量化、高效架构、批处理与服务、端侧推理、扩展与部署这五大主题,是 2024-2026 年 AI 行业最热的战场之一,也是 DeepMind、OpenAI 等公司推理工程师岗位的核心考察内容。 本章简介 AI 推理(AI inference)是连接"模型"与"用户"的最后一公里。一个训练得再好的模型,如果服务起来又慢又贵,就无法触达真实用户。推理工程关注两件事:延迟(用户要等多久才看到第一个 token)和成本(每服务一百万个 token 要花多少钱)。这两者往往此消彼长——提高吞吐(多塞请求进 batch)会摊薄成本,却可能拉长单请求延迟;

第 17 章 AI 推理

训练只是故事的一半——把训练好的模型低成本、低延迟地服务给亿万用户,才是决定一款 AI 产品能不能活下来的关键工程。本章覆盖量化、高效架构、批处理与服务、端侧推理、扩展与部署这五大主题,是 2024-2026 年 AI 行业最热的战场之一,也是 DeepMind、OpenAI 等公司推理工程师岗位的核心考察内容。

本章简介

AI 推理(AI inference)是连接"模型"与"用户"的最后一公里。一个训练得再好的模型,如果服务起来又慢又贵,就无法触达真实用户。推理工程关注两件事:延迟(用户要等多久才看到第一个 token)和成本(每服务一百万个 token 要花多少钱)。这两者往往此消彼长——提高吞吐(多塞请求进 batch)会摊薄成本,却可能拉长单请求延迟;极致低延迟则要求更多冗余算力。本章会带你走过从单个数值格式(INT4、FP8)到整个服务集群(连续批处理、张量并行、投机解码)的完整技术栈,理解每一层优化如何把"账"算得更划算。推理不是训练的附属品,它本身就是一门深奥的工程艺术。

本章小节

  • 01 量化(Quantisation):用更少的比特存权重和 KV-cache——PTQ、QAT、GPTQ、AWQ、QuIP#、HQQ、AQLM、BitNet、FP8、MX 格式,让 70B 模型塞进单张 GPU。
  • 02 高效架构(Efficient Architectures):从根上减少每 token 要做的运算——StreamingLLM、稀疏/线性注意力、MQA/GQA/MLA、Mamba、Flash Attention、Ring Attention、剪枝。
  • 03 服务与批处理(Serving and Batching):把一张 GPU 的吞吐榨干——prefill vs decode 的拆分、连续批处理、PagedAttention/vLLM、约束生成、请求路由。
  • 04 端侧推理(Edge Inference):在手机、笔记本、IoT 上跑模型——端侧运行时、编译器栈、NPU、端侧 LLM、联邦学习、Cactus 引擎。
  • 05 扩展与部署(Scaling and Deployment):服务上百万用户——张量/流水线/序列并行、投机解码、前缀缓存、KV-cache 驱逐、推理框架、成本优化与监控。

学习路径

  • 前置知识:建议先读第 7 章(大语言模型),理解 transformer 和注意力的基本结构;再读第 16 章(GPU 与 CUDA),理解 Tensor Core、显存层级、roofline 模型与 Flash Attention——本章几乎所有优化都建立在这两章的概念之上。
  • 后续章节:第 18 章(系统设计)会把这些推理优化放到真实面试题和端到端系统设计中考察,比如"设计一个服务千万用户的 LLM 聊天服务"。本章是那里不可或缺的弹药库。

关键概念速览

  • 量化(quantization):把 FP16 权重压成 INT8/INT4,减半再减半显存和带宽,是 LLM 推理最立竿见影的加速手段。
  • KV-cache:自回归生成时缓存历史 token 的 key/value,避免重算;它随序列线性增长,是长上下文推理的显存大头,也是 GQA/MLA/驱逐/分页等优化共同的目标。
  • 连续批处理(continuous batching):按解码步而非整请求来批处理,请求随到随走、随走随补,把 GPU 利用率从个位数拉到 80%+。
  • PagedAttention:把操作系统的虚拟内存分页思想搬到 KV-cache 上,消除碎片化、按需分配,是 vLLM 高吞吐的基石。
  • 投机解码(speculative decoding):小模型快速起草候选 token,大模型一次前向批量验证,无损地拿到 2-3 倍加速。
  • prefill vs decode:推理的两个阶段——前者计算受限(处理整段 prompt),后者访存带宽受限(逐 token 生成);分离式服务让两者各得其所。

发布者: 作者: HenryNdubuaku 转发
评论区 (0)
U