大语言模型(LLM)随笔

本文知识截止至 2025.2.20

以下每节标题的标注表示该技术在这个时期趋于成熟。

Transformer 介绍(GPT-3 及之前)

Transformer 是这波 AI 热潮的起点,除了它的发明以外,大模型没有魔法。

Transformer 结构的 LLM,本质是一个可并行加速的有损压缩包:它将海量的知识、语法、运算模式、应答模式等等压缩到自己的权重中。

其本体是一个由线性、非线性变换组成的复杂函数,这个函数是一个文章续写器:输入是一段(编码后的)文本,输出是对这段文本的续写下一个词。与之前模型不同的是,每个预测词的生成都会考虑之前所有词(包括输入和已经生成的词),综合计算得到下一个预测词,且这个过程可以并行。

每次运行这个函数,会输出一个模型预测的概率最大的续写在输入之后的词(实际上是 token),然后将这个词接在输入之后形成新的输入再次运行函数,一直循环直到模型生成表示停止的 token;(以上为最基础的过程,现在已有 MTP 等优化技术)。

这个函数中的参数(如线性变换的系数)是可训练的,训练过程是将文字资料的一部分输入给函数,然后将函数生成的续写与文字资料原本的后续做比对,根据差异调整函数参数。

模型训练与推理(GPT-3.5)

训练:通过调整模型参数(也即上文中的“函数参数”),使这个文章续写器的内容生成质量更高、更符合人类需要,主要包含两类:

  • 预训练(Pre-train):输入(筛选后的)互联网上的海量知识,使模型学习知识、语法、运算模式等;这一步使模型成为一个语法(基本)通顺、简单数学运算(大体)正确、知识(部分)正确的文本续写器;这一步结束时,会得到一个能说会道的续写器(成为 Base 模型),但并不能正确理解并回应人类要求;

  • 后训练(Post-train):这个训练阶段用于将续写器调整成指令应答器,即让模型学会“回答”人类的指令,而不只是续写;以下为两个常见步骤(由于这一部分的训练数据量远小于 Pretrain,因此常被称为微调 Fine-tuning):

    • Instruction Tuning:Supervised Fine-Tuning(SFT)的一种,使用人工标注的任务数据训练模型;训练者人工生成大量 <用户提问, 机器应有的应答> 对。这个过程可以使用 LLM 辅助,由 LLM 生成文本,人只需要将其整理编排成一个合适的回答。如下例,前两行是训练数据。训练完成,开始推理时,会将用户提问包装成后两行的形式,让大模型续写:
    1
    2
    3
    4
    5
    <|im_start|>user<|im_sep|>What is 2+2?<im_end>
    <|im_start|>assistant<|im_sep|>2+2 = 4<im_end>

    <|im_start|>user<|im_sep|>What is 3+4?<im_end>
    <|im_start|>assistant<|im_sep|>
    • Reinforcement Learning from Human Feedback(RLHF):人类标注者对模型的不同输出进行排序,告诉模型什么样的输出相对更优;通过强化学习的奖励机制,使模型做出调整;这将人类从生成指令-应答对的工作中解放出来,而只需要评价,大幅减少工作量。

需要意识到的是,后训练让模型能够应答人类指令,但这并不改变它本质上仍然是一个“续写器”的事实,只是它续写的内容能够构成对输入指令的应答;

推理:训练结束后,参数固定,输入指令(以下称为 prompt),获得应答;

模型能力

之所以后训练能够起效,是因为随着参数量和训练数据的增长,大模型涌现出了以下能力:

  • 泛化能力:可以粗略理解为“模仿能力”,它能找出训练文本或输入文本的一定规律,并使得输出也按照此规律;这使得 few-shot 甚至 zero-shot 成为可能;
  • 推理能力:在数学、逻辑等理科层面进行多步逻辑推演的能力;

此外,大模型还擅长完全复述,这使得输入中的一串特定文本(如一个名字、一串秘钥)能够被完全一致地输出;

相反,大模型不擅长以下问题:

  • 直接作答:大模型确实有推理能力,但由于模型是一个词一个词地输出,因此推理能力也分摊到每个词之上;对于一个逻辑问题,模型需要先分析(输出推理的过程)再得到结果,如果强行使它直接报出答案,正确率会很低;
  • 计数问题:数用户输入中有多少个字母等;这是一个典型的“直接作答”问题,如果不可以拉长推理过程,回答很可能出错;
  • 严格地推理:因为 LLM 是概率模型,每个预测词的输出都是选择概率最高的那一个;
  • 改变知识:由于知识储存在模型参数中,而用户的使用不影响模型参数,因此一旦参数确定,用户无法改变大模型的知识和“信念”;
  • 自我识别(self-recognition):再次重复,大模型的本质是经过大量人为调整后的“续写器”,它之所以能条理清晰地应答用户指令,很大程度是因为它在 SFT 阶段学习了相似的用户指令,然后凭借模型自身的模仿能力,模仿生成了一段能够应答新用户问题的输出。

多模态与工具使用(GPT-4o)

多模态大模型使用共享 Transformer 结构,通过编码等技术使得文字、图像、音频最终能被嵌入到同一个 Transformer 结构中,从而在统一的框架下进行处理;

此外,大模型可以使用一些外部工具(浏览器搜索、计算器、代码执行器等),其流程是模型经过 SFT 后,学习到在一些情况下,生成需要在浏览器中搜索的关键字、需要计算器辅助计算的算式等,并用特殊特殊 token 包裹,然后暂停输出;系统取出特殊 token 中间的关键字或算式,交给浏览器或计算器执行,并将结果重新输入到模型中;此时模型根据输入继续预测输出,得到结果。

可以认为一个 LLM 应用(如 ChatGPT)是一个操作系统,其中核心是大模型(即续写器),外围是各类可以与 LLM 交互的工具。这些工具提供确定的计算结果、或是最新的网络搜索结果并交给大模型。

模型推理(GPT-o1)

从前文我们已经可以得出,模型推理所需要的一个必要条件:让多个 token 分摊推理任务,而不是期望一个 token 完成全部的推理操作。此外,一个自然的想法是,对于很多问题,人类无法指定思考过程(也并不重视此过程而只重视结果),因此希望大模型自己学习出推理的能力。

这两个想法分别诞生了以下两个 Reasoning 关键技术:

  1. 慢思考:通过拉长 Chain of Thought(思维链)长度,输出大段思考过程,从而减轻单个 token 的推理负担。这一技术用输出长度换取推理准确度;
  2. 强化学习:对于一些强逻辑性的推理问题,只提供问题和结果,设置合理的奖励函数,让模型自己训练出合理的思考方式;方法有 PPO、GRPO 等,这些方法可以让模型在思考的过程的某几个时刻有“自我纠错”的能力,以及重复验证的能力(类似于人类解答和检查理科试题时“用不同方法各算一次看结果是否一致”的技巧)。

从此开始,大模型开始具备“思考”的能力。

未来展望

以下为我个人极其简单粗略的预测。

回答准确度

这一点可以通过继续扩大基础模型参数量和训练文本量、拉长思维链、使用更优秀的强化学习实现。

但是,这三点的发展都将很快进入瓶颈。模型参数量和训练文本量都已经几乎达到上限(Pre-training as we know it will unquestionably end),思维链目前已经很长,而更优秀的强化学习算法则是极难发现的。

个人预测,这一轮大模型的上限将很大程度上取决于强化学习、对比学习、模仿学习等算法的进展。

记忆能力

大模型的上下文记忆能力仍然不够。目前的典型值为 128K,这个长度对于常规问答来说足够,但对于需要多步处理的复杂问题(如需要多次改进的编程问题、要数百步数千步才能解决的数学难题、各类因素和参数繁杂的工程问题),这个长度远远不够。

目前已有针对此问题提出的一些解决方案(如改用 Sparse Attention,只计算与当前 token 关联较大的之前 token 的信息),有希望让时空复杂度低于传统 Full Attention 的长度平方复杂度而达到近线性;

个人预测,在不远的未来,大模型上下文能力能有显著增强,以至于可以覆盖 90% 以上的单次复杂任务。

推理成本

目前以 MoE 为首的稀疏模型架构正在快速取代传统 Attention 架构,显卡支持的量化精度也在不断降低,以这个趋势发展,大模型成本将进一步降低。

另一方面,端侧设备往往并不需要存储大量知识,而只需要存储语法和应答模式(均用于人机交互),因此所需的参数量会远低于目前的大模型,个人预测对于端侧 AI 助理或机器人 AI 大脑(语言指令部分),70B 模型即可胜任。目前,核显 PC 或手机可以以相对可以接受的速度运行 14B 左右的模型。14B 与 70B 之间的鸿沟将由硬件与 MLsys 领域的发展来跨越。

个人认为,边缘设备(PC、手机、机器人)将有机会具有运行特化模型的能力,具体可行性取决于是否能跨越 14B 到 70B 的鸿沟;

多模态能力

目前大模型多模态能力还非常差,将多个模态的数据统一到同一空间下的难度较高,特别是图片、视频、富文本文件。

另一方面,在工厂、户外等场景中,有更多其它形式的富文本格式信息输入,除非有能够泛化处理各个模态信息的技术突破,否则很难胜任各类场景。

个人认为,未来多模态能力将有发展,能够应对更多的多模态场景,但取得突破难度较大。

AI Agent

在前文提到的工具使用过程中,AI 充当系统大脑的角色,这个系统就是 Agent。在完成多场景、多阶段、多目标任务时,可能需要多个 Agent 相互协调、合作,结合多个外围工具,最终完成任务。

这是最难攻破的领域,上文所有能力均需要突破,才能达到强大 Agent 的基础要求。如果高完成度实现,可以认为摸到 AGI 的门槛(但距离真正的 AGI 还很远,暂时不必要考虑)。

个人认为,这一轮 AI 热潮能诞生强 AI Agent 的概率极低,诞生 AGI 的概率更是几乎为零。但这不代表当前 LLM 路线并不能通往 AGI,只是至少还需要一两个 Transformer 级别的技术突破,短期内还不可能。

顺带一提,取代程序员岗位并不需要这么强的 Agent,因此取代程序员的进程会相对更快,但也要求前文四个方向全面突破,不是一蹴而就的事情。

其余能力

  • Test-time training:短期内不会有太大发展;
  • 可解释性:短期内没有希望;
  • 动态知识更新:将来知识更新成本会降低,频率会上升;
  • 混合专家系统与定制化:每个领域都将会有所进展,能够提高相关领域研究效率,但不会对有太大影响;
  • 创新与设计能力:暂时不会有显著进展;
  • 人类智慧:暂时不需要考虑 AI 能够拥有自我意识的可能性;
  • 自我迭代:会有进展,但难以突破。