| 第1行: |
第1行: |
| − | 大语言模型的快速发展使人们看到很多神奇的现象,比如[[规模法则]]、[[涌现]]、顿悟等等。其中涌现现象是指,某种能力在小规模模型中不存在,但当模型增长到一定规模时,突然拥有了这项能力<ref name=":0">Wei, J., Tay, Y., Bommasani, R., Raffel, C., Zoph, B., Borgeaud, S., Yogatama, D., Bosma, M., Zhou, D., Metzler, D., Chi, E. H., Hashimoto, T., Vinyals, O., Liang, P., Dean, J., & Fedus, W. (2022). Emergent Abilities of Large Language Models (arXiv:2206.07682). arXiv. <nowiki>https://doi.org/10.48550/arXiv.2206.07682</nowiki></ref>。可见,涌现现象不能通过简单地外推小规模模型的能力来预测<ref name=":0" />,而度量和理解大语言模型的涌现对大模型进一步的发展至关重要。
| + | 大语言模型(LLMs)的快速发展使人们看到很多神奇的现象,比如[[神经标度律]]、[[涌现]]、[[顿悟]]等等。其中涌现现象是指,某种能力在小规模模型中不存在,但当模型增长到一定规模时,突然拥有了这项能力<ref name=":0">Wei, J., Tay, Y., Bommasani, R., Raffel, C., Zoph, B., Borgeaud, S., Yogatama, D., Bosma, M., Zhou, D., Metzler, D., Chi, E. H., Hashimoto, T., Vinyals, O., Liang, P., Dean, J., & Fedus, W. (2022). Emergent Abilities of Large Language Models (arXiv:2206.07682). arXiv. <nowiki>https://doi.org/10.48550/arXiv.2206.07682</nowiki></ref>。可见,涌现现象不能通过简单地外推小规模模型的能力来预测<ref name=":0" />,而度量和理解大语言模型的涌现对大模型进一步的发展至关重要。 |
| | | | |
| | =历史溯源= | | =历史溯源= |
| − | [[涌现]]这个概念在物理学、生物学和计算机科学等领域已经得到长期讨论。诺贝尔物理奖获得者菲利普·安德森在一篇名为 “多者异也 (More is Different)”<ref>P. W. Anderson,More Is Different.''Science,'' 177(4047): 393-396, 1972. DOI:10.1126/science.177.4047.393</ref><ref name=":5">Jacob Steinhardt. Future ml systems will be qualitatively different, 2022. URL <nowiki>https://bounded-regret</nowiki>. ghost.io/future-ml-systems-will-be-qualitatively-different/. Accessed May 20, 2022.</ref>的文章中提出:涌现是指系统中定量的变化所导致的行为上定性的变化。 Jason Wei等人<ref name=":0" />沿用了Anderson对于涌现定性的定义,首次在大语言模型领域提出判断模型能力是否发生涌现的定性标准:某种能力在小规模模型中不存在,但当模型增长到一定规模时(定量的变化),这项能力才突然出现(定性的变化)。也就是说,涌现是一种整体行为上的剧烈变化,不能通过研究小规模模型进行直接预测<ref>Bernardo A. Huberman and Tad Hogg. Phase transitions in artificial intelligence systems. Artificial Intelligence, 33(2):155–171, 1987. URL <nowiki>https://www.sciencedirect.com/science/article/</nowiki> abs/pii/0004370287900336.</ref>。 | + | [[涌现]]这个概念在物理学、生物学和计算机科学等领域已经得到长期讨论。诺贝尔物理奖获得者[[菲利普·安德森]]在一篇名为 “多者异也 (More is Different)”<ref>P. W. Anderson,More Is Different.''Science,'' 177(4047): 393-396, 1972. DOI:10.1126/science.177.4047.393</ref><ref name=":5">Jacob Steinhardt. Future ml systems will be qualitatively different, 2022. URL <nowiki>https://bounded-regret</nowiki>. ghost.io/future-ml-systems-will-be-qualitatively-different/. Accessed May 20, 2022.</ref>的文章中提出:涌现是指系统中定量的变化所导致的行为上定性的变化。 Jason Wei等人<ref name=":0" />沿用了安德森对于涌现定性的定义,首次在大语言模型领域提出判断模型能力是否发生涌现的定性标准:某种能力在小规模模型中不存在,但当模型增长到一定规模时(定量的变化),这项能力才突然出现(定性的变化)。也就是说,涌现是一种整体行为上的剧烈变化,不能通过研究小规模模型进行直接预测<ref>Bernardo A. Huberman and Tad Hogg. Phase transitions in artificial intelligence systems. Artificial Intelligence, 33(2):155–171, 1987. URL <nowiki>https://www.sciencedirect.com/science/article/</nowiki> abs/pii/0004370287900336.</ref>。 |
| | | | |
| − | 这些能力包括数学推理(如多步计算与逻辑判断)、链式思维(Chain-of-Thought,CoT)推理、编程与代码生成、跨任务泛化能力(如零样本任务迁移)、事实知识记忆、多语言翻译与理解等。所有这些能力往往在较小模型上完全缺失或表现极差。研究表明,这些涌现并非线性延伸,而是与模型规模、训练数据量、指令微调策略等因素交互产生的非平滑性能跃迁。
| + | 这些能力包括数学推理(如多步计算与逻辑判断)、[[链式思维]](Chain-of-Thought,CoT)推理、编程与代码生成、跨任务泛化能力(如零样本任务迁移)、事实知识记忆、多语言翻译与理解等。所有这些能力往往在较小模型上完全缺失或表现极差。研究表明,这些涌现并非线性延伸,而是与模型规模、训练数据量、指令微调策略等因素交互产生的非平滑性能跃迁。 |
| | | | |
| − | 足够复杂的大语言模型除了具有涌现现象,还会出现神经标度律(Neural Scaling Laws)、顿悟(Grokking)、双下降(Double Descent)等现象。神经标度律是大模型训练中最常见的现象,即随着模型的规模增加(包括数据规模、训练迭代次数等),模型能力表现以一个幂律的形式增长 <ref>Jared Kaplan, Sam McCandlish, Tom Henighan, et al. Scaling Laws for Neural Language Models. arXiv:2001.08361, 2020</ref>。顿悟是指对于同一个大模型,随着训练的进行,训练损失会很快收敛,但测试损失需要训练足够长的时间后才会突然收敛到和训练损失一致的水平 <ref>Ziming Liu, Ouail Kitouni, Niklas Nolte, et al. Towards Understanding Grokking: An Effective Theory of Representation Learning. arXiv:2205.10343, 2022</ref>。双下降是指模型的表现随着模型规模变大(或随着训练的进行)不是一个单调变化的关系,而是会在某些时候,模型的损失反而会随着模型规模的增加而上升,达到一个峰值再继续下降 <ref>Preetum Nakkiran, Gal Kaplun, Yamini Bansal, et al. Deep Double Descent: Where Bigger Models and More Data Hurt. arXiv:1912.02292, 2019</ref>。这些现象和涌现现象不同,但背后的底层机制很可能是相通的。许多学者试图为这些现象(包括涌现)提供一个统一的理论框架来解释<ref name=":uni-view">Huang, Y., Hu, S., Han, X., Liu, Z., & Sun, M. (2024). Unified View of Grokking, Double Descent and Emergent Abilities: A Perspective from Circuits Competition (arXiv:2402.15175). arXiv. <nowiki>https://doi.org/10.48550/arXiv.2402.15175</nowiki> </ref>。
| + | 足够复杂的大语言模型除了具有涌现现象,还会出现[[神经标度律]](Neural Scaling Laws)、[[顿悟]](Grokking)、[[双下降]](Double Descent)等现象。[[神经标度律]]是大模型训练中最常见的现象,即随着模型的规模增加(包括数据规模、训练迭代次数等),模型能力表现以一个幂律的形式增长 <ref>Jared Kaplan, Sam McCandlish, Tom Henighan, et al. Scaling Laws for Neural Language Models. arXiv:2001.08361, 2020</ref>。顿悟是指对于同一个大模型,随着训练的进行,训练损失会很快收敛,但测试损失需要训练足够长的时间后才会突然收敛到和训练损失一致的水平 <ref>Ziming Liu, Ouail Kitouni, Niklas Nolte, et al. Towards Understanding Grokking: An Effective Theory of Representation Learning. arXiv:2205.10343, 2022</ref>。双下降是指模型的表现随着模型规模变大(或随着训练的进行)不是一个单调变化的关系,而是会在某些时候,模型的损失反而会随着模型规模的增加而上升,达到一个峰值再继续下降 <ref>Preetum Nakkiran, Gal Kaplun, Yamini Bansal, et al. Deep Double Descent: Where Bigger Models and More Data Hurt. arXiv:1912.02292, 2019</ref>。这些现象和涌现现象不同,但背后的底层机制很可能是相通的。许多学者试图为这些现象(包括涌现)提供一个统一的理论框架来解释<ref name=":uni-view">Huang, Y., Hu, S., Han, X., Liu, Z., & Sun, M. (2024). Unified View of Grokking, Double Descent and Emergent Abilities: A Perspective from Circuits Competition (arXiv:2402.15175). arXiv. <nowiki>https://doi.org/10.48550/arXiv.2402.15175</nowiki> </ref>。 |
| | | | |
| − | 诸如神经标度律等现象,人们在大语言模型之前也有在一般的神经网络上发现。而对于涌现现象,Wei等人系统比较了不同规模的语言模型在使用标准提示(直接给问题)和链式提示(给出推理步骤)下的表现,发现只有大型语言模型才能充分利用链式思维提示,且性能随着规模增长出现“非线性跃迁”。链式思维提示本身并不会自动赋予模型推理能力,只有在模型参数规模足够大时,它才能引发复杂推理能力的“跃迁”,这正是大语言模型涌现现象的核心表现之一<ref name="chain-of-thought">Wei, Jason, et al. "Chain-of-thought prompting elicits reasoning in large language models." Advances in neural information processing systems 35 (2022): [[Tel:24824-24837|24824-24837]].</ref>。该团队在另一项探讨了一种通过指令微调提升语言模型零样本学习能力方法的研究中发现,指令调整带来的性能提升只有在模型规模足够大的情况下才会显现<ref name="Finetuned">Wei, Jason, et al. "Finetuned language models are zero-shot learners." arXiv preprint arXiv:2109.01652 (2021).</ref>。Google DeepMind主导的一项研究通过设计大规模基准测试(BIG-bench)来系统地评估大语言模型(LLMs)的智能水平和能力边界,并探索其随规模变化时的行为模式。通过对GPT-3、PaLM、以及多个中小规模模型等进行性能随参数规模变化的测试,研究人员发现了任务随规模变化的两种性能增长模式。大语言模型的性能在一类任务表现为线性增长,如语言建模、基本问答;在另一类任务出现突破式表现,如代码生成、数学证明、复杂逻辑任务,从几乎完全不会,到某一规模后突然具备该能力<ref name="BIG-bench">Srivastava, Aarohi, et al. "Beyond the imitation game: Quantifying and extrapolating the capabilities of language models." arXiv preprint arXiv:2206.04615 (2022).</ref>。 | + | 诸如神经标度律等现象,人们在大语言模型之前也有在一般的神经网络上发现。而对于涌现现象,Wei等人系统比较了不同规模的语言模型在使用标准提示(直接给问题)和链式提示(给出推理步骤)下的表现,发现只有大型语言模型才能充分利用链式思维提示,且性能随着规模增长出现“非线性跃迁”。链式思维提示本身并不会自动赋予模型推理能力,只有在模型参数规模足够大时,它才能引发复杂推理能力的“跃迁”,这正是大语言模型涌现现象的核心表现之一<ref name="chain-of-thought">Wei, Jason, et al. "Chain-of-thought prompting elicits reasoning in large language models." Advances in neural information processing systems 35 (2022): [[Tel:24824-24837|24824-24837]].</ref>。该团队在另一项探讨了一种通过指令微调提升语言模型零样本学习能力方法的研究中发现,指令调整带来的性能提升只有在模型规模足够大的情况下才会显现<ref name="Finetuned">Wei, Jason, et al. "Finetuned language models are zero-shot learners." arXiv preprint arXiv:2109.01652 (2021).</ref>。Google DeepMind主导的一项研究通过设计大规模基准测试(Beyond the imitation game, BIG-bench)来系统地评估大语言模型的智能水平和能力边界,并探索其随规模变化时的行为模式。通过对GPT-3、PaLM、以及多个中小规模模型等进行性能随参数规模变化的测试,研究人员发现了任务随规模变化的两种性能增长模式。大语言模型的性能在一类任务表现为线性增长,如语言建模、基本问答;在另一类任务出现突破式表现,如代码生成、数学证明、复杂逻辑任务,从几乎完全不会,到某一规模后突然具备该能力<ref name="BIG-bench">Srivastava, Aarohi, et al. "Beyond the imitation game: Quantifying and extrapolating the capabilities of language models." arXiv preprint arXiv:2206.04615 (2022).</ref>。 |
| | | | |
| | [[文件:Timeline.png|缩略图|近年来现有大型语言模型的时间线(规模大于 10B)|替代=|无|603x603px]] | | [[文件:Timeline.png|缩略图|近年来现有大型语言模型的时间线(规模大于 10B)|替代=|无|603x603px]] |
| | | | |
| − | 从技术发展史角度看,涌现能力的发现标志着[[自然语言处理]]研究范式的根本转变。传统自然语言处理采用任务特定模型,针对每项任务单独设计和训练系统,而现代大型语言模型通过海量数据预训练获得通用能力,再通过提示工程适应各种下游任务。这种转变的核心驱动力正是模型规模的指数级增长——从GPT-3的1750亿参数到PaLM的5400亿参数,再到当前万亿级模型,规模扩大使下游任务表现出[[规模法则]]和涌现能力<ref name=":JunlinZhang">张俊林, 大语言模型的涌现能力:现象与解释. 2023. 知乎. https://zhuanlan.zhihu.com/p/621438653</ref>。 | + | 从技术发展史角度看,涌现能力的发现标志着[[自然语言处理]]研究范式的根本转变。传统自然语言处理采用任务特定模型,针对每项任务单独设计和训练系统,而现代大型语言模型通过海量数据预训练获得通用能力,再通过提示工程适应各种下游任务。这种转变的核心驱动力正是模型规模的指数级增长——从GPT-3的1750亿参数到PaLM的5400亿参数,再到当前万亿级模型,规模扩大使下游任务表现出[[神经标度律]]和涌现能力<ref name=":JunlinZhang">张俊林, 大语言模型的涌现能力:现象与解释. 2023. 知乎. https://zhuanlan.zhihu.com/p/621438653</ref>。 |
| | | | |
| | {| class="wikitable" | | {| class="wikitable" |
| 第34行: |
第34行: |
| | | | |
| | 模型规模的改变主要体现在训练计算量,模型参数量和训练数据集的大小<ref name=":1">Jared Kaplan, Sam McCandlish, Tom Henighan, Tom B. Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, and Dario Amodei. Scaling laws for neural language models. arXiv preprint arXiv:2001.08361, 2020. URL <nowiki>https://arxiv.org/abs/2001.08361</nowiki></ref><ref name=":2">Jordan Hoffmann, Sebastian Borgeaud, Arthur Mensch, Elena Buchatskaya, Trevor Cai, Eliza Rutherford, Diego de Las Casas, Lisa Anne Hendricks, Johannes Welbl, Aidan Clark, et al. Training compute-optimal large language models. NeurIPS, 2022. URL <nowiki>https://arxiv.org/abs/2203.15556</nowiki>.</ref>这三个因素上。研究者通常会分析模型的能力随训练计算量或模型参数量的增加而变化的曲线,而不会绘制针对训练集大小的曲线。通常,每个模型的训练计算量是以 FLOPs (Floating Point Operations, 浮点运算数) 来衡量的<ref name=":2" />。模型能力关于参数量与模型能力关于 FLOPs 有形状相似的曲线,这是因为大多数密集Transformer语言模型家族(即采用[[全连接自注意力机制]]的模型)的训练计算量大致与模型参数量成比例<ref name=":1" />。研究者通常在训练模型时使用固定大小的训练集<ref name=":3">Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D. Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. NeurIPS, 2020. URL https://papers.nips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html</ref><ref name=":4">Jack W. Rae, Sebastian Borgeaud, Trevor Cai, Katie Millican, Jordan Hoffmann, Francis Song, John Aslanides, Sarah Henderson, Roman Ring, Susannah Young, et al. Scaling language models: Methods, analysis & insights from training Gopher. arXiv preprint arXiv:2112.11446, 2021. URL <nowiki>https://arxiv.org/abs/</nowiki> 2112.11446.</ref>,因此较难见到模型能力随训练数据集大小而变化的报告。下表<ref name=":0" />列出了一些大语言模型的涌现能力及其出现的规模(以训练所需的浮点运算次数和模型参数数量衡量)。 | | 模型规模的改变主要体现在训练计算量,模型参数量和训练数据集的大小<ref name=":1">Jared Kaplan, Sam McCandlish, Tom Henighan, Tom B. Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, and Dario Amodei. Scaling laws for neural language models. arXiv preprint arXiv:2001.08361, 2020. URL <nowiki>https://arxiv.org/abs/2001.08361</nowiki></ref><ref name=":2">Jordan Hoffmann, Sebastian Borgeaud, Arthur Mensch, Elena Buchatskaya, Trevor Cai, Eliza Rutherford, Diego de Las Casas, Lisa Anne Hendricks, Johannes Welbl, Aidan Clark, et al. Training compute-optimal large language models. NeurIPS, 2022. URL <nowiki>https://arxiv.org/abs/2203.15556</nowiki>.</ref>这三个因素上。研究者通常会分析模型的能力随训练计算量或模型参数量的增加而变化的曲线,而不会绘制针对训练集大小的曲线。通常,每个模型的训练计算量是以 FLOPs (Floating Point Operations, 浮点运算数) 来衡量的<ref name=":2" />。模型能力关于参数量与模型能力关于 FLOPs 有形状相似的曲线,这是因为大多数密集Transformer语言模型家族(即采用[[全连接自注意力机制]]的模型)的训练计算量大致与模型参数量成比例<ref name=":1" />。研究者通常在训练模型时使用固定大小的训练集<ref name=":3">Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D. Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. NeurIPS, 2020. URL https://papers.nips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html</ref><ref name=":4">Jack W. Rae, Sebastian Borgeaud, Trevor Cai, Katie Millican, Jordan Hoffmann, Francis Song, John Aslanides, Sarah Henderson, Roman Ring, Susannah Young, et al. Scaling language models: Methods, analysis & insights from training Gopher. arXiv preprint arXiv:2112.11446, 2021. URL <nowiki>https://arxiv.org/abs/</nowiki> 2112.11446.</ref>,因此较难见到模型能力随训练数据集大小而变化的报告。下表<ref name=":0" />列出了一些大语言模型的涌现能力及其出现的规模(以训练所需的浮点运算次数和模型参数数量衡量)。 |
| | + | |
| | [[文件:JWeiTable1.png|508x508px|thumb|center|大语言模型出现涌现现象的门槛训练FLOPs和参数量<ref name=":0" />]] | | [[文件:JWeiTable1.png|508x508px|thumb|center|大语言模型出现涌现现象的门槛训练FLOPs和参数量<ref name=":0" />]] |
| | | | |
| | | | |
| − | 为了使生成式 AI 模型产生最佳输出,可以采用提示(Prompt)来构建或设计指令。在输入和输出文本的任务中,提示是向AI模型解释其任务的自然语言文本,包含请求、指令、示例,以及任务的背景信息、完成任务的步骤等。按照提示内容的差异,可以将提示简单划分为少量样本提示(Few-Shot Prompting)和增强提示(Augmented Prompting)。前者是一个到数个输入信息和输出结果的示例(如下图所示);后者是更复杂的提示,比如思维链提示、不包括示例的任务描述、草稿本(Scratchpad)技术等,更复杂的提示能够进一步提高语言模型的能力。 | + | 为了使生成式 AI 模型产生最佳输出,可以采用提示(Prompt)来构建或设计指令。在输入和输出文本的任务中,提示是向AI模型解释其任务的自然语言文本,包含请求、指令、示例,以及任务的背景信息、完成任务的步骤等。按照提示内容的差异,可以将提示简单划分为[[少量样本提示]](Few-Shot Prompting)和[[增强提示]](Augmented Prompting)。前者是一个到数个输入信息和输出结果的示例(如下图所示);后者是更复杂的提示,比如[[思维链提示]]、不包括示例的任务描述、草稿本(Scratchpad)技术等,更复杂的提示能够进一步提高语言模型的能力。 |
| | | | |
| | [[文件:Fewshotexample.png|缩略图|居中|少量样本提示示意图|432x432像素]] | | [[文件:Fewshotexample.png|缩略图|居中|少量样本提示示意图|432x432像素]] |
| 第70行: |
第71行: |
| | 上述提及的大语言模型涌现现象在判定上始终围绕两个关键特征:度量结果的突变性和突变的不可预测性<ref name=":mirage">Schaeffer, R., Miranda, B., & Koyejo, S. (2023). Are Emergent Abilities of Large Language Models a Mirage? (arXiv:2304.15004). arXiv. https://doi.org/10.48550/arXiv.2304.15004</ref>。而这并不意味着它一定是关于模型性质的度量。涌现现象的发生,可能只是研究者的选择所造成的幻觉<ref name=":mirage" />。 | | 上述提及的大语言模型涌现现象在判定上始终围绕两个关键特征:度量结果的突变性和突变的不可预测性<ref name=":mirage">Schaeffer, R., Miranda, B., & Koyejo, S. (2023). Are Emergent Abilities of Large Language Models a Mirage? (arXiv:2304.15004). arXiv. https://doi.org/10.48550/arXiv.2304.15004</ref>。而这并不意味着它一定是关于模型性质的度量。涌现现象的发生,可能只是研究者的选择所造成的幻觉<ref name=":mirage" />。 |
| | | | |
| − | 例如,对于在高质量数据上训练的模型,涌现现象可以在较少的训练计算量或较少的模型参数的情况下出现。涌现能力也会受模型训练充分程度的影响,当今的语言模型很可能没有得到最佳训练<ref name=":2" />,而且我们对于如何最佳地训练模型的理解也将随着时间的推移而发展,因此已有研究通常只能提供关于是否出现涌现现象的部分证据。总体而言,一种明智的做法是将涌现视为许多相关变量的函数。有研究者认为模型是否出现涌现现象,可以被看作模型参数规模、训练数据量大小、训练充分程度和具体任务类型等多种因素的未知函数<ref name=":JunlinZhang" />。
| + | ,非线性的或不连续的度量导致我们观察到模型能力的突变和涌现,如果改变度量,则会观察到模型能力的连续变化。这一点可以通过对不同度量方式的定性分析而展现<ref name=":mirage" />:比如,假设模型有N个参数(N>0),模型的每token的[[交叉熵]]随参数量增加而以幂函数的形式下降: |
| − | | |
| − | 也有研究者认为,非线性的或不连续的度量导致我们观察到模型能力的突变和涌现,如果改变度量,则会观察到模型能力的连续变化。这一点可以通过对不同度量方式的定性分析而展现<ref name=":mirage" />:比如,假设模型有N个参数(N>0),模型的每token的交叉熵随参数量增加而以幂函数的形式下降:
| |
| | :<math>L_{CE}(N) = (\frac{N}{c})^{a}, ~ c>0, ~ a<0</math> | | :<math>L_{CE}(N) = (\frac{N}{c})^{a}, ~ c>0, ~ a<0</math> |
| | | | |
| 第82行: |
第81行: |
| | 如下图a所示,此时模型能力的度量指标(<math>p(single~token~correct)</math>随模型规模(模型参数量<math>N</math>)的变化可以得到平缓增长的曲线。而若某任务是L位整数加法,当模型输出正确结果时,记录模型正确率为1,否则记为0,则此时模型的性能和模型参数量的关系为: | | 如下图a所示,此时模型能力的度量指标(<math>p(single~token~correct)</math>随模型规模(模型参数量<math>N</math>)的变化可以得到平缓增长的曲线。而若某任务是L位整数加法,当模型输出正确结果时,记录模型正确率为1,否则记为0,则此时模型的性能和模型参数量的关系为: |
| | :<math>Accuracy(N)\approx p_N(single~token~correct)^{num. of tokens} = \exp (-L_{CE}(N)) = \exp(-(N/c)^{a})^L</math> | | :<math>Accuracy(N)\approx p_N(single~token~correct)^{num. of tokens} = \exp (-L_{CE}(N)) = \exp(-(N/c)^{a})^L</math> |
| − | 如下图b所示,可以观察到在一个线性-对数图中,只是因为度量的变化,我们就观察到了模型能力随模型规模增大而非线性增长的曲线,即呈现出了涌现能力的现象。这一模式和已发表的涌现现象(图b里的小图)是一致的。而如果我们把上面的正确率指标换成线性的指标,比如token编辑距离(Token Edit Distance),如下图c所示,则会发现模型能力又随模型规模展现出平滑、连续和可预测的变化,即未出现涌现现象。 | + | 如下图b所示,可以观察到在一个线性-对数图中,只是因为度量的变化,我们就观察到了模型能力随模型规模增大而非线性增长的曲线,即呈现出了涌现能力的现象。这一模式和已发表的涌现现象(图b里的小图)是一致的。而如果我们把上面的正确率指标换成线性的指标,比如[[token编辑距离]](Token Edit Distance),如下图c所示,则会发现模型能力又随模型规模展现出平滑、连续和可预测的变化,即未出现涌现现象。 |
| | | | |
| | [[文件:LLM-EMERGENCE-mirage.png|缩略图|链接=Special:FilePath/LLM-EMERGENCE-mirage.png|替代=|无|660x660px]] | | [[文件:LLM-EMERGENCE-mirage.png|缩略图|链接=Special:FilePath/LLM-EMERGENCE-mirage.png|替代=|无|660x660px]] |
| 第112行: |
第111行: |
| | 在结构上,主流大语言模型均基于[[Transformer架构]],根据历史输入预测下一个token的概率分布。Token是自然语言处理中文本切分的最小单位(字、词或子词)。大语言模型使用token来理解和处理文本,把句子分解为token后再进行模型计算和生成。然而,人类对于语言的理解不是在token的层次上,而是在语义(semantics)的层次上。我们可以通过对多个token的排列组合来理解和表达语义。所谓对大语言模型的结构进行度量和解释,便是基于Transformer模块的行为,对模型在token和语义层次上的动力学进行量化分析。这里的动力学机制由模型的权重参数和运行方式决定。 | | 在结构上,主流大语言模型均基于[[Transformer架构]],根据历史输入预测下一个token的概率分布。Token是自然语言处理中文本切分的最小单位(字、词或子词)。大语言模型使用token来理解和处理文本,把句子分解为token后再进行模型计算和生成。然而,人类对于语言的理解不是在token的层次上,而是在语义(semantics)的层次上。我们可以通过对多个token的排列组合来理解和表达语义。所谓对大语言模型的结构进行度量和解释,便是基于Transformer模块的行为,对模型在token和语义层次上的动力学进行量化分析。这里的动力学机制由模型的权重参数和运行方式决定。 |
| | | | |
| − | 如前所述,目前大多数对于大语言模型涌现的刻画聚焦在具体下游任务的表现上,且都是定性的结论。这类涌现现象可以被看作是大语言模型的功能涌现。然而,结构决定功能。有没有可能在发生功能涌现的同时,大语言模型的内部也在发生结构上的涌现呢?这里的结构既指模型中的网络连接结构,又指模型的前向计算过程的动力学。自菲利普·安德森的《多者异也》之后,复杂性科学中对于复杂系统的涌现有了更多的认识。在观察者角度下,一个复杂系统同时具有微观和宏观尺度上的动力学,比如对于大语言模型来说,微观动力学是从已有的token生成下一个token,宏观动力学则可以是语义上的接龙和变化。作为一个对涌现定量研究的理论框架,[[因果涌现]]理论提出当宏观动力学因果效应强度大于微观动力学上的因果效应强度时,复杂系统发生涌现现象<ref name="Hoel1">E. P. Hoel, L. Albantakis, and G. Tononi. Quantifying causal emergence shows that macro can beat micro. Proceedings of the National Academy of Sciences, 110(49):[[Tel:19790–19795|19790–19795]], 2013.</ref><ref name="Hoel2">E. P. Hoel, L. Albantakis, W. Marshall, and G. Tononi. Can the macro beat the micro? integrated information across spatiotemporal scales. Neuroscience of Consciousness, 2016(1):niw012, 2016.</ref>。我们猜想,大语言模型之所以会出现任务能力上的涌现或突变,背后对应着动力学机制上的涌现。如果我们想要解释甚至调控大语言模型的涌现现象,就需要从结构或动力学的角度对大语言模型的结构涌现进行度量,以及给出相应的理论解释。这样得到的量化结果不依赖于具体的任务设定或人为设定指标时额外引入的非线性。
| + | 如前所述,目前大多数对于大语言模型涌现的刻画聚焦在具体下游任务的表现上,且都是定性的结论。这类涌现现象可以被看作是大语言模型的功能涌现。然而,结构决定功能。有没有可能在发生功能涌现的同时,大语言模型的内部也在发生结构上的涌现呢?这里的结构既指模型中的网络连接结构,又指模型的前向计算过程的动力学。自[[菲利普·安德森]]的《多者异也》之后,复杂性科学中对于复杂系统的涌现有了更多的认识。在观察者角度下,一个复杂系统同时具有微观和宏观尺度上的动力学,比如对于大语言模型来说,微观动力学是从已有的token生成下一个token,宏观动力学则可以是语义上的接龙和变化。作为一个对涌现定量研究的理论框架,[[因果涌现]]理论提出当宏观动力学因果效应强度大于微观动力学上的因果效应强度时,复杂系统发生涌现现象<ref name="Hoel1">E. P. Hoel, L. Albantakis, and G. Tononi. Quantifying causal emergence shows that macro can beat micro. Proceedings of the National Academy of Sciences, 110(49):[[Tel:19790–19795|19790–19795]], 2013.</ref><ref name="Hoel2">E. P. Hoel, L. Albantakis, W. Marshall, and G. Tononi. Can the macro beat the micro? integrated information across spatiotemporal scales. Neuroscience of Consciousness, 2016(1):niw012, 2016.</ref>。我们猜想,大语言模型之所以会出现任务能力上的涌现或突变,背后对应着动力学机制上的涌现。如果我们想要解释甚至调控大语言模型的涌现现象,就需要从结构或动力学的角度对大语言模型的结构涌现进行度量,以及给出相应的理论解释。这样得到的量化结果不依赖于具体的任务设定或人为设定指标时额外引入的非线性。 |
| | | | |
| | ==量化大语言模型的信息涌现== | | ==量化大语言模型的信息涌现== |
| 第131行: |
第130行: |
| | 给定一个序列和Transformer模块,我们如何得到宏微观变量?假设给定的输入序列是“large language model”,那么为了得到每一个token作为微观变量时的输入输出表征,我们需要把每一个token作为当前输入的首个token。比如输入是“large language model”时,我们可以得到“large”作为微观输入表征时的输出表征;把输入序列改成“language model”,就可以得到“language”作为微观输入表征时的输出表征;把输入序列改成“model”,就可以得到“model”作为微观输入表征时的输出表征。而对于宏观变量,则是全序列“large language model”输入时最后一个token(“model”)对应的输入和输出表征。这样做保证了微观变量状态只取决于单个的token,而宏观变量状态则取决于整个序列的信息。 | | 给定一个序列和Transformer模块,我们如何得到宏微观变量?假设给定的输入序列是“large language model”,那么为了得到每一个token作为微观变量时的输入输出表征,我们需要把每一个token作为当前输入的首个token。比如输入是“large language model”时,我们可以得到“large”作为微观输入表征时的输出表征;把输入序列改成“language model”,就可以得到“language”作为微观输入表征时的输出表征;把输入序列改成“model”,就可以得到“model”作为微观输入表征时的输出表征。而对于宏观变量,则是全序列“large language model”输入时最后一个token(“model”)对应的输入和输出表征。这样做保证了微观变量状态只取决于单个的token,而宏观变量状态则取决于整个序列的信息。 |
| | | | |
| − | 计算[[互信息]]需要知道变量的概率分布。为了在大语言模型的高维状态空间上估计概率分布,作者使用了互信息神经估计算法(Mutual information neural estimation,MINE)<ref>M. I. Belghazi, A. Baratin, S. Rajeshwar, S. Ozair, Y. Bengio, A. Courville, and D. Hjelm. Mutual information neural estimation. In International conference on machine learning, pages531–540. PMLR, 2018.</ref>来得到宏微观变量的概率分布。 | + | 计算[[互信息]]需要知道变量的概率分布。为了在大语言模型的高维状态空间上估计概率分布,作者使用了[[互信息神经估计算法]](Mutual information neural estimation,MINE)<ref>M. I. Belghazi, A. Baratin, S. Rajeshwar, S. Ozair, Y. Bengio, A. Courville, and D. Hjelm. Mutual information neural estimation. In International conference on machine learning, pages531–540. PMLR, 2018.</ref>来得到宏微观变量的概率分布。 |
| | | | |
| | 下图展示了IE更加体现语义忠实度(Semantics Faithfulness),即一个指标能否真实反映语言模型理解句子含义的能力。该实验使用了OpenOrca数据集中的例子,计算随着输入变长,大语言模型对语义把握的能力是否一直增长。传统的度量指标包括准确率、模型的损失等等。而从下图中可以看出,随着输入变长,这些指标并不总是单调增长的,而且波动很大。与之相比,IE总是在增长(即图中曲线总为正值),而且结果非常稳定。 | | 下图展示了IE更加体现语义忠实度(Semantics Faithfulness),即一个指标能否真实反映语言模型理解句子含义的能力。该实验使用了OpenOrca数据集中的例子,计算随着输入变长,大语言模型对语义把握的能力是否一直增长。传统的度量指标包括准确率、模型的损失等等。而从下图中可以看出,随着输入变长,这些指标并不总是单调增长的,而且波动很大。与之相比,IE总是在增长(即图中曲线总为正值),而且结果非常稳定。 |
| 第149行: |
第148行: |
| | [[文件:Claude CLT.png|无|缩略图|434x434px|CLT的示意图]] | | [[文件:Claude CLT.png|无|缩略图|434x434px|CLT的示意图]] |
| | | | |
| − | 根据训练好的CLT,我们可以根据CLT权重和隐变量的激活程度构建输入token、中间层表征以及预测token之间的因果图,也就能看清大模型作出预测的路径是怎样的了。下面我们主要介绍三个案例来分析大模型内部的“思考过程”。第一个问题是,大模型如何横跨多种语言完成交流?
| + | 根据训练好的CLT,我们可以根据CLT权重和隐变量的激活程度构建输入token、中间层表征以及预测token之间的[[因果图]],也就能看清大模型作出预测的路径是怎样的了。下面我们主要介绍三个案例来分析大模型内部的“思考过程”。第一个问题是,大模型如何横跨多种语言完成交流? |
| | | | |
| | [[文件:Claude bilang.png|无|缩略图|602x602px|面对同一个问题(“小”的反义词是什么)的不同语言表述,大模型内部除了有针对不同语言的专门的模块以外,还有一个语义理解的共享模块。]] | | [[文件:Claude bilang.png|无|缩略图|602x602px|面对同一个问题(“小”的反义词是什么)的不同语言表述,大模型内部除了有针对不同语言的专门的模块以外,还有一个语义理解的共享模块。]] |
| 第155行: |
第154行: |
| | 上图是一个高度简化版的因果图,提示词是多国语言版本的相同问题:“小的反义词是什么”。每一个语言下的问题都会涉及一个和语言相关模块,提示大模型要用特定的语言回答。更重要的是,它们都用到一个共享的表征,其中涉及3个概念:“小”、“反义词”、“大”。这个表征与特定的语言无关。而且模型越大,这种共享表征占比就更多。这证实了大模型的“思考”发生在一个与语言种类无关的抽象的语义空间里。它说明,从一种语言中学到的知识,Claude可以直接迁移到其他语言当中。 | | 上图是一个高度简化版的因果图,提示词是多国语言版本的相同问题:“小的反义词是什么”。每一个语言下的问题都会涉及一个和语言相关模块,提示大模型要用特定的语言回答。更重要的是,它们都用到一个共享的表征,其中涉及3个概念:“小”、“反义词”、“大”。这个表征与特定的语言无关。而且模型越大,这种共享表征占比就更多。这证实了大模型的“思考”发生在一个与语言种类无关的抽象的语义空间里。它说明,从一种语言中学到的知识,Claude可以直接迁移到其他语言当中。 |
| | | | |
| − | 第二个问题是,大模型如何写诗?人们之前猜测,因为大模型每次都只预测下一个词,所以不会对一首诗做整体规划,而是每次预测下一个词的时候一方面保证结尾押韵,另一个方面保证它是通顺合理的。结果,团队发现Claude在写诗时有在做提前规划,如下图所示。比如在第一行诗的结尾“grab it”的后面,模型马上开始考虑以“rabbit”作为第二句的结尾来押韵。因果图的要义在于我们可以对某个变量施加[[干预]],看看会发生什么,这也是神经科学家研究大脑功能的方法论。在AI生物学这个工作里,作者可以通过修改某一个CLT的隐变量来达成干预的目的。如果我们去除中间层“rabbit”这个表征,大模型还有其他的候选韵脚,比如“habit”。如果把中间层的词换成“green”,大模型仍然可以以它作为结束完成一首有意义的小诗。 | + | 第二个问题是,大模型如何写诗?人们之前猜测,因为大模型每次都只预测下一个词,所以不会对一首诗做整体规划,而是每次预测下一个词的时候一方面保证结尾押韵,另一个方面保证它是通顺合理的。结果,团队发现Claude在写诗时有在做提前规划,如下图所示。比如在第一行诗的结尾“grab it”的后面,模型马上开始考虑以“rabbit”作为第二句的结尾来押韵。[[因果图]]的要义在于我们可以对某个变量施加[[干预]],看看会发生什么,这也是神经科学家研究大脑功能的方法论。在AI生物学这个工作里,作者可以通过修改某一个CLT的隐变量来达成[[干预]]的目的。如果我们去除中间层“rabbit”这个表征,大模型还有其他的候选韵脚,比如“habit”。如果把中间层的词换成“green”,大模型仍然可以以它作为结束完成一首有意义的小诗。 |
| | | | |
| | [[文件:Claude poem.png|无|缩略图|608x608px|图中浅蓝色部分是提示词,橙红色部分是输出。]] | | [[文件:Claude poem.png|无|缩略图|608x608px|图中浅蓝色部分是提示词,橙红色部分是输出。]] |