大模型论文:CRAMMING: TRAINING A LANGUAGE MODEL ON ASINGLE GPU IN ONE DAY(效率提升)
文章地址:https://arxiv.org/abs/2212.14034
摘要
近年来,语言建模的研究趋势集中在通过大规模扩展来提升性能,导致训练语言模型的成本变得高昂,使得大多数研究人员和从业者难以承担。在多数研究者关注如何突破极限计算能力的同时,我们提出了一个相反的问题:在只有一块消费级GPU、仅训练一天的情况下,我们能取得多大的进展?
我们研究了在这种受限环境下,从零开始使用掩码语言建模(Masked Language Modeling, MLM)训练的基于Transformer的语言模型,其在下游任务上的表现。除了重新分析几乎整个预训练流程以适配该场景,并提供一种在性能上接近BERT的修改版流程外,我们还探讨了为何缩小模型规模会如此困难,以及在这种资源受限场景中哪些修改真正提升了性能。
我们提供的证据表明,即便在这种受限的设置下,模型性能依然遵循在大规模计算环境中观察到的扩展定律(scaling laws)。以扩展定律为视角,我们对一系列近期训练方法和架构改进进行了分类,并讨论了它们在有限计算资源场景下的优劣与实际可行性(或不可行性)
研究背景
大规模训练基于Transformer架构的机器学习模型,已在自然语言处理的多个子领域带来了突破性进展,包括语言理解和自然语言生成,这类模型的关键特性是:这类系统可以稳定扩展——随着模型参数数量和训练数据量的增加,性能会持续提升。这种性能的提升遵循各种幂律关系,从而确立了一个主导范式:扩展规模是性能提升的关键
较为优秀的语言模型如BERT模型,虽然已广泛应用,但训练所需计算资源依然非常庞大,让许多研究者和从业者感觉训练语言模型遥不可及
提出一个反其道而行的研究目标:探索如何有效“缩小”语言模型的训练规模,并研究在这种条件下的取舍。核心问题是:
“在只有一块消费级GPU、训练时间只有一天的条件下,一个普通研究者最多能实现什么样的下游性能?”
为了回答这些问题,本文提出了一个名为 “Cramming”(临时抱佛脚) 的挑战:在考试前一天,学习一个完整的语言模型
本文的研究从多个方面分析训练流程,研究在缩小规模条件下哪些修改会真正提升性能。即使在这样受限的环境中,本文发现性能表现仍然遵循大计算资源环境下的扩展规律(scaling laws)
总结来说,本文的研究的核心思想:挑战当前“越大越强”的范式,探索在极度有限的资源下(1块消费级GPU + 1天时间)是否可能训练出接近BERT性能的语言模型。研究的关键价值在于:
为资源有限的研究者提供方法和希望;
挑战扩展定律在低资源场景下的适用性;
提供技术路线以优化训练流程,使其适应低成本环境;
促进更广泛的研究可能性,如安全性、公平性、可解释性等,不依赖大模型。
先说结论,本文最终训练出一些模型,其在GLUE任务上能达到相当可观的性能,甚至在部分任务中接近或超过了BERT,而所需资源却大大减少——真正实现了“穷人版预训练”
受限情况下的算力限制
使用的算力应该遵守的规则如下:
- 模型训练完全从零开始:必须从零开始训练一个任意大小的Transformer语言模型,使用掩码语言建模(Masked Language Modeling),不允许使用任何已有的预训练模型。
- 禁止使用现有预训练模型的任何部分:这适用于训练流程中的所有环节。
- 允许使用原始文本进行训练(不包括下游数据):可以根据策略选择采样方式和时机加快训练速度,但不能依赖任何预训练模型来进行采样。
- 原始数据的下载与预处理不计入总计算预算:可以使用CPU来构建分词器、分词和数据过滤,但不能包含任何形式的表示学习(如词嵌入预训练),除非将其计入训练时间。
- 训练必须在单张GPU上进行,持续24小时。
- 下游性能评估基于GLUE基准任务:在GLUE上的微调仅限于目标任务数据的短期训练(例如5个epoch以内),并且超参数必须全局设定,不能单独调参。微调所需的计算资源不计入总预算。
本文采用两类设置来进行实验:
传统的 RTX2080Ti(2018年发布);
较新款的 RTX A4000 和 RTX A6000(分别为2020年发布的工作站级GPU)。
每张卡片都搭配 4 核CPU 和 32GB 内存
这些限制主要是为了重新检验BERT的原始训练设定在有限算力下是否依然有效
此外,本文排除了如下做法:
- 模型蒸馏(distillation)(如Turc et al., 2019;Jiao et al., 2020),因为它依赖于已有模型;
- 数据过滤(Kalimoorthi et al., 2021;Golchin et al., 2022),因为这依赖于大模型提取的表示;
- 使用已有预训练模型的表示信息或压缩形式。
本文也不使用BERT的原始训练数据集,希望通过更好的数据清洗与质量控制来挖掘改进空间
GPU选择理由
- RTX2080Ti 是天然的选择,因为它在BERT发布前就已存在;
- RTX A4000 是更现代的消费级卡;
- RTX A6000 是最强的单机工作站GPU之一。
对微调阶段的限制:尽可能模拟BERT的下游任务设置,但施加额外限制,以避免通过复杂调参等方式“刷分”:
- 禁止多轮下游任务预训练(如MNLI先训练,再训练其他任务);
- 禁止在每个任务上进行高强度的超参数调优(例如使用Devlin et al., 2019;Liu et al., 2019中描述的优化方法);
- 目的是避免利用过度计算优化下游任务性能。
总结来讲:
- 核心目标是模拟一个资源极为受限的研究者,在不依赖任何现成模型、只用一天时间和一块GPU的条件下,能否复现出接近BERT水平的模型。
- 通过这些限制,研究团队试图把“大模型时代”的训练理念倒过来思考,聚焦于算法、训练策略本身在低资源下的有效性。
现有优化研究
训练BERT要花多长时间?
这个问题本质上很难回答,因为训练时间高度依赖于硬件、软件、优化程度等多种因素。不过,可以通过“运行期间最大FLOPs预算”(即给定时间内可执行的低精度浮点运算次数)来估算训练所需上限。然而,即便是高度优化的模型,实际训练中也很难达到该理论峰值,但该预算代表了完成训练任务所需的“付费”资源总额。
例如,在TPU上训练BERT的早期尝试显示,需要约11天的计算量才能实现类似效果。尽管随着软件优化的发展,训练所需时间已大幅缩短,但训练BERT依然需要整套GPU服务器或TPU分片,资源成本非常高。
高效BERT研究方向
有一些工作试图在接近BERT设定的基础上优化计算开销,如:
- SqueezeBERT(2020):使用8张Titan RTX显卡,训练4天;
- Sellam等(2022):指出原始BERT训练非常“极端”,并将其训练时间加倍后作为更合理的比较基准;
- Izsak等(2021):试图在24小时内重现BERT,但使用的是完整服务器、8张V100 GPU,并采用BERT-large架构,序列长度128,并通过调参实现了优化。
本论文将其作为对比基线设定,因为它的资源消耗大约是本研究的15倍。
高效Transformer架构研究回顾
近年来,大量研究聚焦于优化Transformer架构,包括:
- T5结构修改与评估;
- 1.75天TPU资源评估:结果显示大部分修改并未带来显著性能提升;
- Tay等人的扩展研究:在各种尺度下发现,大多数架构修改无法超越原始Transformer;
- Scao等人:评估在大规模训练前准备的小改动(布局、嵌入、数据源等);
- 极大规模训练如GPT-3和PaLM的架构:这类研究对改动也相当保守。
然而,这些工作大多依赖极大的计算资源,不适用于本文关注的受限场景。
扩展规律(Scaling Laws)
Kaplan的研究揭示了一个核心规律:Transformer模型的性能主要由参数数量决定。他们发现,在相同的计算预算下,可以推导出一个“最优模型尺寸”,但:
- 模型越大,单位计算的效率越低;
- 模型越大,训练越快;
- 所以存在权衡点:大模型虽成本高,但进步也快。
这些规律对大型模型适用性良好,但在小规模条件下并不总能复现同样的趋势。即使如此,其总体逻辑依然具备参考价值。
总结
- BERT训练成本极高:哪怕使用TPU/GPU,优化软件后训练成本仍是“天价级”。
- 原始BERT训练被认为是异常的,后续有研究提出更合理的训练时间与设置。
- 本研究对比对象(Izsak et al., 2021)消耗资源是本论文的15倍,体现本文研究的节俭性。
- 绝大多数架构优化在小规模训练中收效甚微,大多数提升集中在大模型、高资源场景。
- 扩展规律仍然适用:即使在小模型上不能完美复现,但其优化策略依旧可借鉴。
实验探索(Investigations)
本文在有限算力条件下,基于BERT模型的原始设置,测试和实现了大量结构、训练方法和数据改进策略
一、实验设置
实现细节(Implementation Details)
- 实现框架: 所有实验都基于 PyTorch。为了避免“软件抽奖”带来的不公平比较,我们不使用特化实现,而是尽量依赖通用组件,仅启用 PyTorch 自动融合操作
- 注意力机制优化: 结构选择完毕后,才重新启用 Dao等人(2022)提出的高效 attention kernel。
- 精度策略: 使用 Micikevicius 等人(2018)提出的自动混合精度(AMP)策略,包括16-bit、32-bit 和 bfloat16 精度。
初始数据集设置
本文复刻BERT的设置,使用英文维基百科和 BookCorpus 数据
- 数据预处理: 全部转换为小写,去除重音符号和非ASCII字符;
- 分词方式: 使用 WordPiece,词表大小 215 = 32768 2 15 = 32768 215=327682^{15} = 32768 215=32768215=32768。较小词表表现较差,过大词表表现不稳定;
- 序列设置: 所有数据被打包为128长度的随机片段,并用
[SEP]
分隔;不使用[CLS]
; - 训练配置: 单轮训练,使用 RTX2080Ti,每个模型的micro batch size 在64到96之间;
- 结果: 满足了本文目标任务的训练和注意力计算效率。
二、 架构修改(Modifying the Architecture)
缩小模型的有效方式
- 缩小模型容量是减小训练成本的关键。训练效率在每个模型大小范围内变化不大,但模型越小学习越慢(每步下降少),但可以跑更多步。
- 这使得本文可以基于“每一步所需计算时间”来选择架构,而不是单纯追求大模型。
扩展规律在小规模下仍然成立
- 虽然许多架构改进(如T5优化)对大模型有效,但在本文这种“极度资源受限”环境中,Kaplan等人提出的扩展规律依然适用。
- 不论 Transformer 类型如何,每个 token 的训练效率几乎只取决于模型规模,而不是架构细节。
🔍 发现:
- 即使使用不同结构(如funnel-transformer、递归结构、深层窄网络等),也无法突破 scaling law 限制;
- 因此,本文聚焦在“提升每步效率”的小优化上。
三、模块级优化分析
Attention Block:
- 禁用所有 QKV 偏置项 → 提升前后向速度;
- 不改变 attention head 数量,最终保留12个;
- 替换 softmax、QKV 结构等无显著效果;
- 实验 FLASH attention和傅里叶 attention也未提升性能;
- rotary embedding、pre-norm 方式效果稳定,但改动影响小。
Feedforward Block:
- 关闭线性层 bias提升效率;
- 激活函数保留 GELU,尝试 GLU 有轻微改进;
- 保持 FFN 参数不变,即使用 gating 也不增加维度。
Embedding:
- 使用带缩放的正弦位置编码,优于learned或未缩放版本;
- 解耦输入输出embedding无效;
- 添加embedding block末端的LayerNorm。
Layer Structure:
- 使用 pre-norm + layernorm表现稳定;
- 替换为 RMSNorm 或 DropLayer 无明显增益;
- pre-norm 的主要作用是支持更大学习率和更短的 warmup。
Head Block:
- 可移除非线性 head,无性能下降;
- 可去掉 decoder bias;
- 支持稀疏预测机制节省显存;
- 增加终结 LayerNorm 稳定训练。
实验总结:
本节揭示了一种 在资源受限条件下“最大化训练效率”的架构选择原则:
- 不要乱改结构,只要用最标准的架构,精简细节,性能就很好;
- 几乎所有突破 scaling law 的尝试都失败;
- 有效的方法是:调整细节,加速单步计算,保持模型规模不变。
四、修改训练设置(Modifying the Training Setup)
本节探讨在“临时抱佛脚(Cramming)”场景下,标准BERT训练超参数如何影响性能,并对其进行优化。
训练目标(Objective)
- 使用掩码语言建模(MLM),遮蔽率为15%,遵循Devlin等人(2019)原设定(10%保持原词,10%随机替换,80%掩码)。
- 增大遮蔽率(如40%,Wettig et al., 2022)无效;
- 移除20%的保留策略无影响;
- 尝试其他损失函数(如MSE、L1)也无益处(Hui & Belkin, 2021)。
优化器(Choice of Optimizer)
使用 Adam优化器,设置如下:
weight_decay = 0.01
β1 = 0.9, β2 = 0.98
ε = 1e-12
加入梯度裁剪(clip value = 0.5);
更换为一阶或高阶自适应优化器(如Shazeer & Stern, 2018)无效果(Liu et al., 2020a;Yadav, 2020);
超参数轻微调整效果不明显,Adam表现最稳。
学习率调度(Learning Rate Schedule)
- 采用 One-Cycle Schedule,峰值学习率
1e-3
; - 遵循Izsak等(2021)建议,按预算缩放学习率;
- 尽管学习率曲线影响有限,但One-Cycle对预训练损失表现最好。
批大小调度(Batch Size Schedule)
- 由于单GPU限制,采用micro-batch(如96),每16/42次前向传播后累计一次梯度;
- RTX2080Ti 最终batch size为1536(最小loss)或4032(最好下游任务);
- A4000/A6000卡对应128/256的micro-batch,累积至4096;
- 增加训练早期的平均batch size有助于训练进度,效果优于adaptive策略。
禁用Dropout(Dropping Dropout)
- 原始BERT模型使用Dropout防止过拟合;
- 但在“只训练一轮”的cramming场景中,过拟合几乎不存在;
- 因此预训练时关闭Dropout,可提升梯度更新频率;
- 只在下游微调阶段重新启用Dropout(0.1);
- Token Drop与Length Curricula无效。
五、数据集优化(Optimizing the Dataset)
虽然架构优化受限于 scaling laws,但更高质量数据依然能显著提升性能。
数据来源选择
- 实验四种数据源:
- bookcorpus-wikipedia(基础);
- The Pile;
- Common Crawl 派生集;
- MNLI 专项处理数据;
- 最终发现:The Pile 表现最佳(尤其在MNLI任务中);
- 对C4数据进一步处理提升效果,包括:
- 去重无效;
- 压缩性过滤有效:过滤HTML、代码等“难压缩内容”;
- 仅保留
字符数 < t × token数
的序列(如t = 0.3
),提升下游性能。
其他数据策略优化
- 基于词频对token序列排序(高频优先),提升训练稳定性;
- 扩大batch size至4096 对C4效果好,对bookcorpus-wikipedia 效果一般;
- 减少数据分布扰动,提升了训练稳定性。
词表大小(Vocabulary Size)
原始词表大小:32768;
理论上,词表越大:
- 唯一词越多,训练难度增加;
- 可压缩性变好(压进固定token budget中);
实验发现:GLUE任务上,词表越大表现越好;
- MNLI 任务在32768后趋于饱和;
- 实验显示词表与表现正相关,故保留32768大小。
总结与解读:
本节展示了 如何在“24小时+单GPU”的极端受限条件下,通过训练设置与数据预处理策略榨干性能:
- 关闭Dropout、优化batch调度、选择稳定优化器 是关键;
- 数据优化是提升的主路径,包括:
- 压缩性过滤;
- token排序;
- 更大batch size;
- 词表不要随便减小,越大越好(直到饱和);
- 再次确认:scaling law 固若金汤,改变结构没用,换数据最值钱。
实验结果展示
实验展示一:Transformer架构与MLM损失
这张图展示了不同Transformer架构与MLM损失的关系,左边是全局视图,右边是放大后专注于10^8
到7 × 10^9
之间的训练步骤。
分析与发现:
- 不同架构的训练曲线:
各种架构(如BERT-base、Funnel、DeepNarrow等)都在相同的计算预算下进行训练,从图中可以看到:- 架构形状的变化对损失的影响较小,只有少数架构(如Funnel)在开始时损失下降较快。
- 损失随训练时间的变化表现出明显的线性下降,表明尽管架构不同,核心的训练过程在较大程度上是相似的。
- 缩小模型规模的效果: 较小模型的损失下降速度较慢,而大规模架构(如24层、FFN每4层)虽然速度较快,但最终的效果差异较小。
- 结论:
- 结果表明,即使在架构上进行不同调整(如使用6层、8层、16层、24层等),大部分的训练效果在初期都表现出相似的下降模式,而模型规模的变化才是影响性能的关键因素。
实验展示二:学习率调度
该图展示了不同学习率调度策略对MLM损失(左)和步长(右)的影响。
分析与发现:
- 学习率调度的影响:
- **One-Cycle学习率调度(紫色线)**表现出最佳的终期表现,表明这种快速的学习率调整方法能更有效地在训练后期收敛。
- **其他学习率调度(如Triangular、Cosine Decay等)**对损失的影响较小,但One-Cycle显著改善了训练的稳定性和收敛速度。
- 结论:
- One-Cycle调度能够快速加速训练,减少学习率的变化,进而提高训练的有效性。
实验三:数据集变体对下游任务的影响
这张表格展示了不同数据集格式与批大小的组合在MNLI任务上的表现。
分析与发现:
- 数据集变体:
- 在Bookcorpus-Wikipedia数据集上,去重和过滤操作显著提高了模型在MNLI任务上的表现,尤其是过滤后的数据集(如t=0.3)带来了较好的结果。
- C4-Subset(去重和过滤)显著提高了训练效果,尤其是在过滤后,模型能从干净、低噪声的数据中获得更好的一致性。
- 批大小与表现的关系:
- 在同一数据集上,增加**批大小(至4032或8064)**对训练稳定性和准确性有显著影响,尤其是在下游任务上。
- 结论:
- 使用去重和过滤后的数据集,并结合更大的批大小(如4032或8064),能够提高模型在下游任务(如MNLI)上的准确性。
实验四:词汇表大小对模型性能的影响
这张图展示了词汇表大小对GLUE Score和MNLI任务准确率的影响,数据来自在Bookcorpus-Wikipedia数据集上训练的模型,采用了“临时抱佛脚(cramming)”训练模式。
分析与发现:
- 词汇表大小与MNLI准确率:
- 词汇表增大(从5k到100k)时,MNLI准确率显著提高。
- 在5k左右的词汇表时,MNLI的准确率低于0.79,随着词汇表的增大,准确率逐渐上升,最终趋于平稳,接近0.815。
- 增加词汇表大小有助于提供更多的语言表达信息,使得模型能更好地理解和处理MNLI任务中的语义关系。
- 词汇表大小与GLUE Score:
- GLUE Score的提升趋势也与MNLI准确率相似,但其表现略微不同。随着词汇表大小的增加,GLUE Score从0.73增加到接近0.77,呈现出相对平稳的增长曲线。
- GLUE Score综合评估多个NLP任务,因此词汇表大小增加带来的好处不仅限于单一任务,它提高了模型的整体语言理解能力。
- 结论:
- 词汇表越大,模型的整体性能越好,尤其在像MNLI这种对词汇量和语义理解要求较高的任务中表现尤为明显。
- GLUE任务和MNLI任务均受益于较大的词汇表,更大的词汇表意味着更丰富的词汇和语义信息,可以更好地帮助模型进行语义推理和理解。
总结:
- Transformer架构:
- 无论架构如何变化,模型规模是决定训练损失和性能的主要因素。
- 学习率调度:
- One-Cycle调度能够显著提高训练效果,尤其是在训练后期。
- 数据集优化:
- 数据集的去重与过滤能够大幅提升模型的训练质量,尤其是对于复杂任务(如MNLI)。
- 批大小:
- 增大批大小(如4032或8064)显著提高了训练稳定性和最终的下游任务表现。
GLUE的微调性能
实验说明
- 数据集与基线:
- 排除了 WNLI 任务,采用了 GLUE 中的其他子任务。
- 使用的是 MNLI 的“matched”集(m)。
- 所有模型均使用 BERT-base 的预训练检查点,在相同条件下进行微调。
- 训练设置:
- BERT-base:batch size 为 32,学习率为 2 × 1 0 − 5 2 \times 10^{-5} 2×10−5,训练 5 个 epoch。
- crammed BERT(压缩版本):batch size 为 16,学习率为 4 × 1 0 − 5 4 \times 10^{-5} 4×10−5,采用 cosine decay。微调配置对已预训练的 BERT 没有显著改善。
- 表格说明:
- 表 3 与表 4 展示了不同训练方案下在各个 GLUE 子任务上的性能。
- 引入了 Izsak2021 的训练配方(一天内完成训练),以及“crammed BERT”(压缩训练的 BERT)。
- 发现压缩模型在大多数任务上表现仍然不错,尤其在 **大数据集(MNLI、QQP、QNLI、SST-2)**上。
性能比较
下表对比了不同模型和训练方法在各个 GLUE 子任务上的性能(GLUE-dev集):
训练设置 | 说明 | GLUE 总分 |
---|---|---|
BERT-base Fully trained | 完整预训练 + 微调 | 80.9 |
BERT-base No Pretrain | 无预训练,仅微调 | 45.5(差距极大) |
单日训练对比:
在不同 GPU 上用一天训练,比较三种设置:
- BERT (normal protocol):用标准预训练流程但训练时间缩短。
- BERT (Izsak et al., 2021):按论文配方进行训练,适配 8 GPU 服务器。
- crammed BERT:单 GPU 压缩训练,性能优异。
最佳性能(A6000):
- Crammed BERT:
- MNLI: 83.9/84.1
- SST-2: 92.2
- GLUE 总分: 78.6
可以看到,在只用单 GPU 训练一天的条件下,压缩版本 BERT 的性能接近原始全训练 BERT 模型。
CoLA 表现异常分析
下表总结了 CoLA 与其他任务的对比结果:
模型 | CoLA | 不含 CoLA 的平均 | GLUE 平均 |
---|---|---|---|
BERT-base | 56.5 | 84.0 | 80.9 |
Crammed (2080ti) | 47.2 | 82.1 | 78.3 |
Crammed (A4000) | 43.7 | 82.4 | 78.1 |
Crammed (A6000) | 44.5 | 82.9 | 78.6 |
结论与解释:
- CoLA(语言可接受性任务)性能显著下降:
- 两个主要可能原因:
- 全局超参数不适合 CoLA,这一任务对超参敏感。
- CoLA 需要更长文本记忆过程,模型需要更多时间理解语言可接受性,而压缩模型可能没有足够容量支持。
- 两个主要可能原因:
- 与其他研究对比也发现类似问题:轻量级模型在 CoLA 上表现差,这似乎是一个广泛存在的现象。
总结:压缩模型能否替代完整训练的 BERT?
- 压缩 BERT 在 绝大多数 GLUE 任务上都能接近甚至达到完整训练模型的表现,尤其是像 SST-2、MNLI、QQP、QNLI。
- 唯一的明显弱点是 CoLA 任务,可能由于模型容量限制和训练时间不足。
- 在资源有限的场景中(单 GPU、快速训练),压缩 BERT 提供了一个非常实用的替代方案。
消融实验
下表总结了所有在本研究中讨论的变化,展示了架构、训练和数据调整的影响。每一组变化都会通过将所有修改恢复为原始BERT设置来进行消融实验。
结果:
- 架构修改: 进行最小的架构调整(如PreNorm层结构)允许更激进的学习率调度,从而显著提高了训练效果。架构的修改对平均GLUE得分贡献了约2个百分点。
- 训练修改: 适当的训练修改(如移除dropout,使用恒定批大小4096等)带来了约1个百分点的提升。
- 数据修改: 数据集的更改(如数据去重和调整数据处理方式)也有一定的贡献,但较小。
表中总结了消融实验的详细数据,展示了不同修改对模型性能的影响。所有实验都遵循了前述的训练协议,分别比较了完全训练的BERT模型与crammed模型的不同修改。
表格结果分析:
- crammed BERT的性能接近原始BERT(完全训练),尤其是在MNLI和SST-2等任务上表现良好,尽管在某些任务(如CoLA)上存在显著下降。
- 数据修改和最小架构调整带来了显著的性能提升,尤其是在CoLA任务中,数据去重和过滤处理对改善性能具有直接影响。
- 总结:
- 主要贡献来自于架构的修改,然后是训练过程中的小修改,最后是数据预处理的影响。
训练更久会发生什么
在这一节,作者验证了如果给定更多计算预算,是否可以通过更长时间的训练进一步提升性能。实验使用了8个A6000 GPU训练模型,时间为48小时。
- 结果:
- 新训练的模型在MNLI和SST-2任务中表现出显著提高,甚至超越了原始的BERT模型。
- 尽管MNLI和SST-2任务有明显进展,但在其他任务(如CoLA)上,模型表现并未进一步改善。
表格结果分析:
- 训练48小时后:
- 在更多计算资源下(48小时训练),crammed BERT的性能得到了显著提升,尤其是在MNLI和SST-2任务上。
- 与roBERTa-base相比,crammed BERT在MNLI任务上表现出色,但在CoLA等任务中未能取得大幅改善。
- 总结:
- 在增加计算资源的情况下,crammed模型的训练表现有所提高,但其在某些任务(如CoLA)中的局限性依然存在,表明这些模型仍需要更多的文本进行学习和泛化。
总结:* - 主要贡献来自于架构的修改,然后是训练过程中的小修改,最后是数据预处理的影响。
- 在增加计算资源的情况下,crammed模型的训练表现有所提高,但其在某些任务(如CoLA)中的局限性依然存在,表明这些模型仍需要更多的文本进行学习和泛化。