📖 什么是推理(Inference)?
Inference(推理)是指使用已训练好的AI模型进行预测或生成的过程。这是模型「上岗工作」的阶段。
简单说:训练 = 学习知识,推理 = 应用知识。当你在ChatGPT输入问题,它生成回答时,就是在进行推理。
💡 一句话理解
🎯 比喻
AI的「考试时间」
训练是考前复习(看大量课本、做练习题);推理是正式考试(面对新题目,运用所学知识作答)。考试时不能再翻书,只能靠之前学到的「能力」。
🆚 训练 vs 推理
📚 训练(Training)
🎯 目标:学习知识
⚡ 计算:极其密集
⏱️ 时间:数周到数月
💰 成本:百万美元级
🔧 GPU:需要数千张
📊 数据:万亿token
⚡ 推理(Inference)
🎯 目标:应用知识
⚡ 计算:相对轻量
⏱️ 时间:毫秒到秒级
💰 成本:按token计费
🔧 GPU:单卡或多卡
📊 数据:用户输入
⚙️ 推理过程详解
LLM推理的核心过程是自回归生成:
用户输入: "今天天气"
↓
模型预测下一个token: "很"
↓
当前序列: "今天天气很"
↓
模型预测下一个token: "好"
↓
最终输出: "今天天气很好"
每生成一个token,模型都要:
📝
1. 编码输入
文本 → token IDs
🔄
2. 前向传播
通过神经网络
📊
3. 计算概率
得到词表分布
🎲
4. 采样选择
选择下一个token
💻 代码示例:使用OpenAI API进行推理
import openai
# 推理请求
response = openai.chat.completions.create(
model="gpt-4", # 使用已训练好的模型
messages=[
{"role": "user", "content": "什么是量子计算?"}
],
temperature=0.7, # 控制推理的随机性
max_tokens=500 # 限制推理输出长度
)
print(response.choices[0].message.content)
🚀 推理优化技术
🗜️
量化(Quantization)
FP16→INT8/INT4
📦
KV Cache
缓存中间结果
🎯
投机解码
小模型猜测大模型验证
✂️
剪枝(Pruning)
移除不重要的权重
🔗 相关术语
LLM(大语言模型) · 量化(Quantization) · Token(词元) · Temperature(温度) · KV Cache(键值缓存) · 投机解码 · Context Window(上下文窗口)