模型基础04:大模型工作方式

从 Token 化、上下文窗口、采样参数到指令遵循,理解大模型是如何处理输入并生成输出的。

字数 2105 阅读时长 ≈ 7 分钟 2026-7-20 2026-7-27
模型基础04:大模型工作方式

大模型的工作方式和传统软件完全不同,它不是执行代码,而是根据上下文预测下一个 token。理解这个过程,才能更好地使用和调试大模型。

Token:大模型的基本单位

大模型处理的不是单词或字符,而是 token。理解 token 是理解模型工作方式的第一步。

什么是 Token

Token 是文本的基本单位,介于字符和单词之间:

  • 字符:最小单位,如 ‘a’、‘中’
  • Token:语义单位,如 ‘apple’、‘un’、‘##able’(## 表示词尾)
  • 单词:完整意义单位,如 ‘unable’

Token 化过程

模型在处理文本前,会先进行 token 化:

  1. 分词:将文本拆分为 token
  2. 编码:将每个 token 转换为数字 ID
  3. 嵌入:将数字 ID 转换为向量

示例

输入:"Hello, how are you?"
Token化:["Hello", ",", "how", "are", "you", "?"]
编码:[15496, 11, 1299, 389, 345, 30]

Token 数量估算

语言1000 tokens ≈备注
英文750 个单词约 1.3 tokens/单词
中文500 个汉字约 2 tokens/汉字
代码500-700 行视代码复杂度

Token 成本

API 按 token 计费,需要关注成本:

操作计费方式说明
输入按输入 token 数计费Prompt + 上下文
输出按输出 token 数计费生成的文本
总费用输入费用 + 输出费用两者都计费

上下文窗口:模型的记忆范围

上下文窗口是模型能处理的最大 token 数量,决定了模型的记忆范围。

上下文窗口的限制

不同模型的上下文窗口不同:

模型上下文窗口适用场景
GPT-32048 tokens (~1500 单词)短对话、简单任务
GPT-3.5-turbo4096/16384 tokens中等长度任务
GPT-48192/32768 tokens长文档理解
LLaMA-2-7B4096/8192/32768 tokens可配置
Claude 3 Opus200K tokens超长文档

上下文窗口的影响

超出窗口的处理

  • 截断:超出部分被丢弃(大多数 API 默认)
  • 滑动窗口:只保留最近的内容
  • 摘要压缩:对旧内容进行摘要

上下文长度与性能

  • 更长的上下文 → 更好的理解能力
  • 更长的上下文 → 更高的成本
  • 更长的上下文 → 更慢的响应

上下文管理策略

策略适用场景优缺点
完整上下文短对话简单,但受窗口限制
滑动窗口长对话保持最近信息,丢失历史
摘要压缩长文档保留关键信息,可能丢失细节
RAG(检索增强)需要外部知识扩展知识范围,增加复杂度
分层上下文复杂任务结构化管理,需要设计

采样参数:控制生成行为

采样参数决定了模型生成文本的风格和多样性,是控制模型输出的关键。

Temperature(温度)

控制输出的随机性:

效果适用场景
0确定性输出,每次相同精确任务、代码生成
0.3低随机性,稳定可靠事实性问答
0.7中等随机性,平衡多样与稳定大多数场景
1.0高随机性,创造性强创意写作、头脑风暴
1.5+极高随机性,可能混乱特殊创意任务

Top-p(核采样)

控制候选 token 的范围:

效果适用场景
0.1只考虑概率最高的 10%精确任务
0.5考虑概率最高的 50%平衡多样与精确
1.0考虑所有 token最大多样性

Top-k

控制候选 token 的数量:

效果适用场景
1只选概率最高的 token完全确定
10从概率最高的 10 个中选平衡
100从概率最高的 100 个中选高多样性
-1不限制最大多样性

常见采样策略组合

场景TemperatureTop-pTop-k说明
代码生成0-0.20.95-1精确、可执行
事实问答0.3-0.50.9-1稳定、可靠
普通对话0.70.9-1自然、多样
创意写作0.8-1.00.95-1创造性
角色扮演0.9-1.20.95-1生动、有趣

指令遵循:让模型做正确的事

指令遵循是大模型理解并执行用户指令的能力,是 Prompt 工程的核心。

指令遵循的层次

层次描述示例
字面理解直接执行指令”写一段介绍 AI 的文字”
隐含意图理解潜在需求”帮我看看这段代码有什么问题”
多步推理需要拆解任务”分析这个业务需求并给出技术方案”
工具使用需要调用外部工具”查一下明天的天气”

提高指令遵循的方法

明确任务定义

角色:你是一名资深软件架构师
目标:分析以下业务需求,给出技术方案
输入:业务需求文档
输出:技术方案文档(包含架构图、技术选型、风险评估)
约束:使用 Java 技术栈,考虑高并发场景

提供示例

示例输入:用户登录需求
示例输出:技术方案...

设定验收标准

验收标准:
1. 方案包含至少 3 种技术选型对比
2. 风险评估包含至少 5 个风险点
3. 架构图使用 Mermaid 格式

指令遵循的挑战

挑战原因解决方案
指令模糊用户描述不清晰追问澄清,定义模板
目标漂移模型偏离任务目标明确约束,定期提醒
步骤遗漏复杂任务遗漏步骤提供步骤清单
格式错误输出格式不符合要求提供格式示例

预训练与微调:模型的学习过程

大模型的能力来自预训练和微调两个阶段。

预训练

预训练是模型学习通用知识的过程:

  1. 数据收集:收集大规模文本数据(书籍、网页、代码等)
  2. 目标设定:预测下一个 token(自监督学习)
  3. 训练过程:反复迭代,调整模型参数
  4. 结果:模型学会语言理解、知识储备和推理能力

预训练的特点

  • 数据量大(万亿级 token)
  • 训练时间长(数周甚至数月)
  • 成本高(百万甚至千万美元)
  • 能力通用(但不一定精准)

微调

微调是让模型适应特定任务的过程:

  1. 数据准备:收集特定任务的标注数据
  2. 目标设定:根据任务类型设定目标(分类、生成等)
  3. 训练过程:在预训练模型基础上继续训练
  4. 结果:模型在特定任务上表现更好

微调的方式

方式数据需求效果适用场景
全量微调大量标注数据效果最好有充足数据
LoRA少量标注数据效果较好数据有限
指令微调指令-响应对提升指令遵循通用任务
RLHF人类反馈数据对齐人类偏好用户体验

推理时微调(In-Context Learning)

不需要训练,通过在上下文中提供示例来指导模型:

Few-shot Learning

示例1:输入→输出
示例2:输入→输出
当前输入:...

Zero-shot Learning

直接给出指令,不需要示例

Chain-of-Thought

让模型一步步推理,展示中间过程

模型能力的边界

理解模型的能力边界,才能正确使用模型。

模型能做什么

能力描述示例
语言理解理解文本含义阅读理解、情感分析
文本生成生成自然语言写文章、对话
知识问答回答事实性问题”地球有多大”
推理能力逻辑推理数学题、推理题
代码生成编写代码实现功能、修复 bug
多模态处理图像、语音看图说话、语音转文字

模型不能做什么

限制原因示例
实时信息训练数据截止到某个时间”今天的新闻”
精确计算数学计算可能出错”12345 × 6789”
因果推理可能混淆相关性和因果性”吸烟导致肺癌”
隐私保护可能泄露训练数据中的隐私信息”某人的邮箱”
长期记忆上下文窗口有限”记住昨天的对话”
价值判断没有价值观,可能产生偏见”什么是好的”

模型错误的类型

错误类型描述示例
幻觉编造事实”地球是平的”
遗漏遗漏重要信息回答不完整
错误推理逻辑错误”2+2=5”
偏见产生歧视性内容”女性不适合编程”
前后矛盾同一回答中自相矛盾先说 A 再说非 A

项目判断清单

  • 需要精确输出(代码、公式)→ 降低 Temperature(0-0.2)
  • 需要创意输出(写作、方案)→ 提高 Temperature(0.8-1.0)
  • 文本超出上下文窗口 → 分块处理或用 RAG
  • 模型输出不稳定 → 调整采样参数或提供示例
  • 需要特定领域知识 → 微调或提供上下文
  • 需要实时信息 → 结合搜索或 API
  • 需要精确计算 → 调用计算器 API