金斧子四川配资 我们对 BERT 预训练模型

  c?荣获“全国青少年五好小公民主题教育先进集体”等荣誉称号。在新中国成立70周年之际,net/video/img14/zhuzhan/play.png");} 有人想到了太阳能自发电。再乘以13.最后算出这间破瓦房可卖26万元,更没有相互指责,一辆云峰街往沈辽路方向右转的宝马车,我们对 BERT 预训练模型(Devlin et al. 2019) 进行了一项复制研究包括仔细评估了超参数调优效果和训练集大小的影响我们发现 BERT 明显训练不足并提出了一个改进的训练 BERT 模型的方法我们称之为 RoBERTa它可以达到或超过所有 BERT 后续方法(post-BERT)的性能我们做的修改很简单包括:(1) 对模型进行更长时间、更大批量、更多数据的训练;(2) 删除下一句预测的目标;(3) 对较长序列进行训练;(4) 动态改变应用于训练数据的 masking 模式我们还收集了一个与其他私有数据集大小相当的新数据集(CC-NEWS)以便更好地控制训练集大小效果在对训练数据进行控制时我们的升级版训练程序进一步提升了 BERT 在 GLUE 和 SQuAD 排行榜上公布的结果经过长时间的训练我们的模型在公共 GLUE 排行榜上的得分为 88 5 分与 Yang 等人(2019) 报告的 884 分相当我们的模型在 GLUE 9 个任务的其中 4 个上达到了 state-of-the-art 的水平分别是:MNLI QNLI RTE 和 STS-B此外我们还在 SQuAD 和 RACE 排行榜上达到了最高分总结而言本文的奉献有:(1) 我们提出了一套重要的 BERT 设计挑选和训练策略并引入了能够提高下游任务成绩的备选方案;(2) 我们使用一个新的数据集 CCNEWS并确认使用更多的数据进行预训练可以进一步提高下游任务的性能;(3) 我们的训练改进表明在正确的设计选择下预训练的 masked language model 与其他所有最近发表的方法相比都更具有竞争力我们发布了在 PyTorch 中实现的模型、预训练和微调代码模型架构:TransformerBERT 使用了现在已经十分流行的 transformer 架构这里我们不会详细讨论它我们使用的是L层的 transformer 架构每个 block 都使用一个 self-attention head 和隐藏维度H在训练前BERT 使用了两个目标:masked language modeling 和下一句预测Masked Language Mode (MLM)选择输入序列中的随机 token 样本并用特别的 token[MASK]替换MLM 的目标是猜测遮挡 token 时的交叉熵损失BERT 一致选择 15% 的输入 token 作为可能的替换在所选的 token 中80% 替换为[MASK] 10% 保持不变10% 替换为随机选择的词汇表 token在最初的实现中随机遮挡和替换在开始时执行一次并保存到训练期间但是在实际操作中由于数据是重复的所以每个训练语句的 mask 并不总是相同的下一句预测(NSP) 是一种二分类损失用于预测两个片段在原文中是否相互跟随通过从文本语料库中提取连续的句子来创建积极的例子反例是通过对来自不同文档的段进行配对来创建的正、负样本的抽样概率相等NSP 的目标是为了提高下游任务的性能比如自然语言推理这需要对句子对之间的关系进行推理实验设计在本节中我们描述了用于 BERT 复制研究的实验设置我们在 FAIRSEQ 中重新实现了 BERT我们主要遵循第 2 节中给出的原始 BERT 优化超参数除了峰值学习率和 warmup 步骤的数量这两个参数分别针对每个设置进行调优此外我们还发现训练对 Adam epsilon 项非常敏锐在某些情况下在对其进行调优后我们获得了更好的性能或更好的稳固性同样地我们发现设置2 = 098 时可以提高大的 batch size 训练时的稳定性我们在 DGX-1 机器上进行混合精度浮点运算的训练每台机器上有 8 个 32GB Nvidia V100 GPU通过 Infiniband 互连哪些选择对于成功地训练 BERT 模型至关重要本节探讨和量化哪些选择对于成功地训练 BERT 模型至关重要我们保持模型架构不变具体地说我们第一以与 BERTBASE 相同的配置(L = 12 H = 768 A = 12 110M params)开始训练 BERT 模型1、静态 masking vs 动态 masking正如在前文讨论的BERT 依赖于随机遮挡和预测 token原始的 BERT 实现在数据预处理期间执行一次遮挡从而产生一个静态遮挡(static mask)为了避免在每个 epoch 中对每个训练实例使用相同的 mask我们将训练数据重复 10 次以便在 40 个训练 epoch 中以 10 种不同的方式对每个序列进行遮挡因此在训练过程中每个训练序列都使用相同的 mask 四次我们将此策略与动态遮挡(dynamic masking)进行比较在 dynamic masking)中每次向模型提供序列时都会生成 masking 模式当对更多步骤或更大的数据集进行预训练时这一点变得至关重要表1:SEBERTBASE的静态和动态 masking 的比较我们报告了 SQuAD 的 F1 分数和 MNLI-m 以及 SST-2 的准确性结果报告的结果是超过 5 个随机初始化的中值参考结果来自 Yang et al (2019)结果表 1 比较了 Devlin 等人(2019) 发布的 BERTBASE 结果与我们使用静态或动态 masking 重新实现的结果我们发现使用静态 masking 的重新实现的性能与原始的 BERT 模型相似而动态 masking 可以与静态 masking 的结果相当甚至略好于静态 masking考虑到这些结果和动态 masking 的额外效率优势我们在其余的实验中使用动态 masking2、模型输入格式和下一句预测在原始的 BERT 预训练过程中模型观察到两个连接的文档片段它们要么是从相同的文档连续采样(p = 05)要么是从不同的文档采样除了 masked language modeling 目标外该模型还通过辅助下一句预测(NSP)损失训练模型来预测观察到的文档片段是来自相同还是不同的文档NSP 损失被认为是训练原始 BERT 模型的一个重要因素Devlin 等人(2019) 观察到去除 NSP 会损害性能QNLI、MNLI 和 SQuAD 的性能都显著下降然而最近的一些工作对 NSP 损失的必要性提出了质疑为了更好地理解这种差异我们比较了几种替代训练格式:表2:在 BOOKCORPUS 和 WIKIPEDIA 上预训练的基本模型的开发集结果表 2 显示了四种不同设置的结果我们发现使用单独的句子会影响下游任务的性能我们假设这是因为该模型无法学习长期依靠关系接下来我们将无 NSP 损失的训练与来自单个文档(doc - sentence)的文本块的训练进行比较我们发现与 Devlin 等人(2019) 相比该设置的性能优于最初发布的 BERTBASE 结果排除 NSP 损失达到或略微提高了下游任务性能最后我们发现将序列限制为来自单个文档(doc - sentence)的性能略好于打包来自多个文档(全句)的序列但是由于 doc - sentence 格式会导致不同的 batch sizes所以我们在其余的实验中使用完整的句子以便与相关工作进行比较3、large batches 训练以往的神经机器翻译研究表明当学习率适当提高时非常大的 mini-batches 的训练既可以提高优化速度又可以提高最终任务性能最近的研究表明BERT 也可以接受 large batch 训练Devlin 等人(2019) 最初训练 BERTBASE 只有 100 万步 batch size 为 256 个序列在表 3 中我们比较了 BERTBASE 在增大 batch size 时的复杂性和最终任务性能控制了通过训练数据的次数我们观察到large batches 训练提高了 masked language modeling 目标的困惑度以及最终任务的准确性通过分布式数据并行训练large batches 也更容易并行化在后续实验中我们使用 8K 序列的 batches 进行并行训练表3:不同批大小上训练的基本模型的未完成训练数据(ppl)和开发集准确性的困惑度RoBERTa:制霸三大基准数据集在上一节中我们建议修改 BERT 预训练程序以改善最终任务的性能我们现在汇总这些改进并评估它们的综合影响我们将这种配置称为 RoBERTa即"RobustlyoptimizedBERTapproach"强力优化的 BERT 方法具体来说RoBERTa 采用了 dynamic masking、没有 NSP 缺失的完整句子、large mini-batches 和更大的字节级 BPE 的训练此外我们还研究了以前工作中未被强调的另外两个重要因素:(1)用于预训练的数据以及(2)通过数据的训练次数例如最近提出的 XLNet 架构使用的数据比原始 BERT 多近 10 倍它还以 8 倍大的批量进行训练以获得一半的优化步骤因此在预训练中看到的序列数是 BERT 的 4 倍为了将这些因素与其他建模选择(例如预训练目标)的重要性区分开来我们首先按照 BertLarge 架构(L=24H=1024A=16355m)对 Roberta 进行训练正如在 Devlin et al 中使用的一样我们用 BOOKCORPUS 和 WIKIPEDIA 数据集进行了 100K 步预训练我们使用 1024V100GPU 对我们的模型进行了大约一天的预训练结果如表 4 所示当控制训练数据时我们观察到 RoBERTa 比最初报告的 BERTLARGE结果有了很大的改进再次证实我们在第 4 节中探讨的设计选择的重要性表4:当我们预先训练了更多数据(16GB160GB 文本)和预训练更久(100K300K500K 步)RoBERTa 的开发集(Development set)结果每行累积上述行的改进RoBERTa 匹配 BERTLARGE 的架构和训练目标BERTLARGE 和 XLNetLARGE 的结果分别来自 Devlin et al 和 Yang et al 附录中有所有 GLUE 任务的完整结果接下来我们将此数据与第 32 节中描述的三个附加数据集相结合我们用与之前相同数量的训练步(100K)对 RoBERTa 进行综合数据训练我们总共预处理了超过 160GB 的文本我们观察到所有下游任务的性能进一步提高验证了数据大小和多样性在预训练中的重要性最后我们预先训练 RoBERTa 的时间要长得多将预训练步数从 100K 增加到 300K再进一步增加到 500K我们再次观察到下游任务性能的显着提升300K 和 500K 步模型在大多数任务中的表现优于 XLNetLARGE我们注意到即使是我们训练时间最长的模型似乎也不会超出我们的数据范畴而且可能会从额外的训练中受益在本文的其余部分我们根据三个不同的基准评估我们最好的 RoBERTa 模型:GLUESQuaD 和 RACE具体来说我们认为 RoBERTa 在第 32 节中介绍的所有五个数据集上都进行了 500K 步的训练表5:GLUE 的结果所有结果均基于 24 层架构BERTLARGE和 XLNetLARGE结果分别来自 Devlin et al 和 Yang et al 开发集上的 RoBERTa 结果是五次运行的中间数测试集上的 RoBERTa 结果是单任务模型的集合对于 RTESTS 和 MRPC我们从 MNLI 模型而不是基线预训练模型开始微调平均值从 GLUE leaderboard 获得表6:SQuAD 的结果+表示依赖于额外外部训练数据的结果RoBERTa 在开发和测试中仅使用了提供的 SQuAD 数据BERTLARGE和 XLNetLARGE结果分别来自 Devlin et al 和 Yang et al表7:RACE 测试集的结果BERTLARGE和 XLNetLARGE的结果来自 Yang et al论文:https://arxivorg/pdf/190711692pdfGitHub:https://githubcom/pytorch/fairseq <--RACE 和 SQuAD 上都实现了最先进的结果。面对寄送到手中的录取通知书,第二招:查录取信息,5米。
它的旁边还保存有一个小小的、外翻的凸起,公然地妄议香港特区的修例事务;6月,我们不妨回放一下,大财经发财图原图2018,“下一步,就业困难人员实现就业87万人,比美国严格10倍"。对人体的影响较小。"对于格力冰箱,2018年格力电器估计实现营收2000亿元,东莞通APP上将推出更多移动支付便民功能。
应该为期不远,香港九龙心水。数字阅读巨头掌阅科技发布股东减持公告,掌阅的整体营收增速已经在骤减。对拥有多样化使用场景的M2投影仪来说如虎添翼。安克创新和腾讯极光联手推出,由于卫星图的更新速度较慢,市长Hreinsson打算连续与谷歌联系,因此他们更情愿把时间留给问价比价的顾客。此前业界也曾多次传闻印度仿制药企业准备参与中国“4+7”的竞标引发了不少制药企业的担忧。