@pallavishekhar_: https://x.com/pallavishekhar_/status/2058460434035060758
摘要
解释大型语言模型实际所做的工作(下一个Token预测),以及为什么即使出错时它们听起来也很有信心。提供了一种心智模型和验证检查清单,用于安全使用LLM。
查看缓存全文
缓存时间: 2026/05/24 10:26
构建大型语言模型的人知道而其他人不知道的事
在这篇文章中,我们将探讨构建大型语言模型的人所理解、而大多数其他人却不知道的一个核心概念。这是一个简单的想法,一旦我们看清楚了,就再也不会以同样的方式使用这些工具了。
我们将涵盖以下内容:
- 一个自信的错误
- 语言模型实际上在做什么
- 为什么下一个词预测如此强大
- 问题所在:听起来正确不等于正确
- 最致命的地方
- 哪些地方可以真正放心信任
- 任何人都能使用的验证清单
- 一个便于记忆的心理模型
让我们开始吧。
一个自信的错误
我们先来说说几乎所有用过这些工具的人都遇到过的事。
假设我们问聊天机器人一本关于某个话题的好书。它给出了书名、作者、出版社和年份。一切看起来都很合理。这位作者是真实存在的人,确实写那个领域的东西。书名听起来完全像是那个人会写的书。我们去买这本书,结果发现它根本不存在。这本书从未被写过。
模型并没有对我们撒谎。撒谎需要意图。它做了一件更奇怪的事:它生成了一个看起来最合理的书名,而看起来合理的书并不总是真实存在的书。
同样的情况也出现在数字上。我们问一个稍微有点难度的乘法题,得到的往往是一个清晰、自信但错误的结果,而且数值大小还差不多。我们要求提供一篇支持某个说法的研究论文,可能会得到一个完美的引用,格式正确,有作者和期刊名,但实际上指向虚无。
每个案例中,答案都是错的。但请注意关键部分:答案错得很像正确的样子。而且工具听起来和它正确时一样自信满满。
这正是这篇博客要讨论的全部内容。构建这些模型的人知道为什么会发生这种情况。一旦我们理解了这一点,就不会再感到惊讶,并且会开始按照这些工具应有的方式来使用它们。
语言模型实际上在做什么
让我们真正理解内部发生了什么。
首先,我们来拆解名称本身。大型语言模型 = 大型 + 语言 + 模型。 它很“大“是因为在大量文本上训练,拥有海量内部参数。它处理“语言“是因为它处理我们日常使用的词汇。而它是一个“模型“,因为它是一个从数据中学习模式并利用这些模式进行预测的系统。
一个大型语言模型在极其大量的文本上进行训练:书籍、文章、网站、对话、代码。在训练过程中,它反复玩一个简单的游戏:给定一些文本,预测下一个内容。
文本被分割成称为“词元“(tokens)的小片段。一个词元大致相当于一个单词或单词的一部分。模型读取已有的词元,并预测下一个词元,然后下一个,再下一个。这就是它如何逐段写出完整答案的方式。
如果这听起来像我们手机上的自动补全功能,这个起点是对的。但我们不能止步于此,因为规模上的差异改变了一切。手机的自动补全见过我们的消息,而这个模型几乎读完了人类写过的所有东西。为了在所有文本中很好地预测下一个词,它必须学习语法、事实、推理步骤、论证结构、法律合同的风格以及十几种编程语言的语法。
所以,下一个词预测并非雕虫小技。它是引擎。这些模型所有令人印象深刻的表现都来自于将这一件事做得异常出色。
为什么下一个词预测如此强大
让我们给予它应有的认可,因为这确实了不起。
为了预测一个物理句子的下一个词,模型必须对物理学如何运作有一定的理解。为了完成一段代码中的函数,它必须跟踪该代码在做什么。为了继续一段翻译,它必须同时跨越两种语言保持语义。在如此规模下很好地进行文本预测,迫使模型吸收了关于世界的大量结构信息。
这就是为什么这些工具在状态好的时候感觉像魔法。我们可以把一个混乱的段落交给它,拿回一个整洁的版本。我们可以描述一个bug,得到修复方案。我们可以要求它向一个十岁孩子解释一个困难的概念,它也能做到。我们可以粘贴一份长文档,几秒钟内得到一份像样的摘要。这些都不是伪造的。所有这些都来自同一个下一个词预测引擎,而且它可能是我们大多数人将接触到的最有用的技术之一。
所以,这篇文章并不是反对这些工具。我们使用它们,它们值得使用。关键在于睁大眼睛使用它们。
问题所在:听起来正确不等于正确
现在,我们来谈一个改变我们使用这些工具方式的核心思想。
我们必须问这个问题:在所有这些训练过程中,模型到底因为什么而获得奖励?
它因为生成看起来像训练文本的文本而获得奖励。这就是它被优化的目标:合理的文本、自然流畅、听起来可能的文本。
让我们慢慢读这句话,因为里面藏着一个差距。用简单的话说,模型被优化为听起来正确,而不是被优化为真正正确。
大多数时候,这两者是相伴而行的。真实正确的句子在训练数据中很常见,所以正确的文本通常也是最合理的文本。正是这种相关性让模型变得有用。如果听起来正确和真正正确毫无关系,这些工具就一文不值。
但是,这两者并不是一回事。它们在边界处会分离。当一个听起来合理但错误的答案存在时,模型并没有一个独立的警报被触发。它从未被赋予过这种机制。
人们自然认为后续的训练会修正这个问题。这些模型经过进一步训练,变得更加有帮助、礼貌和准确,这一阶段确实有帮助。但它在很大程度上塑造了模型与我们交谈的方式,教会它乐于助人的语气和愿意回答的态度。它并没有在模型内部安装一个独立的验证器,让模型在说话前可以咨询。一个模型可以被训练得更乐于助人,但仍然没有内在的方式来感知它知道什么和它编造什么之间的区别。
这正是大多数人忽略的部分。模型内部没有第二个声音问:“等等,我真的知道这个吗?” 当它回忆一个在训练中出现了百万次的著名事实时,和当它编造一个从未见过的引用时,过程是一样的。它在两种情况下都是生成下一个合理的词元。所以,它在两种情况下听起来同样自信。
人能够感受到“我知道这个“和“我在猜测“之间的区别。我们会犹豫,会说“我想“或“我不确定“。模型的自信并不像我们那样与其正确性挂钩。它可能在完全错误的情况下,使用与完全正确时同样流畅、肯定的语气。
这种“合理“与“真实“之间的差距,并不是某人忘记修复的bug。它根植于模型被训练去做的事情中。而这个差距正是我们自己验证工作介入的地方。
最致命的地方
那么,差距何时会变大?合理何时会偏离真实?有几个明显的案例。
具体的可验证事实。 姓名、日期、数字、谁在何时做了什么。只有一个正确答案,但有上千个合理的错误答案。模型可以用自信的声音输出其中任何一个。
数学和计算。 这一点令人惊讶。模型并不是在运行计算器。它在预测计算答案大致应该是什么样的。对于简单的求和,它看到模式太多次,通常正确。对于任何有点难度的计算,它会产生一个大小差不多但完全错误的数字。
引用和来源。 引用有固定的、可学习的格式:作者、标题、期刊、年份。格式很容易模仿。而论文是否真实存在,是否确实说了所声称的内容,则是格式本身无法承载的独立事实。于是,我们得到了完美格式的引用,指向从未被写过的内容。
近期事件。 模型从某个截止日期前收集的文本中学习。询问此后的事情,没有真实的东西可以回忆,但它仍然会产生一个听起来合理的描述。
小众和专业领域。 这是一个微妙的问题。在一个罕见、狭窄的领域,训练数据很薄。没有足够的真实材料可以依赖,模型就更依赖于那些仅仅听起来对该领域正确的东西。因此,合理与真实之间的差距在我们这些非专家最难以发现的地方最大。越是我们需要专家的地方,模型越不可靠,同时听起来却越权威。
哪些地方可以真正放心信任
读完这些,很容易决定再也不信任这些工具的任何东西。但那是错误的教训,会让我们失去一个真正的好工具。
风险并非处处都高。它在特定地方高,在另一些地方低。技巧在于分辨哪些是哪些。
只要满足以下三个条件之一,风险就低。
第一,当听起来正确和真正正确基本是同一回事时。我们可以要求模型改写一个笨拙的句子、软化一封邮件、为项目建议十个名字。这里没有隐藏的正确或错误答案。听起来好的改写就是好的改写。
第二,当我们把真实信息交给它,要求它处理这些信息时。如果我们粘贴自己的文档并要求总结,事实来自我们,而不是模型从记忆中提取。模型在重塑我们提供的文本。虽然仍然值得扫一眼确认没有扭曲,但危险小得多。
第三,当答案能自我检验时。代码是最明显的例子。如果模型写了一个函数,我们运行它,计算机会告诉我们是否工作。我们不是在信任模型,而是在信任我们的测试。头脑风暴也一样:我们会自己判断想法,所以一个弱主意对我们没有损失。
这也是为什么真正的工具(如计算器或搜索引擎)能派上用场的原因。当模型可以执行实际的计算、检索实时来源或查找信息后再回答时,它就获得了本身缺乏的外部检查。真相来自可验证的地方,而不是模型的记忆。
注意: 即使使用工具,仍然建议看一眼模型如何使用了它们返回的信息。但基础要坚实得多。
看到模式了吗?这些工具在可以低成本检查输出时最安全,或者当没有唯一的真理可出错时最危险。反之,当输出是具体的事实性声明、以自信的方式呈现、需要真正努力去验证时——这正是我们想偷懒跳过的工作。
为了便于理解,我将其列成表格,这样我们可以快速决定何时信任模型,何时需要验证。
任何人都能使用的验证清单
这里有一个简短的清单,不需要技术背景。
-
询问这是什么类型的任务。 是品味和措辞问题,还是真假声明?措辞是安全的。事实声明需要检查。
-
将每个具体事实、数字、姓名、日期和引语视为未经确认的,直到我们在别处看到它们,尤其是当我们即将对别人复述时。
-
绝不要使用没有打开过的引用。 如果模型给了我们一个来源,我们必须找到真实来源之后再信任或分享。
-
自己算或使用计算器。 如果数字很重要,绝不能相信模型的话。
-
当话题是小众或近期时格外小心。 这两个领域是自信和错误重叠最多的地方。
-
注意自己的懒惰。 某件事越难验证,我们越容易跳过检查,而越需要坚持不跳过。
-
自信不是证据。 流畅肯定的语气毫无意义。无论答案是对是错,它听起来都一样。
一个便于记忆的心理模型
这是要牢记的画面。
为了便于理解,想象我们雇佣了一位出色的实习生。他几乎读过所有东西,写得又快又好,总是彬彬有礼,而且从不会告诉我们他何时不确定。我们问他任何问题,都能在几秒钟内得到一个清晰、自信、组织良好的答案。
这位实习生确实有价值。不利用他是愚蠢的。但我们了解他的一件事:当他猜测和当他正确时,听起来一样自信。所以,我们让他做各种事情,但从不把他的工作成果直接送出门口,除非我们先读过。
这就是全部要点。不是“这些工具很蠢“——这显然是错的。不是“这些工具是神谕“——这很危险。有用的东西在中间。它们被优化为听起来正确,听起来正确通常意味着正确,而那个两者不一致的小空间就是我们需要负责的地方。
构建这些模型的人就生活在那个空间里。现在,我们也是了。
相似文章
大语言模型不确定性中的人类对齐、校准与激活模式
本文研究大语言模型的不确定性与人类不确定性的相似程度,探讨LLMs在多个数据集上的对齐、校准和激活模式,以及指令微调的影响。
吐槽:别再说什么LLM只是“下一个词预测器”了。
对LLM“只是下一个词预测器”这一过于简单化的说法提出批判,认为大规模预测会诱导出有用的表示和能力,并且这种轻率的否定混淆了目标与学习系统。
@_rohit_tiwari_: 这本115页的书揭示了LLM微调的秘密。https://drive.google.com/file/d/1cS5sWZw9XUDRI4uRh02-28Xq4-P…
一本全面介绍大语言模型微调的115页指南,涵盖理论与实践。
大型语言模型能否对检索到的信息保持审慎态度?
本文研究了大型语言模型如何适应检索信息的确定程度,指出了其在处理不确定性方面的系统性局限。论文提出了一种交互策略,在不修改模型权重的前提下,将顺从错误降低了 25%。
@phosphenq:Andrej Karpathy 这段 2 小时视频,比今年你刷过的所有 AI 教程加起来还管用
OpenAI 联合创始人 Andrej Karpathy 发布了一段 2 小时教学视频,承诺让观众大幅提升大语言模型的实战能力。