@smolix: Here's part 1 (of 5) of my short course on efficient LLM inference that I taught at Columbia University. Slides are hea…
摘要
Part 1 of a 5-part short course on efficient LLM inference taught at Columbia University. Covers hardware bottlenecks, GPU memory bandwidth limits, and techniques like model compression and KV cache optimization to reduce inference cost.
查看缓存全文
缓存时间: 2026/07/02 20:26
Here’s part 1 (of 5) of my short course on efficient LLM inference that I taught at Columbia University. Slides are heavily updated from two weeks ago.
https://t.co/WVCf7mUdkY
TL;DR: 高效 LLM 推理的核心瓶颈在于内存带宽与计算能力的不匹配。本讲从硬件架构出发,分析了 GPU 如何限制推理速度,并介绍了通过模型压缩、KV 缓存优化等手段降低成本的思路。
讲座概述
大家好,我是 Alex,这是我在哥伦比亚大学机器学习暑期学校录制的讲座(约一周前)。总共五讲,第一讲概述 LLM 推理的工作原理和参数,后续深入硬件、服务部署、模型压缩以及 KV 缓存压缩。我们不讨论训练或架构设计,只聚焦于如何让已训练好的模型运行得更快。
为什么推理是内存问题
GPU 的物理限制:以 Blackwell Ultra 为例
目前最强的消费级 GPU 之一是英伟达 Blackwell Ultra。它实际上由两个芯片粘合而成(因为单芯片太大,受“掩膜版尺寸”限制)。两个芯片通过 18 个 NVLink 互连,每个 NVLink 速度 100 GB/s,与 NVSwitch 通信。HPM 控制器连接高带宽内存(HBM3E 标准),CPU 互连(如 Grace Hopper)比 PCIe 快得多。
关键数字:B200 的 FP8 计算能力为 4.5 petaflops(FP16 减半,FP4 翻倍可达 9 petaflops)。主内存带宽 8 TB/s。两者相除:4500 petaflops ÷ 8 TB/s ≈ 每字节需执行约 500 次浮点运算才能喂饱处理器。这意味着数据搬移是瓶颈。
- 生成(解码):内存带宽是关键。
- 预填充(输入提示词):计算能力是关键。
在线推理中,小批次、快周转的需求进一步放大内存瓶颈。课程核心:避免数据在硬件间不必要的移动。
学习目标
- 根据模型形状计算 KV 缓存每 token 字节数。
- 区分预填充和解码的计算成本。
- 估计解码吞吐量如何受带宽影响(允许 10-30% 误差)。
运行示例:Quinn 38B 模型。最终讨论如何让它在百万 token 上下文中工作(对于 8B 参数模型稍大,但作为示例)。
如何让 LLM 推理更便宜、更快
核心思想:在不改变模型答案的前提下,把大的比特流变成小的比特流。
- 不关心提示词优化或响应处理。
- 只关心提高吞吐量(每秒 token 数)。
- 其他技术如 RAG、提示工程、扩散模型等是另一门课。
成本下降趋势
以 GPT-3.5 级别模型为例,每百万 token 成本已大幅下降。预计 2026 年可低至 1 美分。可能来源:
- 硬件改进:英伟达等提供更好架构,每美元操作数更便宜(约 2-4 倍)。
- 训练后优化:同架构下通过更好训练提升性能(约 2 倍)。
- 架构设计改进:推测解码、压缩、混合专家、混合块注意力、原生稀疏注意力等(约 2 倍)。
三者复合可得每年 8-10 倍改进,更强大的模型也沿相似轨迹发展。
本讲内容总览
- 硬件:HBM、Tensor Core、数值格式(如 NVFP4 需特定 GPU)、本地服务生态系统。
- 服务:VLM 与 SGLang 对比(不深入党派之争),缓存、KV 缓存感知调度,模型与硬件适配。
- 模型侧:权重压缩、KV 缓存压缩(MLA、稀疏、Turbo Quant 等)。
- 新架构(简要提及)。
跳过内容
- 训练效率、音频/实时流媒体、视频大 token 流、多节点分布式、多 LoRA 适配器服务。这些各有专门教程。
Transformer 架构回顾
来自《Attention is All You Need》论文的经典图,九年后仍然基本适用。以 Quinn 8B 为例:实际层数为 36(不是 32)。流程:token 输入 → 分词器 → token 嵌入(ID 转向量)→ Transformer 层(注意力 + 前馈 + 归一化)→ 输出。
相似文章
@AndrewYNg:全新课程:高效部署 LLM——如何以低延迟、合理成本为大量并发用户提供模型服务…
Andrew Ng 与 DeepLearning.AI 联合 Red Hat 推出了一门关于使用 vLLM 进行高效 LLM 推理的短期课程,内容涵盖量化、PagedAttention、连续批处理以及大规模 LLM 服务的性能基准测试。
@h100envy: 前vLLM核心贡献者用34分钟解释如何将LLM推理成本降低10倍——比$3000的推理优化训练营更有效
一位前vLLM核心贡献者解释了如何通过LMCache将KV缓存卸载到CPU/SSD/远程存储,从而使LLM推理成本降低10倍,这一技术已被彭博等生产环境采用。
大规模LLM推理开放手册(GPU内部机制、KV缓存、批处理、vLLM/SGLang/TensorRT-LLM)[P]
一本正在编写中的开放手册,解释LLM推理内部机制,包括GPU内存层次结构、KV缓存、批处理以及vLLM和TensorRT-LLM等流行推理引擎。
本地LLM推理优化:完整指南
一份关于在消费级硬件上优化本地LLM推理的全面指南,涵盖llama.cpp、vLLM和LM Studio等工具,并提供关于内存层次结构、层放置和常见故障模式的实用建议。
@kazukifujii: 樱花互联网的Michishita-san的文章全面总结了LLM推理,强烈推荐。它涵…
本文总结了Junda Chen关于LLM分解推理的演讲,解释了为什么goodput(满足延迟SLO的吞吐量)比原始吞吐量更重要,以及分离预填充和解码阶段如何提升性能。文章还强调了其对NVIDIA Dynamo的影响。