重回榜首的BERT改进版开源了,千块V100、160GB纯文本的大模型
副标题[/!--empirenews.page--]
前段时间 Facebook 创建的改进版 BERT——RoBERTa,打败 XLNet 登上了 GLUE 排行榜榜首。近日,Facebook 公开了该模型的研究细节,并开源了模型代码。 BERT 自诞生以来就展现出了卓越的性能,GLUE 排行榜上前几名的模型一度也大多使用 BERT。然而,XLNet 的横空出世, 打破了 BERT 的纪录 。不过,不久之后,剧情再次出现反转,Facebook 创建的改进版 BERT——RoBERTa,登上了 GLUE 排行榜榜首。 图源:https://gluebenchmark.com/leaderboard/ Facebook 的研究人员表示,如果训练得更久一点、数据再大一点, BERT 就能重返SOTA 。 那么 RoBERTa 到底训练了多长时间,使用了多少数据呢?近日,Facebook 研究人员公开了研究细节。 论文地址:https://arxiv.org/pdf/1907.11692.pdf GitHub 地址:https://github.com/pytorch/fairseq/tree/master/examples/roberta RoBERTa 到底有多大 之前 XLNet 团队就对标准的 BERT 和 XLNet 做过一次公平的对比 ,他们测试了在相同参数水平、预训练数据、超参配置等情况下两者的效果。当然,XLNet 通过修改架构与任务,它的效果是全面超过标准 BERT 的。但如果 BERT 要再次超越 XLNet,那么数据和算力都需要更多。 算力 据介绍,Facebook 研究人员在多台 DGX-1 计算机上使用混合精度浮点运算,每台计算机具备 8 个 32GB Nvidia V100 GPU,这些 GPU 通过 Infiniband 连接。 但研究者并没有具体说 RoBERTa 使用了多少张 V100 GPU 训练了多长时间,我们只能了解到他们训练 Large 模型用 1024 块 V100 训练了一天,这样以谷歌云的价格来算需要 6.094 万美元。如下是原论文所述:
因为 XLNet 的 TPU 训练价格也是 6 万美元,而且直观上用 GPU 训练会比 TPU 贵,所以我们根据上面的描述猜测 6.094 万美元是在 BOOKCORPUS 加 WIKIPEDIA 数据集上训练的成本。此外,XLNet 数据集扩充十倍,它的 TPU 训练成本也增加了 5 倍,也许 RoBERTa 也遵循同样的规则? 数据 BERT 模型预训练的关键是大量文本数据。Facebook 研究人员收集了大量数据集,他们考虑了五个不同大小、不同领域的英语语料库,共有 160GB 纯文本,而 XLNet 使用的数据量是 126GB。这些语料库分别是:
这样的数据量已经非常大了,它是原来 BERT 数据量的十多倍。但正如 XLNet 作者杨植麟所言,数据量大并不一定能带来好处,我们还需要在数量与质量之间做权衡。也许十倍量级的数据增加,可能还不如几倍高质量数据带来的提升大。 RoBERTa 到底是什么 Facebook 对 BERT 预训练模型进行了复现研究,对调参和训练数据规模的影响进行了评估,发现 BERT 训练严重不足。于是他们提出了 BERT 的改进版——RoBERTa,它可以匹敌甚至超过所有 post-BERT 方法的性能。 这些改进包括:
Facebook 研究人员还收集了一个新型大数据集 CC-NEWS,以更好地控制训练数据集规模的影响。CC-NEWS 数据集的规模与其他私人使用数据集差不多。 总之,Facebook 研究人员关于 RoBERTa 的研究贡献可以总结如下:
RoBERTa 都改了些啥 对于原版 BERT,直接用它来做极大数据的预训练并不能 Work,我们还需要一些特殊的技巧来提升模型的鲁棒性,这也就是 Facebook 研究者主要尝试的。如下研究人员在论文中揭示并量化了 BERT 要进行哪些改进才能真正变得稳健。 1. 静态 vs. 动态掩码 BERT 依赖随机掩码和预测 token。原版的 BERT 实现在数据预处理期间执行一次掩码,得到一个静态掩码。Facebook 研究者将该策略与动态掩码进行比较,动态掩码即,每次向模型输入一个序列时都会生成掩码模式。在预训练进行更多步或使用更大的数据集时,这点变得尤其重要。 表 1: BERT_BASE 的静态和动态掩码比较。 2. 模型输入格式和下一句预测 在原版的 BERT 预训练步骤中,模型观察到两个连接在一起的文档片段,这两个片段要么是从相同的文档中连续采样,要么采样自一个文档的连续部分或不同文档。为了更好地理解这种结构,研究者比较了几种训练格式:
表 2:在 BOOKCORPUS 和 WIKIPEDIA 上预训练的基础模型的开发集结果。所有的模型都训练 1M 步,batch 大小为 256 个序列。 3. 大批量训练 (编辑:宜春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |