推理
Inference
推理(Inference)是指使用训练好的模型对输入数据产生预测或输出的过程,是大模型「学以致用」的关键阶段。
详细解释
推理(Inference)对应模型生命周期的「应用阶段」。与训练(Training)相比,推理的成本结构、延迟要求、吞吐量目标都截然不同:
- 训练:算一次梯度更新,要前向 + 反向传播 + 优化器步进,成本高、离线。
- 推理:只算一次前向传播,要求低延迟、高并发。
推理的三大优化方向
| 方向 | 技术 | 收益 |
|---|---|---|
| 延迟(Latency) | KV Cache、Speculative Decoding、Continuous Batching | 端到端响应快 |
| 吞吐量(Throughput) | Dynamic Batching、PageAttention、Tensor Parallel | 单位时间服务更多请求 |
| 显存(VRAM) | 量化(INT8/INT4)、PagedAttention、模型并行 | 同样硬件跑更大模型 |
推理模式
| 模式 | 适用场景 | 唯元智创支持 |
|---|---|---|
| 同步调用 | 单条问答 | ✅ |
| 流式输出(SSE) | 长文本生成、聊天 | ✅ |
| 异步批量 | 离线数据处理 | ✅ |
| Function Calling | 工具调用、Agent | ✅ |
| 多模态 | 图像理解、语音 | ✅ |
实战:推理请求的延迟优化
# 1. 流式输出:首 token 延迟
stream = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[...],
stream=True
)
for chunk in stream:
print(chunk.choices[0].delta.content, end="")
# 2. 关闭不必要的参数
# max_tokens=512 # 限制最大生成长度
# temperature=0.1 # 降低随机性,生成更快
# presence_penalty=0 # 减少额外计算
常见问题
推理为什么慢?
LLM 推理是自回归的——生成 1000 个 token 需要跑 1000 次前向传播。优化方法:KV Cache、量化、Speculative Decoding、模型蒸馏。
唯元智创的首 token 延迟是多少?
P99 < 300ms(DeepSeek-V4-Pro),P99 < 500ms(GLM-5.2),长文本场景下用户几乎无感知等待。