第5章:温度、幻觉与对齐

本章解决的核心问题:大模型为什么有时候言之凿凿,有时候胡说八道?「温度」这个参数到底是调什么的?「幻觉」是什么,为什么消除不了?AI 公司怎么「调教」模型让它听话?读完这一章,你不再对模型的随机行为感到困惑——你知道它在做什么,以及为什么。


5.1 温度:控制模型的「创造力-保守」旋钮

5.1.1 从概率到选择

回到第2章讲的那个过程:Transformer 在每一步输出时,不会直接说「下一个 token 是 X」,而是给每个可能的 token 打一个分数(logit),然后通过 Softmax 函数把这些分数转化成概率分布

下一个 token 的概率分布(温度 = 1.0):

"好"  → 47%
"热"  → 23%
"不"  → 12%
"冷"  → 6%
"的"  → 5%
...   → 剩余 7%

有了概率分布之后,模型需要做一个选择:到底输出哪个 token?

最简单的选择是「选概率最高的」——这叫贪心解码(Greedy Decoding)。每次都选概率最高的,结果最确定、最保守。但也最无聊——同样的问题每次回答都一样。

温度(Temperature) 是 Softmax 函数里一个关键的参数,它控制概率分布的「尖锐程度」。

5.1.2 温度怎么调概率

温度 T 的值通常从 0 到 2 之间:

温度 Softmax 效果 概率分布 输出风格
T → 0 概率完全集中在最高分的 token 99.9% + 0.1% + ... 总是选最安全的答案,照本宣科
T = 1.0 默认——概率保持原样 47%, 23%, 12%, ... 平衡——有一定多样性
T → 2.0 概率变得更均匀 28%, 22%, 18%, ... 高随机性——脑洞大开,意想不到
flowchart LR
    subgraph T0["T → 0(冰冷)"]
        A1[████████░░]
        A2[█░░░░░░░░░]
        A3[░░░░░░░░░░]
    end
    subgraph T1["T = 1(适中)"]
        B1[████░░░░░░]
        B2[███░░░░░░░]
        B3[█░░░░░░░░░]
    end
    subgraph T2["T → 2(高温)"]
        C1[███░░░░░░░]
        C2[██░░░░░░░░]
        C3[██░░░░░░░░]
    end

直觉:温度就是创造力的旋钮。温度低 → 保守、重复、但准确。温度高 → 有创意、出人意料、但也可能胡说八道。

5.1.3 不同场景下的温度选择

场景 推荐温度 原因
数学题、代码 0 ~ 0.3 需要精确、确定性
事实性问答 0.3 ~ 0.7 需要准确但不僵硬
文案、创意写作 0.7 ~ 1.2 需要多样性和创意
诗歌、脑暴 1.2 ~ 1.5 追求出乎意料

5.1.4 Top-p(核采样)和 Top-k

温度不是唯一的采样参数。实际使用中,大多数 API 还提供了:

flowchart TB
    subgraph topk["Top-k = 4"]
        T1["好 (47%)"] 
        T2["热 (23%)"]
        T3["不 (12%)"]
        T4["冷 (6%)"]
        T5["的 (5%) ❌ 砍掉"]
    end
    subgraph topp["Top-p = 0.9"]
        P1["好 (47%) ✓ 累计 47%"]
        P2["热 (23%) ✓ 累计 70%"]
        P3["不 (12%) ✓ 累计 82%"]
        P4["冷 (6%) ✓ 累计 88%"]
        P5["的 (5%) ✓ 累计 93% > 0.9 砍掉后面"]
    end

大多数模型 API 建议调 top-p 而不是温度,因为 top-p 比温度更灵活——它根据实际概率分布动态调整,而不是一刀切地压平或削尖整个分布。不过两个参数可以一起用。


5.2 幻觉:模型怎么「说谎」

5.2.1 什么是幻觉

幻觉(Hallucination) 是 AI 界对「模型输出看起来合理但其实不真实的内容」这一现象的专业称呼。

典型的表现:

5.2.2 幻觉的根本原因

核心原因一:大模型不是事实数据库

模型做的是概率预测,不是事实检索。它的内部没有「这个是不是真的」的校验机制。对于一个训练数据里出现频率高的组合(如「北京是中国的首都」),模型给极高概率——这就令人觉得它在「知道事实」。但对于罕见或不存在的事实,模型仍然会给出一个「概率上最合理的答案」——而这个「最合理」可能恰好是错的。

核心原因二:下一个词预测 ≠ 求真

训练目标不是「说出真相」,而是「预测训练数据里会怎么接」。如果训练数据里有大量不准确的内容(互联网上的错误信息),模型就会学到那些不准确的模式。

核心原因三:知识的压缩是有损的

第2章讲过,模型的参数不是知识库,而是压缩后的统计规律。用几千亿个参数去编码人类有史以来所有的文本知识(数万亿 token),这个压缩比可能高达 100:1 以上。有损压缩意味着一些细节一定会丢失或扭曲。

类比:就像你记住了一本书的主要内容,但几年后复述时会不自觉地补充了一些自己觉得「应该是这样」的细节——但这些细节在原书里并不存在。

核心原因四:暴露偏差(Exposure Bias)

训练时,模型每一步看到的都是真实的前文(老师喂的标准答案)。推理时,模型每一步看到的都是自己之前生成的 token。一旦某一步生成了一个不太对的 token,它就会被这个错误带偏,后面一错再错——这叫错误累积

5.2.3 几种典型的幻觉模式

类型 例子 原因
事实性幻觉 「诺贝尔奖得主张三说...」— 这个人和这话都不存在 概率驱动的拼凑
忠实性幻觉 让它总结一篇关于经济衰退的文字,它总结出了「经济将增长」 未能准确捕捉源内容
省略性幻觉 让它列出全部五个原因,它只列了三个 生成时漏掉
时序性幻觉 问它「今天天气」,它给了昨天气象数据 训练截止日期之前的数据;不知道「现在」
自我一致性幻觉 前一句说自己 30 岁,后一句说「我生于 1970 年」 没有全局一致性检验机制

5.2.4 幻觉可以消除吗

2024-2025 年的共识是:不能完全消除,但可以大幅降低。

目前对抗幻觉的主要手段:

方法 做法 效果
RAG(检索增强生成) 先搜索真实资料,再让模型基于资料回答 效果显著,是目前最实用的方法
RLHF 对齐 训练时奖励「诚实」回答,惩罚幻觉 有帮助,但不完美
推理模型(o1、DeepSeek-R1) 让模型在输出前做多步推理和自检 幻觉率显著降低
约束解码 强制输出符合特定格式(如 JSON、代码) 消除结构层面的幻觉
引用溯源 要求模型为每个事实提供来源 便于人工校验

5.3 对齐:把「聪明的野兽」关进笼子

5.3.1 什么是对齐问题

一个未经对齐的大语言模型会是什么样?OpenAI 和 Anthropic 的研究人员发现了一件可怕的事:

如果你训练一个「预测下一个词」的模型并直接把它放出来,它会是一个完全不加过滤的文本生成器。你可以让它写病毒代码、写怎么制造炸弹、写儿童不宜的内容、写侮辱性的回复——因为它被训练的终极目标只是「让输出像训练数据」,而训练数据(互联网)里什么都有。

对齐(Alignment) 的目标是:让模型的行为符合人类的价值观和意图。

这不是一个单纯的技术问题——它还涉及「谁的价值观?」「哪些文化偏好?」「怎么平衡表达自由和安全?」等伦理和社会问题。我们这里聚焦在技术层面。

5.3.2 RLHF:当前对齐的核心技术

RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习) 是 ChatGPT 成功的关键技术之一。OpenAI 在 2022 年的 InstructGPT 论文中详细描述了这一方法。

RLHF 分三步:

flowchart TB
    subgraph step1[第一步:监督微调 SFT]
        A1[收集高质量的人类
问答示例] --> A2[用这些示例微调
基础模型] A2 --> A3[得到 SFT 模型] end subgraph step2[第二步:训练奖励模型 RM] B1[用 SFT 模型对同一
prompt 生成多个回答] --> B2[人类标注员给这些
回答排序打分] B2 --> B3[训练一个奖励模型
学会预测人类评分] end subgraph step3[第三步:PPO 强化学习] C1[用奖励模型作为
「裁判」] --> C2[通过强化学习
进一步微调 SFT 模型] C2 --> C3[最大化奖励模型
给出的分数] end step1 --> step2 --> step3

第一步:监督微调(SFT)

从基础模型出发,用一批高质量的人工标注的问答对来微调模型。这一步让模型学会「人类期望的对话格式和风格」——回答问题而不是续写文本,保持礼貌,承认不知道而不是乱编。

第二步:训练奖励模型(RM)

让 SFT 模型对同一个 prompt 生成多个不同回答(通过调高温度等手段让每次结果不同)。人类标注员给这些回答排序(A 比 B 好,B 比 C 好……),而不是打分——因为打分主观性太强,排序更可靠。

用这些排序数据训练一个奖励模型(Reward Model):给定一个 prompt 和回答,奖励模型输出一个分数,代表「人类会觉得这个回答有多好」。

第三步:PPO 强化学习

用奖励模型作为「评分裁判」,通过 PPO(Proximal Policy Optimization) 算法进一步微调模型。每次模型生成一个回答,奖励模型给它打分;高分强化、低分削弱。

同时还会加一个 KL 惩罚——防止模型为了拿高分而偏离基础模型太远(否则模型可能会学会钻奖励模型的空子,生成一些人类评分高但实际无意义的「讨好评委」式回答)。

5.3.3 对齐技术的演进

RLHF 虽然是 ChatGPT 出圈的头号功臣,但它也有明显的缺点:需要大量的人工标注、标注员的主观性引入偏见、奖励模型可能被「钻空子」。

2023-2024 年出现了多个替代或补充方案:

方法 代表 核心思想
RLHF ChatGPT, Claude 人类标注 → 奖励模型 → 强化学习
DPO(直接偏好优化) 多个开源模型 跳过奖励模型,直接从人类偏好数据中优化——更简单、更稳定
RLAIF(AI 反馈强化学习) Claude 2 用另一个 AI 代替人类做标注和评分——可扩展性强
Constitutional AI Claude 用一套「宪法」(行为准则)来指导 AI 自我批评和自我改进
推理时对齐 o1, DeepSeek-R1 通过推理链让模型在做决定前「想一想」是否符合规范和逻辑

5.3.4 对齐的困境

对齐不是已经解决的问题。存在几个深刻的技术和哲学困境:

1. 过度对齐导致「奴性」

对齐太强,模型可能变得只会讨好、不敢说不。一个极端例子:即使你问「一加一等于三,对吧?」它也回答「是的您说得对」——因为它被对齐得太「乖」了,不敢纠正用户的错误。

2. 对齐税

对齐操作通常会导致模型在标准基准测试上的性能下降——这叫「对齐税」。因为一部分模型容量被用来学习「怎么礼貌」和「怎么避免有害输出」,而不是「怎么正确地完成任务」。

3. 价值观的不可通约

不同文化、不同群体对「什么是对的回答」有根本分歧。一个关于历史的提问,不同国家的人可能有完全不同的期望——模型应该对齐谁的价值观?


5.4 偏见:从数据里继承过来的问题

AI 模型没有自己的「意见」和「态度」——它的偏见来自训练数据。

AI 公司正在积极努力减少这些偏见,但这是一个持续的挑战——因为偏见不是被编码在单独的模块里可以被「删除」,而是深深地编织在整个模型的统计参数之中。


本章小结

要点 一句话
温度 控制概率分布的「尖锐度」——低温保守,高温放飞
Top-p 从概率最高的 token 开始累积,只考虑累计概率超过阈值的那一部分——比单纯调温度更灵活
幻觉 模型输出的内容「听着合理但是假的」——根因是预测驱动而非事实驱动
为什么有幻觉 训练目标是预测下一个词,不是求真;知识是有损压缩的
RLHF 用人类排序数据训练奖励模型,再用强化学习微调——ChatGPT 成功的幕后功臣
对齐的困境 过度讨好、价值观分歧、对齐税——远未解决
偏见 从训练数据中继承而来——是统计现象,不是「态度」

下一章预告

我们已经理解了模型内部是怎么工作的,也知道了它的「毛病」是怎么来的。接下来是最实用的一章:你怎么用好它?

Prompt 不是魔法咒语——它有逻辑、有结构、有方法论。思维链是什么?Few-shot 怎么用?System Prompt 和 User Prompt 有什么区别?怎么让模型输出 JSON?

第6章:Prompt


← 上一章 回到目录 下一章 →
第4章:算力 第6章:Prompt