0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于语言模型和对抗训练的工作

深度学习自然语言处理 来源:深度学习自然语言处理 作者:深度学习自然语言 2020-11-02 15:26 次阅读

论文:Adversarial Training for Large NeuralLangUageModels

源码:https://github.com/namisan/mt-dnn

TL;DR

本文把对抗训练用到了预训练和微调两个阶段,对抗训练的方法是针对embedding space,通过最大化对抗损失、最小化模型损失的方式进行对抗,在下游任务上取得了一致的效果提升。

有趣的是,这种对抗训练方法不仅能够在BERT上有提高,而且在RoBERTa这种已经预训练好的模型上也能有所提高,说明对抗训练的确可以帮助模型纠正易错点。

方法:ALUM(大型神经语言模型的对抗性训练)

实现:在embedding space添加扰动,最大化对抗损失

应用:任何基于Transformer的语言模型的预训练或微调

预备知识

BPE编码

为了解决词汇表外单词的问题,使用Byte-Pair Encoding(BPE)(Sennrich et al.,2015)或其变体(Kudo and Richardson,2018)将标记划分为子词单元,生成固定大小的子词词汇,以便在训练文本语料库中紧凑地表示单词。

BPE词表既存在char-level级别的字符,也存在word-level级别的单词。通过BPE得到了更加合适的词表,这个词表可能会出现一些不是单词的组合,但是这个本身是有意义的一种形式。

流程:

确定subword词表大小

统计每一个连续字节对的出现频率,并保存为code_file。这个是git中learn-bpe完成

将单词拆分为字符序列并在末尾添加后缀“ ”,而后按照code_file合并新的subword,首先合并频率出现最高的字节对。例如单词birthday,分割为['b', 'i', 'r', 't', 'h', 'd', 'a', 'y'],查code_file,发现'th'出现的最多,那么合并为['b', 'i', 'r', 'th', 'd', 'a', 'y'],最后,字符序列合并为['birth', 'day']。然后去除'',变为['birth', 'day'],将这两个词添加到词表。这个是apply-bpe完成。

重复第3步直到达到第2步设定的subword词表大小或下一个最高频的字节对出现频率为1

模型:ALUM

基于几个关键想法:

扰动embedding空间,优于直接对输入文本应用扰动。

通过虚拟对抗训练为标准目标添加正则化项。

其中预训练阶段 ,微调阶段

因为有最大化操作,所以训练昂贵。有利于embedding邻域的标签平滑。

文中观点:

虚拟对抗训练优于传统对抗训练,特别是当标签可能有噪声时。

例如,BERT pretraining使用masked words作为自监督的标签,但在许多情况下,它们可以被其他词取代,形成完全合法的文本。但BERT中,给到被替换的word的标签均为负。

算法

首先使用标准目标(1)训练模型;然后使用虚拟对抗训练(3)继续训练。

第4-6行为求最大梯度步骤,以找到使对抗性损失最大化的扰动(反局部平滑性)。K越大的近似值越高,但成本更高。为了在速度和性能之间取得良好的平衡,本文实验K=1.

泛化与鲁棒性

文中表示,通过使用ALUM进行对抗性的预训练,能够提高广泛的NLP任务的泛化和鲁棒性(如后述实验结论所示)。之前的研究较多发现,对抗训练会损害泛化能力。

先前关于泛化和鲁棒性之间冲突的工作通常集中在有监督的学习环境中。调和两者的一些初显成果也利用了未标记的数据,例如自训练(Raghunathan等人,2020年)。

此外,假设通过扰动embedding空间而不是输入空间,NLP中的对抗训练可能无意中偏向于流形扰动而不是规则扰动。

什么是流形

流形学习的观点:认为我们所观察到的数据实际上是由一个低维流形映射到高维空间的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度的维度就能唯一的表示。

所以直观上来讲,一个流形好比是一个d维的空间,在一个m维的空间中(m>d)被扭曲之后的结果。需要注意的是流形不是一个形状,而是一个空间。举个例子,比如说一块布,可以把它看成一个二维的平面,这是一个二维的空间,现在我们把它扭一扭(三维空间),它就变成了一个流形,当然不扭的时候,它也是一个流形,欧氏空间是流形的一种特殊情况。

实验

提升泛化能力

BERT BASE是使用与Devlin等人相同的设置训练的标准BERT base模型。(即1M步,batch size = 256)。

BERT+BASE与BERT BASE相似,不同之处在于其训练步数为1.6M,与对抗预训练所需时间大致相同(ALUM BERT-BASE)。

ALUM BERT-BASE是一个BERT模型,使用与BERT BASE相同的设置进行训练,但最后的500K步骤使用ALUM。每一个对抗训练步骤大约比标准训练步骤长1.5倍。

可以观察到后500k加了ALUM后提升明显。

提升鲁棒性

结合对抗预训练和对抗微调

之前都是在预训练阶段做的对抗,ALUM RoBERTa-LARGE-SMART在预训练和微调阶段均做对抗。

结论

提出了一种通用的对抗性训练算法ALUM:

对抗预训练可以显著提高泛化能力和鲁棒性。

ALUM大大提高了BERT和RoBERTa在各种NLP任务中的准确性,并且可以与对抗微调相结合以获得进一步的收益。

未来的发展方向:

进一步研究对抗性预训练在提高泛化和鲁棒性方面的作用;

对抗性训练加速;

将ALUM应用于其他领域。

责任编辑:xj

原文标题:【微软ALUM】当语言模型遇到对抗训练

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6246

    浏览量

    103077
  • 算法
    +关注

    关注

    23

    文章

    4455

    浏览量

    90751
  • 语言模型
    +关注

    关注

    0

    文章

    434

    浏览量

    10044
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21820

原文标题:【微软ALUM】当语言模型遇到对抗训练

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    盘点一下史上最全大语言模型训练中的网络技术

    人工智能的基础设施在大语言模型训练和推理过程中发挥了关键的作用。随着大语言模型规模不断增大,其对计算和通信的需求也在不断增加。高
    的头像 发表于 03-27 17:24 384次阅读
    盘点一下史上最全大<b class='flag-5'>语言</b><b class='flag-5'>模型</b><b class='flag-5'>训练</b>中的网络技术

    【书籍评测活动NO.30】大规模语言模型:从理论到实践

    TOP1的桂冠,可想大家对本书的认可和支持! 这本书为什么如此受欢迎?它究竟讲了什么?下面就给大家详细~~ 本书主要内容 本书围绕大语言模型构建的四个主要阶段——预训练、有监督微调、奖励建模和强化
    发表于 03-11 15:16

    谷歌模型训练软件有哪些?谷歌模型训练软件哪个好?

    谷歌在模型训练方面提供了一些强大的软件工具和平台。以下是几个常用的谷歌模型训练软件及其特点。
    的头像 发表于 03-01 16:24 278次阅读

    语言模型使用指南

    ,带你发现大语言模型的潜力,解锁无限可能。 揭秘大语言模型的魔法 在动手操作之前,我们先来揭秘一下大语言
    的头像 发表于 12-29 14:18 346次阅读

    语言模型概述

    的人工智能模型,旨在理解和生成自然语言文本。这类模型的核心是深度神经网络,通过大规模的训练数据和强大的计算能力,使得模型能够学习到
    的头像 发表于 12-21 17:53 736次阅读

    语言模型简介:基于大语言模型模型全家桶Amazon Bedrock

    本文基于亚马逊云科技推出的大语言模型与生成式AI的全家桶:Bedrock对大语言模型进行介绍。大语言模型
    的头像 发表于 12-04 15:51 405次阅读

    语言模型(LLM)预训练数据集调研分析

    语言模型涉及数据的通常有有多个阶段(Aligning language models to follow instructions [1] ):pre-train、sft(supervised
    的头像 发表于 09-19 10:00 569次阅读
    大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>(LLM)预<b class='flag-5'>训练</b>数据集调研分析

    腾讯发布混元大语言模型

    腾讯发布混元大语言模型 腾讯全球数字生态大会上腾讯正式发布了混元大语言模型,参数规模超千亿,预训练语料超2万亿tokens。 作为腾讯自研的
    的头像 发表于 09-07 10:23 848次阅读

    训练语言模型带来的硬件挑战

    生成式AI和大语言模型(LLM)正在以难以置信的方式吸引全世界的目光,本文简要介绍了大语言模型训练这些
    的头像 发表于 09-01 17:14 1111次阅读
    <b class='flag-5'>训练</b>大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>带来的硬件挑战

    卷积神经网络模型训练步骤

    卷积神经网络模型训练步骤  卷积神经网络(Convolutional Neural Network, CNN)是一种常用的深度学习算法,广泛应用于图像识别、语音识别、自然语言处理等诸多领域。CNN
    的头像 发表于 08-21 16:42 1057次阅读

    训练好的ai模型导入cubemx不成功怎么解决?

    训练好的ai模型导入cubemx不成功咋办,试了好几个模型压缩了也不行,ram占用过大,有无解决方案?
    发表于 08-04 09:16

    英伟达 H100 vs 苹果M2 大模型训练,哪款性价比更高?

    训练和微调大型语言模型对于硬件资源的要求非常高。目前,主流的大模型训练硬件通常采用英特尔的CPU和英伟达的GPU。然而,最近苹果的M2 Ul
    的头像 发表于 07-28 16:11 2250次阅读
    英伟达 H100 vs 苹果M2 大<b class='flag-5'>模型</b><b class='flag-5'>训练</b>,哪款性价比更高?

    基于预训练模型语言增强的零样本视觉学习

    在一些非自然图像中要比传统模型表现更好 CoOp 增加一些 prompt 会让模型能力进一步提升 怎么让能力更好?可以引入其他知识,即其他的预训练模型,包括大
    的头像 发表于 06-15 16:36 323次阅读
    基于预<b class='flag-5'>训练</b><b class='flag-5'>模型</b>和<b class='flag-5'>语言</b>增强的零样本视觉学习

    什么是预训练AI模型

    训练 AI 模型是为了完成特定任务而在大型数据集上训练的深度学习模型。这些模型既可以直接使用,也可以根据不同行业的应用需求进行自定义。
    的头像 发表于 05-25 17:10 634次阅读

    谷歌发布语言模型PaLM2,突破3.6万亿个令牌的训练数量

    据悉,令牌是指训练语言模型所使用的单词串,它们对于教导模型如何预测字符串中可能出现的下一个单词至关重要。
    的头像 发表于 05-18 11:15 324次阅读
    谷歌发布<b class='flag-5'>语言</b><b class='flag-5'>模型</b>PaLM2,突破3.6万亿个令牌的<b class='flag-5'>训练</b>数量