Skip to content

大模型推理原理

什么是大语言模型推理

大语言模型(LLM)推理是指给定输入文本(Prompt),模型通过自注意力机制和概率分布预测下一个 token,生成输出文本的过程。

推理流程

┌────────────────────────────────────────────────────────┐
│                    LLM 推理流程                        │
├────────────────────────────────────────────────────────┤
│                                                        │
│   输入文本 ──→ 分词 ──→ 嵌入 + 位置编码 ──→ Transformer │
│       │                                              │
│       │                                              │
│       ◀──────────── 采样策略 ◀─────────────── 输出Token │
│                                                        │
│   输出文本 ◀── 反分词 ◀── 词汇投影 ◀── Transformer     │
│                                                        │
└────────────────────────────────────────────────────────┘

各阶段说明

阶段输入输出说明
分词文本token ID 序列将文本切分为模型可处理的最小单元
嵌入token ID向量将 token 映射为高维向量表示
位置编码向量添加位置信息让模型感知token位置关系
Transformer向量序列隐藏状态核心计算,多层自注意力
词汇投影隐藏状态词汇概率分布预测下一个 token
采样概率分布token ID根据策略选择输出 token
反分词token ID文本将 token 序列还原为文本

核心技术组件

1. 分词器 (Tokenizer)

分词器将文本转换为模型可以处理的 token 序列。

中文分词示例:

输入: "今天天气很好"
输出: [192, 3847, 2093, 3847, 452, 2398]  # 6 个 tokens

英文分词示例:

输入: "hello world"
输出: [15339, 1917]  # 2 个 tokens

2. 自注意力机制 (Self-Attention)

自注意力是 Transformer 的核心,让模型能够"看到"文本中任意位置之间的关联:

Query (查询): "我想去"
Key (键):    "北京天气"
Value (值):  "北京温度信息"

注意力分数 = softmax(Q × K^T / √d)

3. 采样策略

策略说明适用场景
Greedy选择概率最高的 token确定性输出
Temperature通过温度控制随机性创意写作
Top-p从累积概率 p 的集合中采样平衡质量与多样性

温度参数效果:

温度值效果
T < 1.0更确定、更保守
T = 1.0平衡
T > 1.0更随机、更创意

推理效率优化

KV Cache

缓存已计算的 Key 和 Value,避免重复计算:

无 KV Cache: 每次生成都重新计算所有历史 token
有 KV Cache: 只需计算新 token 的 KV,复用历史

批处理 (Batching)

同时处理多个请求,提高 GPU 利用率:

单请求: [用户1的输入]
批处理: [用户1, 用户2, 用户3, ...] 的输入

量化 (Quantization)

使用低精度(如 INT8)减少内存占用:

精度内存占用质量损失
FP32100%
FP1650%极小
INT825%可接受
INT412.5%取决于任务

平台优化策略

ai.TokenHub 通过以下方式提供高效推理:

  • 智能路由: 自动选择最优模型和节点
  • 分布式推理: 大请求多节点协作
  • 缓存复用: 相同请求返回缓存结果
  • 流量调度: 削峰填谷平衡负载