本页目录
本文会介绍大型语言模型的基础知识:它们是什么、如何工作,以及创建模型的大致过程。
大多数资料都会深入讲解 LLM 的工作原理,本文不会走那么深。相反,我会简要介绍最常见的概念,让你尽快开始构建应用。
什么是大型语言模型?
大型语言 model 本质上是一个巨大的压缩文件,可以把它想成一个 1TB 的 zip 文件。文件中包含大量以 16 位浮点数编码的数字,这些数字就是模型的 参数 。
0.1239784871238176123 // Parameter 10.1515689756890123123 // Parameter 2
这些参数代表模型的“大脑”,是模型经过 pre-training得到的结果。训练会获取海量文本数据,并把它们“压缩”进这些数字中。参数代表模型对世界的理解,让它能够记住事实并作出判断。
参数数量代表模型“大脑”的大小。一般来说,大模型表现更好,但运行更慢。一个拥有 700 亿参数的模型,运行速度可能比 70 亿参数模型慢约 10 倍。.
这里已经出现了规模与速度之间的权衡,这是选择大型语言模型时反复出现的主题。
想继续深入: 加入“面向真正工程师的 AI 编码”候补名单
如何运行大型语言模型?
要让模型完成任何有用的工作,需要对它执行 推理 。
推理是把文本发送给模型并获得响应的过程,它通过一个 推理函数 完成。这个软件读取模型参数并运行算法,找出下一个词。它比预训练模型便宜得多,甚至可以在笔记本电脑上完成。
如果想深入了解推理的工作方式,可以查看 这份出色的交互式讲解.
采样策略
为了找出下一个词,模型会查看所有可能选择的 Token,并从中选出一个。
为此,它会使用开发者选择的 采样策略 。采样策略决定模型如何选择下一个词,最常见的策略包括:
- 贪心采样:模型始终选择概率最高的词。
- Top-K 采样:模型从概率最高的 K 个词中选择。
- Top-P 采样:模型从累计概率质量达到 P% 的词中选择。
- 温度采样:模型在选择过程中引入随机性,从而产生更多样的输出。
详细解释这些策略超出了本文范围。作为 AI 工程师,你通常无法更改所用模型的采样策略,但可以调整温度等变量来获得不同结果。
什么是输入 Token?
向模型发送文本后,文本首先需要被 tokenized。这个过程会把文本拆成独立词元,再把词元转换为数字;这些数字就是 输入 Token,随后被传给推理引擎。
每个模型都有自己的分词器。 Tiktokenizer 是探索不同分词器的优秀实验场。
如何创建模型?
要得到模型参数,就必须训练模型。训练大型语言模型是一项极其复杂的工作,需要大量时间、专业知识和资金。具体训练方法不在本文讨论范围内。
粗略来说,你可以取互联网的一部分数据,比如 10TB,使用 6,000 块 GPU 训练 12 天,花费约 200 万美元,最终得到一个约 140GB、包含全部模型参数的文件。
训练过程主要分为两个阶段:
- 预训练:把海量互联网数据压缩进参数,为模型赋予知识
- 后训练:通过精心设计的指令和示例塑造模型的个性与行为。
最终得到的是一个巨大的参数文件,相当于模型全部训练数据的“压缩版本”,并通过后训练塑造了个性。没有后训练,模型只是一团静止的知识,不知道如何像有帮助的助手一样行动。
资源
如何探查模型内部?
虽然非常困难,但研究者可以深入模型参数,尝试找出哪些参数对应哪些现实概念。例如,Anthropic 发现模型能够:
- 跨语言共享概念,暗示可能存在一种通用的“思维语言”
- 写作时提前规划,例如预先安排诗歌押韵
- 为任务使用多条并行路径,例如心算
- 有时编造听起来合理的推理,而不展示真实思考过程
理解模型如何思考,可以帮助我们更好地预判其行为,并消除一部分让模型难以被信任的“魔法感”。未来这或许会带来更可控、更确定的 AI 系统,不过相关研究仍处于早期阶段。
资源
- 追踪大型语言模型的思维 Anthropic
- 金门大桥 Claude Anthropic
总结
大型语言模型把海量知识压缩进数字参数。尽管它们建立在复杂数学之上,但你不必理解全部内部原理,也能有效使用它们。掌握基本全貌,就足以形成对模型工作方式的可靠直觉。
下一篇文章会介绍如何根据具体需求选择合适的 LLM。