初始大模型推理
约 938 字大约 3 分钟
2026-08-27
为什么需要 Infra
指标
准确性(避免幻觉、不合理的回答)
TTFT, Time to first tokenITL, Inter token latencyRequest latency, 端到端总时长
Throughput, 每秒生成的 token 数量
硬件需求
显存
模型权重
KV Cache
优化
模型侧
- 模型大小和成本(量化、稀疏化)
推理侧
- 吞吐量和效率(批处理、前缀缓存、
PagedAttention)
- 吞吐量和效率(批处理、前缀缓存、
Tradeoff
不可能三角:
性能,延迟至关重要,高吞吐量意味着更多的计算资源
准确性,模型越大花销越高
成本
推理和内存基础
LLM 交互架构
自顶向下 ↓
ModelInference ServerHardware
LLM 生成方式
逐 token 追加(自回归):
x1x2…xt→x1x2…xtxt+1
P(x1:T)=t=1∏TP(xt∣x<t)
QKV
Q - 我需要什么
K - 我有什么
V - 我的实际
Q×K=关联性
Attention(Q,K,V)=softmax(dkQK⊤)×V
KV Cache
每个 token 内存占用:
Memory per token=2×num_layers×num_KV×head_dim×dtype_bytes
GPU 显存结构
金字塔型(自上而下容量递增、速度递减):
GPU SRAM(就在 tensor core 旁边)
权重和
KV Cache的小 chunk中间结果
HBM(GPU/VRAM)
- 模型权重、
KV Cache
- 模型权重、
CPU DRAM
优化基础
挑战
Infra
GPU 开销
分布式计算、部署
用户体验
延迟
吞吐量
上下文大小
能源
模型压缩
量化:
BF16→FP8、INT8、INT4BF= brain floating-point:BF16的动态范围比FP16更宽,更适合 LLM作用于权重和激活值
稀疏化:比如每四个值有两个置零
量化在哪
模型由 Transformer 块组成,每个 Transformer 块有几个线性层。量化有针对线性层,包括自注意力和前馈网络。
Input activation 指的是在每一个线性层都会被其权重乘的张量。
量化就作用在权重和激活值上。
量化权重 → 数据传输低延迟
- 减少 HBM 到 SRAM 的数据量
量化权重 → tensor core 更高吞吐
- 更快的计算
权重、激活值量化可以灵活选择。
量化技术
朴素量化
Calibrated techniques
- GPTQ, AWQ, SmoothQuant(搞清楚哪些值重要并尽量保留)
量化算法
Round-to-nearest - Weights & Activations
- 基准测试优秀,但并非最适合生产
AWQ, GPTQ - Weights only
AWQ - 观察激活幅度,确定激活值权重
GPTQ - 补偿被优化的权重,减少输出精确度的损失,需要更多计算成本
Sparse-GPT - Sparsity
SmoothQuant, SpinQuant & QuIP - Transforms and smoothing
推理基础
目标:最大化吞吐量 ∧ 最小化延迟
批处理
解决 tensor core 空等问题
静态批处理:对固定输入长度的模型简单
连续批处理:LLM 每个输入完成时间相差极大,需动态添加批次
KV Cache 管理
至关重要,以解决内存墙
难题:动态大小和未知长度
需解决内部碎片和外部碎片,以及闲置内存
PagedAttention
将 KV Cache 切分成许多小块,即页(pages)。
前缀缓存
当多个请求共享前缀,就共享 KV Cache 的块。缓存命中率提高,吞吐量也随之提高。
测试评估
与业务息息相关。
比如电商聊天机器人,响应速度是关键(TTFT、ITL);RAG 则相反,对准确性要求高。
使用 guidellm 进行压测。
测试场景
预部署:对于硬件能力需要预估
成本和容量:对于硬件数量的预估
回归和 AB 实验:对于每次变更(比如量化)做比较
硬件评估:尝试达到极限
影响因素
模型架构、大小
量化
推理引擎
硬件
批处理和并发策略
