循环GPT-BERT:以参数换取计算的小型语言建模

arXiv cs.CL 论文

摘要

本文介绍了循环GPT-BERT,它通过深度方向参数共享来训练参数更少的小型语言模型,在BabyLM 2026严格小规模设定中达到了与基准模型相当的性能。

arXiv:2609.09691v1 公告类型:新 摘要:当训练数据有限时,增加参数量并非提升语言模型性能的唯一途径。一组较小的参数,通过反复应用,同样可以带来相当的性能表现。我们在BabyLM 2026严格小规模设定下研究了循环GPT-BERT,将GPT-BERT的掩码下一词元预测与因果语言建模目标相结合,并采用了深度方向参数共享。我们在一个经过预处理的748万词英语语料库上进行训练,并比较了目标函数比例、非循环与循环架构以及循环次数。我们最终的$4\times12$模型使用四个物理层进行了十二次循环遍历,包含12.18M参数。BabyLM 2026排行榜报告显示其总体平均分为35.42,NLP平均分为48.48。与公开的BabyLM 10M严格小规模GPT-2和GPT-BERT基准模型相比,该模型在包括BLiMP和GLUE在内的选定语言学与下游任务指标上,以更少的参数达到了可比的性能。循环消融实验表明,额外的循环计算可以改善训练并在选定的语言学任务上保持强劲性能,而在其他任务上表现较差则可能揭示了循环设计的一个固有局限:仅使用少量物理层会限制模型的表征空间。
查看原文
查看缓存全文

缓存时间: 2026/09/10 08:13

# 循环GPT-BERT:小型语言建模中以计算换取参数
来源:https://arxiv.org/html/2609.09691
穆洪涛、周天宇、刘翰森、纪涛
单位:复旦大学外国语言文学学院
邮箱:[[email protected]](mailto:[email protected])  [[email protected]](mailto:[email protected])

###### 摘要

当训练数据有限时,增加参数数量并非提升语言模型性能的唯一途径。一组少量的参数,若能反复应用,也能达到可比的性能。我们研究了在BabyLM 2026严格小型设置下的循环GPT-BERT,它将GPT-BERT的掩码下一词预测与因果语言建模目标相结合,并采用深度方向的参数共享。我们在一个经过预处理的748万词英文语料库上进行训练,比较了目标比例、非循环与循环架构以及循环次数。我们最终的4×12模型使用四个物理层进行十二次循环遍历,包含1218万参数。BabyLM 2026排行榜报告显示其总平均分为35.42,NLP平均分为48.48。与公开的BabyLM 1000万严格小型GPT-2和GPT-BERT基线相比,它在选定的语言和下游指标(包括BLiMP和GLUE)上,以更少的参数实现了可比的性能。循环消融研究表明,额外的循环计算可以改善训练并在选定的语言任务上保持强大性能,而在其他任务上表现较差可能揭示了循环设计的一个固有局限:仅使用少数物理层限制了模型的表示空间。

\faIcon{envelope}\faIcon{envelope}脚注:通讯作者。

## 1 引言

语言模型的性能通常通过联合扩展模型规模、数据和训练计算来提升。扩展律研究描述了损失、参数数量、数据和计算之间可预测的幂律关系(Kaplan等人,2020),而计算最优分析则强调参数和词元预算应联合分配(Hoffmann等人,2022)。这些结果主要涉及规模大得多的自回归模型,其中模型容量和每个样本的计算量同步增长。然而,在数据和参数预算受限的情况下,两者未必需要同步增长:反复应用相同的参数可以在不成比例增加可学习权重的情况下,创建更深的计算路径。因此,我们探究,在低资源语言模型预训练中,由共享参数引起的循环计算是否能够补偿物理深度和参数容量的减少。

BabyLM挑战赛通过将预训练文本限制在符合发展规律的规模内,并评估语言、下游和类人行为,为这一问题提供了受控环境。我们在BabyLM 2026严格小型赛道上,使用清洗后的748万词英文语料库进行研究。我们的起点是GPT-BERT(Charpentier和Samuel,2024),它在一个Transformer参数栈中同时训练掩码下一词预测(MNTP)和因果语言建模(CLM)。因此,它支持双向掩码预测和自回归评分或生成。这种混合目标提供了另一个研究维度:当骨干网络被循环使用时,掩码和因果监督的相对比例是否会改变架构所获得的能力?

我们在GPT-BERT之上引入了深度循环参数共享。通用Transformer在深度方向上反复共享变换(Dehghani等人,2019),而ALBERT表明跨层共享可以显著减少编码器参数(Lan等人,2020)。最直接相关的是,循环Transformer将固定输入和前一个循环状态注入共享骨干网络,通过迭代增加有效的计算深度(Yang等人,2024)。然而,它们最有力的证据来自上下文算法学习任务,如线性函数、决策树和神经网络回归。自然语言预训练必须同时获取词汇知识、句法规律、世界知识和篇章状态;这些计算是否能够通过重复的共享层来支撑,仍是一个开放的实证问题。

我们研究三个问题:BERT与GPT的训练比例如何改变训练目标和下游能力;通过重复应用少量物理层形成的有效深度,是否能在大幅减少参数的情况下保持语言能力;以及随着循环次数的增加,训练和下游任务是否持续受益。我们总结贡献如下:
- 我们介绍了循环GPT-BERT,它将GPT-BERT的混合MNTP/CLM目标与深度循环参数共享相结合。
- 我们研究了在循环架构中,BERT:GPT目标比例如何影响训练和下游行为。
- 我们比较了一个12层非循环模型与四个物理层应用1/3/6/12次的模型,展示了循环计算如何弥补可学习层减少带来的差距,以及在何处额外循环收益递减。
- 我们在BabyLM挑战赛中评估了最终模型,其1218万参数在语言和下游任务上达到了与公开的严格小型基线可比的性能。

表1:代表性的语料库清洗操作。示例已为呈现目的而缩短。

## 2 相关工作

#### 数据高效的LM预训练

BabyLM将注意力从网络规模训练下的性能转向受控数据预算下的学习效率。首届挑战赛表明,架构、预训练目标、数据预处理和课程学习都会显著影响小型模型的性能,没有单一方法能在所有下游任务上占优(Warstadt等人,2023;Hu等人,2024)。后续研究进一步发现,数据组合的效果取决于模型规模:适合一种模型规模的体裁混合不一定对另一种规模最优(Yam和Paek,2024)。其他BabyLM研究探索了变体集、受儿童启发的数据与词汇选择、显式语言信息以及自蒸馏作为提升样本高效预训练的互补途径(Haga等人,2024;Ghanizadeh和Dousti,2024;Edman等人,2024;Nair等人,2024)。这些方法主要通过数据选择、排序或目标来提高样本效率。作为补充,我们研究参数效率:在保持训练语料库和模型宽度固定的情况下,我们用通过共享物理层进行的重复计算来替换部分独立参数化的深度。

#### 混合因果与掩码建模

CLM从左上下文预测下一个词元,而传统的MLM则从双向上下文在各自位置预测选定的词元。因此,在解码器风格的模型中,这两个目标为相同的输出位置赋予了不同的含义。GPT-BERT通过MNTP解决了这种不匹配(Charpentier和Samuel,2024):当词元 x_{k+1} 被掩码时,监督信号向左移位,使得位置 k 的隐藏状态预测原始的 x_{k+1}。因此,因果和掩码样本共享单个下一词元词汇表投影和损失接口。GPT模式行保留其原始词元并使用下三角注意力掩码;MNTP模式行损坏选定的输入词元,允许双向注意力,并且仅在相应的移位后下一词元位置计算损失。每个训练行被分配一种模式,而不是同时接受两种损失。AntLM同样在BabyLM设置中结合了因果和掩码语言建模目标,在训练期间交替使用(Yu等人,2024)。

#### 循环深度与参数共享

通用Transformer在深度方向上循环更新表示,同时保持序列位置上的并行计算(Dehghani等人,2019);ALBERT使用跨层参数共享主要是为了提高参数效率,并表明共享策略会影响下游行为(Lan等人,2020)。循环Transformer使用循环 z_{t+1} = f(x + z_t),其中 x 是固定的输入嵌入,z_t 是循环状态,f 是共享的Transformer骨干(Yang等人,2024)。这使得有效的计算深度随循环次数增长,而参数数量主要由物理层数决定。Kohli等人(2026)提供了更直接的自然语言参考:循环深度Transformer可以改善隐式多跳推理中的系统性泛化和深度外推,但过多的循环也可能因过度思考而降低预测质量。这两方面的工作都没有确立共享循环是否统一适用于词汇、句法、世界知识和篇章状态的学习。因此,我们在语言和状态跟踪任务上比较了等应用次数和等参数量的配置。

## 3 方法

### 3.1 语料库准备与分词

我们通过选择和清洗六个源语料库来构建我们的训练语料库:BNC Spoken、CHILDES、Project Gutenberg、OpenSubtitles、Simple English Wikipedia 和 Switchboard。生成的 `new_data1` 语料库由我们基于规则的归一化和过滤流程产生,该流程移除冗余、短或低质量内容、大小写和结构噪声,并归一化对话格式。预处理代码和源文件可在我们的预处理仓库中找到(https://github.com/JT-Ushio/babylm26-nlp-spring)。表1总结了操作和代表性的输入输出示例。清洗后,选定的六个语料库产生了7,482,189个以空格分隔的词。我们直接使用这个清洗后的完整语料库进行预训练,而不是添加或填充数据以达到1000万词的上限。按来源统计的词数在表2中报告。

我们使用两个字节对编码(BPE)分词器。官方的16k GPT-BERT分词器仅用于早期的非循环比例实验,而基于 `new_data1` 语料库训练的8k分词器用于主要和循环实验。BPE提供了一种子词表示,可以处理固定词汇表之外的单词(Sennrich等人,2016)。对于这个小数据设置,我们选择8k词汇表作为参数分配的权衡:在隐藏大小为384时,其绑定的嵌入表包含 8,192 × 384 ≈ 3.15M 参数。在我们的语料库中,将词汇量从16k减少到8k,使得测得的每个空格分隔词的平均词元数(fertility)从1.4381增加到1.4787,增加了2.82%。这表明对于固定的128个词元输入,词级上下文覆盖有适度变化,同时避免了更大的嵌入分配。

表2:预处理后的词数统计。

### 3.2 混合GPT-BERT目标

令 x = (x_1, ..., x_T) 为一个词元序列,θ 为共享模型参数。对于GPT模式行,使用因果注意力掩码,并监督每个非填充的下一词元:
$$\mathcal{L}_{\mathrm{GPT}} = -\sum_{t=1}^{T-1} \log p_{\theta}(x_{t+1} \mid x_{\leq t})$$

对于BERT模式行,以从0.3线性递减到0.15的掩码概率采样可预测位置。在选定的词元中,80%被替换为掩码词元,10%被替换为随机词元,10%保持不变。允许双向注意力。目标被移位到前一个隐藏状态位置,以便它与解码器风格的下一词元头保持对齐。如果 \(\tilde{x}\) 表示损坏的输入,则目标为:
$$\mathcal{L}_{\mathrm{BERT}} = -\sum_{t \in M} \log p_{\theta}(x_t \mid \tilde{x}_{\setminus t})$$

只有对应于选定掩码的移位位置对此损失有贡献;所有其他标签被设置为忽略索引。因此,未掩码的BERT位置从不进入损失函数。批次级别的比例 \(r_{\mathrm{B}} : r_{\mathrm{G}}\) 将完整的行分配给两种模式,并且优化的目标对有效的监督词元进行平均,并加上权重为 \(10^{-4}\) 的zz损失正则化器。我们最终的设置使用1:3,因此四分之一的行使用MNTP,四分之三的行使用CLM。

### 3.3 循环Transformer骨干

非循环基线包含十二个独立的Transformer层。循环骨干则包含四个独立参数化的物理层,每个层具有注意力和前馈子层。每个循环将静态词元表示 x 加到前一个循环状态 z_t 上,并应用相同的四层堆栈 \(F_{\theta}\):
$$z_0 = 0, \\$$
$$z_{t+1} = F_{\theta}(x + z_t), \quad t = 0, \ldots, L-1.$$

因此,\(z_{t+1}\) 是当前遍历产生的最终表示,并直接传递到下一次遍历;它不是一个额外的网络操作。在物理层 i 内部,注意力和前馈变换按顺序应用:
$$u_t^{(i)} = \operatorname{DWA}_{i,A}\!\left(h_t^{(i)} + \operatorname{Attn}_{i}(h_t^{(i)})\right),$$
$$h_t^{(i+1)} = \operatorname{DWA}_{i,F}\!\left(u_t^{(i)} + \operatorname{FFN}_{i}(u_t^{(i)})\right).$$

GPT-BERT的动态加权累积(DWA)是一个可学习的短程残差混合器,而不是额外的循环状态。我们将DWA限制在每个物理层内的表示融合,并在每次循环时重新初始化它;循环间的信息传递完全由 z_t 承载。因此,一个 4×L 模型具有四组Transformer参数,但执行了 4L 次层应用。4×3、4×6 和 4×12 变体分别执行12、24和48次层应用,同时保持相同的参数数量。这种“有效深度”仅计算层应用次数:反复应用共享参数不等同于具有相同层数的非共享Transformer。

### 3.4 训练配置

表3列出了主要配置。除了图中显示的结构超参数外,优化使用LAMB优化器(You等人,2020),峰值学习率为0.0141,最小学习率为0.00141,采用余弦衰减进行2600步,随后保持恒定的最小学习率。我们选择峰值...

相似文章

参数高尔夫:什么真正有效?

arXiv cs.CL

一篇论文分析了在严格的大小和时间限制下训练语言模型的参数高尔夫开放挑战,发现单个技术很少能将BPB提高超过1%,但总体上实现了13.6%的降低。