1.概述
参考:https://zhuanlan.zhihu.com/p/711391378
这是一系列论文和一个新的LLM研究方向,官网的概述如下。
苹果掉落,盒子移动,但重力和惯性等普遍规律对技术进步至关重要。虽然GPT-5或LLaMA-3明天可能会提供革命性的体验,但我们必须更进一步。我们的目标是为LLM建立普适规律,这些规律可以指导我们,并就我们如何最终实现AGI提供实际建议。
作者的建议是将“智能”的概念划分为多个维度(如结构、知识、推理等)。对于每个维度,创建合成数据,并为LLM培训构建一个理想化的环境,以了解理论,并将LLM在这个维度的能力推向极致。通过进行大量对照实验,发现所有LLM的普适规律,而不仅仅是GPT-4的特定版本。
在受控、理想化的环境中训练LLM能够管理数据并调整超参数(如数据量、类型、难度和格式),以科学地确定影响LLM性能的因素,并提出改进建议。
通过将“智能”分解为可管理的组件,每个组件都使用具有受控大小和难度的合成数据。这样就能够在足够多样的条件下反复训练许多小型模型,以初步识别规律,然后更广泛地测试它们。
2. Part 1 层级语言结构
2.1 概述
对这部分进行概括的话就如摘要所说设计了受控实验来研究生成式语言模型(如 GPT)如何学习上下文自由语法(CFG)。
上下文无关文法(Context-Free Grammar,CFG)是一种用于描述语言结构的形式语法,广泛应用于自然语言处理、编译原理等领域。CFG由一组产生式规则组成,这些规则定义了语言的语法结构。在CFG中,每个产生式规则具有形式“A → α”,其中A是非终结符,α是终结符或非终结符的序列1。CFG的主要特点是,非终结符可以被替换为其他符号的序列,而这种替换可以在任何时候应用,以生成符合语法的字符串。
语言中的许多结构都可以被视为 CFG,包括语法、代码结构、数学表达式、音乐模式、文章格式(用于诗歌、指令、法律文档)等。
下面是一个简单的上下文无关文法(CFG)的例子,用于描述一个算术表达式的语言,这个语言包括加法和乘法操作,以及整数和变量(假设变量以大写字母表示)。
```
G = (N, Σ, P, S)
N = {E, T, F} // 非终结符集合
Σ = {+, *, (, ), 0, 1, 2, ..., 9, A, B, C, ...} // 终结符集合,包括数字和字母
P = {
E → T E_op // 表达式可以由项和操作符组成
T → F T_op // 项可以由因子和操作符组成
F → ( E ) // 分量可以是括号内的表达式
F → num // 分量可以是一个数字
F → id // 分量也可以是一个标识符(变量)
E_op → + T // 表达式的操作符可以是加号后跟一个项
E_op → - T // 或者是减号
T_op → * F // 项的操作符可以是乘号后跟一个因子
T_op → / F // 或者是除号
num → 0 // 数字可以是0
num → 1 // 可以是1
// ... 以此类推,直到9
id → A // 标识符可以是A
id → B // 可以是B
// ... 以此类推,包括所有大写字母
}
S = E // 开始符号是表达式E
```
在这个CFG中,我们定义了以下规则:
- `E` 代表一个表达式(Expression),它可以是一个项(`T`)后面跟着一个表达式操作符(`E_op`)。
- `T` 代表一个项(Term),它可以是一个因子(`F`)后面跟着一个项操作符(`T_op`)。
- `F` 代表一个因子(Factor),它可以是一个括号内的表达式,或者是一个数字(`num`)或一个标识符(`id`)。
- `E_op` 定义了表达式操作符可以是加号(`+`)或减号(`-`),后面跟着一个项(`T`)。
- `T_op` 定义了项操作符可以是乘号(`*`)或除号(`/`),后面跟着一个因子(`F`)。
- `num` 定义了数字可以是0、1、2一直到9。
- `id` 定义了标识符可以是任意的大写字母。
使用这个CFG,我们可以生成和解析如下形式的算术表达式:
- `A + B * 2`
- `(3 + 5) * C - D`
- `X / (Y * 4 - Z)`
这个CFG是上下文无关的,因为非终结符的替换(推导)不依赖于周围的符号,只依赖于自身的规则。
2.2 实验设置
模型——将普通 GPT2 -small(12 层、12 头、768 维)表示为 GPT
由于其绝对位置嵌入而导致性能较弱,我们实现了两种现代变体。 我们将具有相对位置注意力的GPT表示为GPT𝗋𝖾𝗅,并将具有旋转位置嵌入的GPT表示GPT𝗋𝗈𝗍。
GPT𝗉𝗈𝗌 将注意力矩阵替换为仅基于标记相对位置的矩阵,而 GPT𝗎𝗇𝗂 使用来自不同窗口长度的过去标记的恒定、统一平均值作为注意矩阵。
硬数据集𝖼𝖿𝗀𝟥𝖻,𝖼𝖿𝗀𝟥𝗂,𝖼𝖿𝗀𝟥𝗁,𝖼𝖿𝗀𝟥𝗀,𝖼𝖿𝗀𝟥𝖿的大小为(1,3,3,3,3,3,3)并且难度不断增加𝖼𝖿𝗀𝟥𝖻<𝖼𝖿𝗀𝟥𝗂<𝖼𝖿𝗀𝟥𝗁<𝖼𝖿𝗀𝟥𝗀<𝖼𝖿𝗀𝟥𝖿。 简单数据集 𝖼𝖿𝗀𝟥𝖾𝟣 和 𝖼𝖿𝗀𝟥𝖾𝟤 的大小分别为 (1,3,9,27,81,27,9) 和 (1,3,9,27,27,9,4)。 这些 CFG 生成的序列长度可达 3的6次幂=729。
2.3 实验结论
预训练的 Transformer 可以生成符合 𝖼𝖿𝗀𝟥 数据族的 CFG 规则的近乎完美的字符串。
预训练模型并不依赖于简单地记忆一小组模式来学习 CFG。
Transformer 的隐藏状态编码 NT 祖先和边界,且NT祖先编码在NT边界上
NT是什么呢?这个在定义里有提到,nonterminal symbols (𝐍𝐓)即非终结符。
当i位于NT边界上时,位置i的NT祖先的信息在位置i周围进行本地编码。
探索基于位置的注意力是否可以单独学习 CFG。 GPT𝗉𝗈𝗌(甚至GPT𝗎𝗇𝗂)表现良好,超越了普通的GPT,但未充分发挥 GPT𝗋𝖾𝗅 的潜力。 这支持基于相对位置的 Transformer 变体(例如 GPT𝗋𝖾𝗅,GPT𝗋𝗈𝗍、DeBERTa)比其基本模型(GPT 或 BERT)具有卓越的实际性能。 另一方面,这也表明 Transformer 学习 CFG 时仅靠位置注意力是不够的。
从注意力矩阵中删除位置偏差来检查剩余部分。 发现 Transformer 还学习了一种强大的基于边界的注意模式,其中 NT 端边界上的标记通常关注“最相邻的”NT 端边界,类似于用于解析的标准动态编程CFG。 这种注意力模式使 Transformer 能够有效地学习 CFG 的分层和递归结构,并根据 NT 符号和规则生成输出标记。
连接到 DP。 回想一下,动态规划 (DP) 由两个部分组成:存储和循环公式。 虽然确定 Transformer 遵循的特定 DP 实现是不切实际的,因为实现 DP 的方法有无数种,但我们可以突出显示 DP 实现中的常见元素以及它们与 Transformer 的相关性。 在Section 4中,我们证明了生成式Transformer可以对DP的存储“主干”进行编码,涵盖所有必要的𝖣𝖯(i,j,a)给定字符串的正确 CFG 解析树。
对于循环公式,考虑正确CFG解析树中的CFG规则a↦b,c,d。 如果非终结符 (NT) b 跨越位置 21-30,c 跨越位置 31-40,d 跨越位置 41-50,则 DP 必须建立“位置 30-40 和 40-50 之间的“记忆链接”。 这可以通过在位置 40 存储 [bc] 信息并将其与位置 50 处的 [d] 合并,或者通过在位置 50 存储 [cd] 并将其与[b] 在位置 30。 无论哪种方法,共同的特点是内存链接从30到40和从40到50。
Transformer 不仅是一种解析算法,也是一种生成算法。 假设 a↦b,c 和 c↦d,e,f 在正确的解析树上。 当生成符号e时,模型尚未完成读取def,必须从uncle节点b访问预先计算的知识。
3. Part 3 知识
3.1 知识存储和提取
3.1.1 概述
大型语言模型(LLM)可以存储大量的世界知识,这些知识通常可以通过问题解答提取出来(例如,"亚伯拉罕-林肯的生日是什么?) 然而,它们是基于训练期间接触类似问题(即作弊),还是通过真正学习从维基百科等来源中提取知识来回答此类问题?
在本文中,我们使用受控传记数据集对这一问题进行了研究。 我们发现,模型提取知识的能力与训练数据的各种多样性度量之间存在很强的相关性。 事实上,为了可靠地提取知识,必须在预训练期间充分增强知识(例如,通过释义、句子改组、翻译)。 如果没有这种增强功能,知识可能会被记住,但却无法提取,从而导致准确率为 0%,无论随后的指令如何微调。
3.1.2 实验设置
数据集 bioS 会生成 N=100,000 个体的特征。5 每个人的详细信息都是从均匀分布中随机独立选取的。 出生日期提供了 200×12×28 种可能性,而其他类别则提供了 100∼1,000 种选择。 我们还添加了一个 "公司城市 "属性,该属性取决于雇主的总部所在地。 我们确保每个人全名的唯一性。
我们为每个人生成六句话的传记文本条目,突出六个不同的方面。 为了实现多样性,每个句子都是从大约 50 个不同的模板中随机选择的。 在基本配置中,为每个人生成一个传记条目,保持六个句子的顺序一致。
例子:
Anya Briar Forger was born on October 2, 1996. She spent her early years in Princeton, NJ. She received mentorship and guidance from faculty members at Massachusetts Institute of Technology. She completed her education with a focus on Communications. She had a professional role at Meta Platforms. She was employed in Menlo Park, CA.
数据集 bioR 检查了 Llama [37, 40] 生成的“接近真实”的数据集。 对于N=100,000个人的集合,我们向 LLaMA 提供了生成传记条目的指导性提示。我们从模板库中选取了多种指导性提示,并采用了拒绝抽样的方法,以确保包含所有六个属性。 在基本配置中,我们为每个人生成一个单一的传记条目(表示为"bioR single")。
例子:
Anya Briar Forger is a renowned social media strategist and community manager. She is currently working as a Marketing Manager at Meta Platforms. She completed her graduation from MIT with a degree in Communications. She was born on 2nd October 1996 in Princeton, NJ and was brought up in the same city. She later moved to Menlo Park in California to be a part of Facebook’s team. She is an avid reader and loves traveling.
数据集QA
采用问答(QA)框架对知识提取进行评估。 我们针对每个人的六个独特属性提出了六个问题:
1. What is the birth date of Anya Briar Forger? Answer: October 2, 1996.
2.What is the birth city of Anya Briar Forger? Answer: Princeton, NJ.
3. Which university did Anya Briar Forger study? Answer: Massachusetts Institute of Technology.
4. What major did Anya Briar Forger study? Answer: Communications.
5. Which company did Anya Briar Forger work for? Answer: Meta Platforms.
6. Where did Anya Briar Forger work? Answer: Menlo Park, CA.
对于每个问题,我们都会将其作为提示,让模型生成回复。 质量保证的准确性以完全符合正确答案的比例来衡量。
模型
采用 GPT2/Llama 架构,其中对于 GPT2,我们将其绝对位置嵌入替换为旋转位置嵌入,但仍简称为 GPT2。
训练
预训练+指令微调。 这里,我们在 BIO 数据上预训练语言模型 随机抽样并将其串联成 512 个词符的句子,并用标准的 <EOS> 词符分隔。 然后,利用一半的质量保证数据对模型进行微调,并对剩余的一半数据进行评估,这就是典型的指令微调过程。
混合训练。 在混合训练中,我们在所有 BIO 数据和一半 QA 数据上从头开始训练模型。 BIO 和 QA 条目是随机抽样的,不要求来自同一个人。 我们使用参数𝖰𝖠r来控制QA数据量,主要是设置𝖰𝖠r=0.8(2:8 BIO与QA条目的比率)。利用剩余的质量保证数据对模型的生成精度进行评估。
LoRA + 全面微调 在完全微调中,预训练模型针对 QAs 等下游任务进行调整。 LoRA 微调通过冻结所有预训练的模型参数并向权重矩阵的子集添加低秩更新以进行微调,从而对此进行了改进。 我们对 Transformer 模型的查询/值矩阵和嵌入层应用低秩更新,以考虑输入数据分布的变化。 在呈现负面结果时,还包括全面微调。
3.1.3 实验结论
对知识及其提取 QA 任务进行混合训练的模型可以有效地学习知识提取。
经过预训练以逐字记忆知识的模型可能永远不会被微调来提取知识。
添加多重性、排列或重复全名,都有助于模型在预训练期间更好地存储知识,使以后的知识提取更加容易。
我们特别感兴趣的是属性在传记中的编码时间有多早。 例如,如果预测“公司名称”的线性分类器在人名之后显示出很高的准确度,则意味着该模型正在直接学习“Anya 的雇主是 Meta Platforms”。 如果仅在传记结尾处实现高精度,则模型可能使用有缺陷的逻辑,例如“生日是 1996 年 10 月 2 日,大学是 MIT,因此雇主是 Meta”。
在 bioS single 设置中,P 探测精度仍然很低(例如,公司名称为 2%),直到目标属性前面紧邻的词符(此时精度提高到 100) %)。 这表明该模型在预训练期间记住了所有 BIO 数据,但使用上面的“有缺陷的逻辑”对知识进行编码。 这阻止了 QA 微调期间的知识提取,尤其是在仅提供人员姓名的情况下。
在 bioS multi5+permute这样的重度增强设置中,从第一个特殊位置(即 all 属性之前)开始,所有六个属性的 P-P-Probing 精确度都上升到近 100%。 这表明该模型不仅可以记住 BIO 数据,还可以仅在看到人名的情况下识别该人的完整六个属性,促进 QA 微调过程中的知识提取。
对于中间设置,结果好坏参半。 例如,将 bioS single 与 multi5 进行比较,我们发现添加多重性(不进行排列)会导致更早的属性存储,从而导致属性存储的增加QA 将准确率从 9.7% 微调到 41%。 比较 bioS single+permute1 与 single+permute5,我们观察到将六个句子排列五次(不使句子多样化)也会导致更早的结果知识存储,解释了 QA 微调准确率从 4.4% 上升到 70%。
预训练数据中增加的知识增强提高了早期词符位置的P探测精度。 因此,键值对知识(例如,个人-雇主)更直接地将值与键相关联,而不是与其他相关属性相关联。 这种机制有助于通过微调来(分布外)提取知识。
QA 微调精度与 Q 探测精度密切相关,表明“属性与人名直接关联的程度”是有效知识提取的关键因素。 如果模型在预训练期间无法以这种方式存储知识,则无论提示或微调参数如何,QA 微调都可能无法纠正此问题。
上面的结论强调了知识增强的显着优势。 然而,在实践中,我们可能无法获得所有个人的扩增数据。 本节探讨部分增强数据是否可以改进非增强数据的知识提取。 在我们的传记数据集中,增强子集类似于 "名人 "组,拥有丰富的在线传记信息,也可能包含在微调数据集中。 非增补子集相当于一个传记数据有限的 "少数 "群体。
为了进行比较,我们引入了一组额外的N=100,000个体,即名人群体𝒫𝖼𝖾𝗅,而原始的N个体形成了少数群体𝒫𝗆𝗂𝗇。我们测试了合成的 bioS 和更真实的 bioR 数据。 对于 bioS,名人团体的传记使用 multi5+permute 增强,模拟互联网上的各种表达方式。 对于 bioR,名人团体使用 multi5 增强,使用 Llama 生成他们的传记五次。
语言模型在组合的传记集 𝒫𝖼𝖾𝗅∪𝒫𝗆𝗂𝗇 上进行预训练,然后使用来自名人团体 𝒫𝖼𝖾𝗅 的 QA 进行微调。 最后评估模型在 𝒫𝗆𝗂𝗇 组上的 QA 准确性。
引入名人数据可以提高少数群体的 QA 准确性(例如,bioS 数据的准确性从 4.4% 提高到 86.8%)。 这一点意义重大,因为
少数群体的 BIO 预训练数据在两种情况下都保持不变,并且
少数群体的 QA 数据在微调期间未使用。
名人数据的好处并不具有普遍性。 用 WikiBook 数据集代替它可以提高该模型的英语理解能力,但它在传记知识提取方面仍然很吃力。 这表明只有类似形式的名人数据才能真正帮助少数群体提取知识。
虽然像 BERT 这样的双向模型对知识排序不太敏感,但 MLM 预任务不一定促进后续提取的知识存储。 除非知识是独立单词或独立单词(例如月、日、年),否则在 MLM 预训练后提取知识即使不是完全不可能,也可能具有挑战性。
该模型在 "出生日期 "和 "主要 "属性上表现出色,但在其他属性上却举步维艰。 原因很简单。 在 MLM 中,每个单词被屏蔽的机会均等,模型会学习将知识单词与最相关未屏蔽的单词关联起来,最好是那些相邻的单词。 例如,代表 "出生日期 "属性(月、日、年)的单词非常独立,因此模型更倾向于将它们与人的姓名联系起来。 对于像出生城市这样的属性,城市“贝尔维尤”和州“WA”之间存在很强的联系,模型会最大化这种关联,而不是存储有关人名的知识。
3.2 知识操纵
3.2.1 概述
语言模型可以存储大量事实知识,但它们灵活地将这些知识用于下游任务(例如,通过指令微调)的能力仍然值得怀疑。 本文研究了四个基本知识操作任务:检索(例如,“人 A 的属性 X 是什么?”)、分类(例如,“A 的属性 X 是偶数还是奇数”) ?”)、比较(例如,“属性 X 中 A 大于 B 吗?”)和反向搜索(例如,“哪个人的属性 X 等于 T?” )。
我们表明,语言模型在知识检索方面表现出色,但即使在最简单的分类或比较任务中也很困难,除非在训练和推理过程中都使用思想链(CoT)。 此外,无论提示如何,它们在逆向知识搜索中的性能几乎为 0%。 我们的主要贡献是一个受控的综合实验,它证实了这些弱点是语言模型固有的:它们无法有效地操纵预训练数据中的知识,即使有足够的训练和足够的模型大小且这些知识是完美存储在模型中的。
3.2.2 实验设置
数据集bioS, bioR, QA
模型GPT2/Llama/Mistral 架构
3.2.3 实验结论
我们将N个体平均分为训练集𝒫𝗍𝗋𝖺𝗂𝗇和测试集𝒫𝗍𝖾𝗌𝗍。 该模型使用 8 个 QA 任务对 𝒫𝗍𝗋𝖺𝗂𝗇 中的个体进行微调,并通过测试其对问题的响应来评估其分布外 (OOD) 生成准确性对于 𝒫𝗍𝖾𝗌𝗍 中的个人。使用LoRA微调来增强性能。
当两项任务都完成时,双重检索通常很容易。 然而,如果知识之间存在因果关系和空间关系,那么它们的顺序可能很重要。(这和上一节的结论相似)
具体来说,
如果语言模型在充分增强的数据上进行预训练,例如 bioS multi5+permute,它为每人生成五个传记条目并随机排列六个句子,则双精度知识检索近乎完美。
但是,如果预训练数据在两个知识片段之间表现出空间依赖性,则检索顺序可能会影响准确性。 例如,使用 bioSmulti5+fullname,其中传记条目始终保持相同的顺序(具体来说,公司名称始终位于公司城市之前,并且回忆公司城市是唯一确定的),首先回答公司名称会产生近乎完美的准确性,但首先回答公司城市会大大降低准确性。
即使可以完美提取某个属性(例如,1996 年 10 月 2 日),仅部分检索其较晚的标记(例如,年份 1996)可能仍然很差。
特别是,尽管正确回答了“Anya 的出生日期是多少”,但该模型可能无法回答“Anya 的出生年份”之类的问题。
我们将这两个结果视为模型需要 CoT 进行知识操作的基础知识证据。 例如,在推理过程中,模型必须明确指出出生月份/日期,然后才能回答出生年份(我们在训练中使用美国格式“月日,年”)。 它无法“跳过” Token 直接生成从预训练中学到的后续知识。
如果没有 CoT 示例,模型的测试准确性也非常低,即使对于最简单的单步操作任务也是如此。
确定一个月是偶数还是奇数需要 10,000 个训练样本才能达到 75% 精度,尽管理论上需要的样本复杂度约为 O(12) 。
排名月份需要 50,000 训练样本才能达到 85% 测试精度,即使理论样本复杂度为 O(12的平方),前提是没有给出任何提示 。
即使在 250 万个训练样本中,对 100 个专业进行排名也勉强优于随机排名 。
只有“迁移学习”(即知识重述)具有良好的准确性。
即使在训练期间包含 CoT 示例,模型在测试期间仍然难以在没有提示的情况下回答,这表明在训练期间包含提示并不会提高删除提示时的测试时准确性。
相反,当模型在测试期间使用提示时,准确性会显着提高。 操作任务的准确性很大程度上取决于模型是否首先成功生成提示。
在没有 CoT 的情况下,现实生活中的 GPT-4 也难以进行知识分类/比较。
模型在逆向知识搜索中精度接近于零,即使对于最简单的任务all_to_first,即使 BIO+QA 混合训练方法,以及强大的预训练数据知识增强。
相反,只有当预训练数据中的知识顺序真正颠倒过来,在第一次出现人名之前就呈现出一些属性,测试的准确率才会提高。 这是为了说明目的;一旦顺序颠倒,任务就不再是逆向知识搜索。
GPT-3.5/4 在逆向知识搜索方面也表现出巨大的困难。
为了提高大语言模型对关键文档的逆向搜索,我们不仅可以使用RAG或预处理训练数据以包含逆向知识。
3.3 知识能力缩放法
3.3.1 概述
缩放定律描述了语言模型的大小与其能力之间的关系。 与之前通过损失或基准评估模型能力的研究不同,我们估计模型存储的知识位数。 我们专注于以元组表示的事实知识,例如维基百科页面中的(美国、首都、华盛顿特区)。通过多个受控数据集,我们确定语言模型每个参数只能存储 2 位知识,即使量化为 int8 也是如此,并且可以灵活地提取这些知识以供下游应用程序使用。因此,7B 模型可以存储 14B 位知识,根据我们的估计超过了英文维基百科和教科书的总和。
3.3.2 实验设置
在本文中,一条知识是三个字符串的元组:(name, attribute, value) 。
数据集bioD, bioS, bioR
模型 GTP2
训练 训练采用标准自回归损失。 除非另有说明,训练使用默认的 AdamW 优化器和混合精度 fp16。 学习率和权重衰减被适度调整。
3.3.3 实验结论
在相同的 1000 次曝光设置中,在 bioS 和 bioR 上训练的 GPT2 simple 峰值容量比约为 2,尽管略低。 因此:不同的数据(多次重写相同的数据)不会损害,有时甚至可能提高模型的能力!
2bit/param容量比是大多数典型(仅解码器)语言模型架构中相对普遍的规律。
如果知识的训练不够充分(例如出现次数降低到100次),其存储能力大概会降低到 1 bit / param。在这种情况下,不同模型架构的差异开始显现:Llama和Mistral的架构表现要比GPT-2差大约1.3倍。
将GPT-2的MLP层缩减到1/4,其存储能力没有太明显的损失,但如果完全移除MLP层,则会有显著的损失。
如果把Llama的结构中GatedMLP换成标准的MLP,其存储能力将恢复到与GPT-2一致。
从门控 MLP 切换到标准 MLP可增强较大模型的容量比。 对于小型模型,使用 GPT2Tokenizer是有益的。
像 GPT2 这样的语言模型可以超过存储知识的绝对理论极限的 1/4。
不幸的是,使用auto gptq量化包,将模型减少到 int4 会显着降低其容量(从 int8 到 int4 的损失超过 2 倍)。 这表明对于高质量的 int4 模型,可能需要在训练期间结合量化。
当垃圾数据模仿随机知识时,除非大幅增加训练时间,否则容量比率会受到显着影响。如果垃圾数据高度重复,则不会出现降级。 在有用数据中添加特殊符号词符(类似于 wikipedia.org 等域名)可以减轻容量下降。
质量不高的数据中混有的错误方式也是一种信息,而LLM并不能自动地区分出这些,尤其是在所有数据无差别地混在一起的时候。模型在学习这些错误信息时会占用其知识容量,特别是错误类型繁多,这对模型容量的占用较大。
通过添加来源标签,模型能够区分不同来源的数据。相比之下,高质量的数据的信息量较少(包含的错误模式信息更少),更容易被模型学习到,因此模型会优先学习这些更容易学习的模式。低质量信息的错误模式往往千差万别且较为长尾,但与高质量信息一致的内容也会被优先学习。
模型并不能自动识别优质内容,而是倾向于优先学习更容易的内容,即“信息密度更低”的内容。
一个经过充分训练的 Transformer(即训练损失已达到稳定水平的 Transformer)可以为每个参数存储 2 位知识,即使量化为 int8 时也是如此,这与信息论最大值相一致。
4. Part 2 小学数学推理
这部分后面要具体做复现,再写文章,所以这里就简单整理一下。
4.1 概述
语言模型的最新进展已经证明了它们解决数学推理问题的能力,在 GSM8K 等小学水平的数学基准上实现了近乎完美的准确性。 在本文中,我们正式研究语言模型如何解决这些问题。 我们设计了一系列对照实验来解决几个基本问题:(1)语言模型能否真正培养推理能力,还是只是记住模板? (2)模型的隐藏(心理)推理过程是什么? (3) 模型是否使用与人类相似或不同的技能来解决数学问题? (4) 在类 GSM8K 数据集上训练的模型是否能够发展出超出解决 GSM8K 问题所需的推理能力? (5)什么心理过程导致模型出现推理错误? (6) 模型必须有多大或深度才能有效解决 GSM8K 级别的数学问题?
4.2 实验设置
数据集 iGSM-med, iGSM-hard
模型 GPT2
4.3 实验结论
GPT2 在使用 iGSM-med 或 iGSM-hard 数据进行预训练时表现良好,即使是使用更难的数学问题进行测试。 因此,模型可以真正学习一些推理技能,而不是记住解决方案模板。
GPT2 主要通过“1 级”推理技能解决 iGSM 问题,避免不必要的计算,即使在分布外评估时也是如此。
在生成第一个token之前,LLM就已经能确定最佳求解过程。
* 实际上在提出问题之前,LLM在内部已经构建了所有参数之间的依赖关系,原文称为Level-2推理。这种能力超越了普通人类的推理水平。
* 数据集中没有任何Level-1和Level-2推理算法的说明,这种求解能力完全是LLM从预料中的各种问题数据中自然学习到的。
模型像人类一样解决数学问题。
在生成解决方案时,模型不仅会记住哪些参数已计算,哪些参数尚未计算 (value,known),而且还知道接下来可以计算哪些参数 (can_next,nece_next)。 这些能力确保模型能够逐步解决给定的数学问题,类似于人类解决问题的能力。
在问题描述结束时,模型已经知道必要参数的完整列表 (nece)。 这表明模型已经学会提前计划,在开始生成解决方案之前确定必要的参数。 这与人类行为一致,只不过模型会在心里进行计划,而人类通常会写下来。 这进一步证实了模型达到了Section 3节中讨论的“1级”推理能力。
令人惊讶的是,该模型在预训练后还学习了不必要但重要的技能,例如全对依赖。 在提出任何问题之前,它已经(在心理上!) 即使解决数学问题不需要某些参数,也可以高精度计算哪些参数取决于哪些参数。请注意,计算全对依赖性是一项不需要的技能来适应数据中的所有解决方案。 据我们所知,这是第一个证据表明语言模型可以学习超出适合其预训练数据所需的有用技能。2 这可能是AGI中的G的来源的预备知识信号。
逆向思维过程。 AGI 成功的一个关键问题是“逆向思维过程”(例如,“因为我想计算 X,但 X 依赖于 Y,Y 依赖于 Z,所以让我先计算 Z”)是否需要明确包含在训练数据。 这与 CoT 不同,CoT 将复杂的计算分解为更简单的步骤,但仍然需要进行规划来决定首先计算哪个步骤。
我们的研究结果表明,至少对于小学数学问题,在数据丰富的情况下,这种逆向思维过程可以通过语言建模自主学习,而不需要直接包含在训练数据中。
在这个问题上,LLM犯的错误并非随机抽样导致的,在生成第一个token之前就可以通过内部状态检测出它会犯哪些错误,存在系统性的错误。
语言模型的深度至关重要,可能是由于其隐藏推理过程的复杂性。
具体来说,我们尝试了深度 4/8/12/16/20 和两种尺寸(较小尺寸 1 和较大尺寸 2)的模型。我们观察到 4 层 Transformer 即使具有 1920 个隐藏维度,在我们的数学数据集上的表现也不佳。 相反,更深但更小的模型(例如 20 层 576 维)表现非常好。 垂直比较准确度揭示了模型深度和性能之间的明显相关性。 因此,我们推断深度对于推理任务(例如解决小学数学问题)可能至关重要。