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

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

3天内不再提示

OpenAI:用可扩展的多任务系统,在多语言任务上取得了良好的成绩

zhKF_jqr_AI 来源:未知 作者:李倩 2018-06-30 09:20 次阅读

编者按:近日,OpenAI在博客上宣布,他们用可扩展的多任务系统,在多语言任务上取得了良好的成绩。研究人员结合了transformer和无监督预训练这两种现有方法。结果证明,监督学习方法和无监督预训练结合得非常好。以下是论智对原博文的编译。

我们的系统工作分为两个阶段:首先,我们在大量数据上训练一个transformer模型,利用语言建模作为训练信号,然后在稍小的监督数据集上对模型进行微调,以帮助解决特殊任务。

在此之前我们曾发布了一篇有关“情感神经元”的研究,其中我们注意到无监督学习技术能产生非常明显的特定。这里,我们想将这一技术进一步拓展:是否能创建一个模型,将其在大量数据上进行无监督训练,之后再在多种不同任务上进行微调?结果证明,这一方法非常有效。模型只需要微小调整就能适应多种任务。

这项工作建立在论文Semi-supervised Sequence Learning所提出的方法上,它展示了如何用LSTM的无监督预训练以及监督式的微调提高文本分类的性能。它还扩展了ULMFiT,该研究展示了单一无数据集的LSTM语言模型可以在多种文本分类数据集上微调后达到最优性能。

而我们的研究展示了一个基于Transformer的模型可以通过这种方法做到除了文本分类以外的事,例如常识推理、语义相似度、阅读理解。它也有点像ELMo,同样也是加入预训练,再用特定任务框架得到最优结果。

为了达到我们的结果只需要微调,并且所有数据集只用了一个前向语言模型,没有任何集成,并且大部分结果用的参数都是相通的。

令人激动的是,我们的方法在COPA、RACE和ROCStories三个数据集上都表现的很好,这三种数据集是用来测试常识推理和阅读理解的。我们的模型在这些数据集上表现出了顶尖的结果,与其他方法的对比十分明显。通常人们认为这些数据集需要多语句推理和丰富的知识,这也表明我们的模型只能靠无监督学习提升水准。这也意味着未来也许能通过无监督技术让模型理解复杂语言。

为什么用无监督学习?

监督学习最近在机器学习的很多方面都取得了成功。然而,成功的背后需要大型、经过清洗的数据集。无监督学习不会有这些问题,也是它受欢迎的原因。由于无监督学习无需人类对数据进行标注,所以在目前计算量增加并且有可用元数据的趋势下,它仍然适应得很好。无监督学习是很受欢迎的研究领域,但是付诸实践的却很少。

最近我们尝试用无监督学习增强系统,进一步研究语言能力。无监督技术训练能通过含有巨大信息量的数据库训练单词的表示,与监督学习结合后,模型的性能会进一步提高。最近,这些NLP领域的无监督技术(例如GLoVe和word2vec)利用了简单模型(词向量)和训练信号。Skip-Thought向量是一种是对这种提升的早期展示。但是目前在用的技术让性能得到了进一步提升。这些都包括了使用预训练句子的模型表示、语境化的词向量、用定制架构连接无监督预训练和监督微调的方法。

在大量文本语料上对模型进行预训练显著提高了它在自然语言处理上的表现

我们还注意到,我们可以用基础的语言模型直接执行任务,不用训练它们。例如,随着基础语言模型的升级,选择题模型的表现也有了提升。虽然这种方法和监督方法相比结果还是有差距,但是无监督学习方法能在多种任务上执行任务已经很让人兴奋了。

我们还能用模型中现有的语言功能执行情感分析。斯坦福的Sentiment Treebank数据集中包含了许多积极和消极的电影评论,如果在一句话的结尾添加“very”这个词,我们可以用语言模型猜测评论的属性。这种方法完全没用对模型进行适应调整,最终达到了约80%的准确度。

我们的方法也是验证transformer架构的鲁棒性和有用性的标准,这说明想在多种任务上达到顶尖的结果,同时不需要定制化或调参是非常灵活的。

目前存在的缺点

这一项目同时还存在着一些不足之处:

计算需求:此前NLP任务中的许多方法都是从零开始在单个GPU上训练,模型比较小。我们的方法在预训练时需要一个月左右的时间,并且要用8个GPU。幸运的是,预训练只要做一次。不过跟之前的其他工作相比,这算是比较大的计算量和内存了。我们用了一个37层的Transformer架构,训练了最多有512个token的序列,大多数都是在4个或8个GPU系统上进行的。模型可以快速地针对新问题进行微调,这也减少了额外所需要的资源。

在学习时通过文本对世界的理解有偏差和偏见:网络上所能看见的书或文字也许不能涵盖世界所有的信息,也许不准确。最近的研究表明,用文本和通过数据分布建立的模型学习特定的信息很困难。

生成时很脆弱:虽然我们的方法在很多任务中都提高了性能,目前的深度学习NLP模型仍然表现出令人惊讶的反常行为,尤其是系统地进行对抗测试时更加明显。但是我们的方法在这些测试面前很脆弱,尽管有一些进步。对比之前完全用神经网络的方法,我们的方法在词汇鲁棒性上更胜一筹。在Glockner等人的数据集上,我们的模型达到了83.75%的方法,和KIM接近。

未来方向

扩展我们的方法:我们看到在语言模型和其相关的模型上已经有了很大提升。目前我们正在用一个8个GPU的机器和含有上千本书的训练集进行实验,说明还有很大的扩展空间。

改进微调方法:我们的方法目前很简洁。也许未来我们会用更加复杂的调整和迁移技术进行改进。

深入了解为什么生成预训练很有帮助:虽然我们对研究成果做出了解释,但是只有对比其他实验和研究才能有更清晰的认知。例如,技术提升后到底有多少好处?

具体案例

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

    关注

    66

    文章

    8378

    浏览量

    132412
  • 数据集
    +关注

    关注

    4

    文章

    1205

    浏览量

    24644

原文标题:OpenAI:无监督训练加微小调整,只用一个模型即可解决多种NLP任务

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    多语言开发的流程详解

    现在不少应用都是要求有多语言切换的, 使用QT开发上位机也同样需要做多语言功能, 不过QT是自带了多语言翻译功能, 可以很方便的借助原生工具进行, 下面就简单来看看多语言开发的流程!
    的头像 发表于 11-30 09:08 1049次阅读

    setjmp构建简单协作式多任务系统

    实际应用中,抢中式的多任务某种程序带来了用户程序设计时数据保护的困难,并且,具备抢占功能的多任务内核设计时困难也比较多,这会增加操作系统
    发表于 12-07 15:55

    实时多任务操作系统(RTOS)

    策略允许两个或更多进程并发共享一个处理器时,事实处理器某一时刻只会给一件任务提供服务。因为任务调度机制保证不同任务之间的切换速度十分迅速
    发表于 08-24 06:34

    多任务系统与单任务系统分别是指什么

    多任务与单任务所谓"单任务系统"是指该系统不能支持多任务并发操作,宏观串行地执行一个
    发表于 12-22 07:20

    多任务编程多任务处理是指什么

    嵌入式Linux应用编程-多任务编程多任务处理是指用户可在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务。Linux就是一个支持多任务的操作
    发表于 12-22 08:30

    任务裸机系统多任务系统的区别在哪

    外部事件驱动就能完成的事情前后台系统轮询系统的基础加入了终断,终端即前台,无限循环的部分叫后台多任务
    发表于 02-18 07:03

    多语言综合信息服务系统研究与设计

    基于多语言的综合信息服务正成为信息服务领域的一个重要的发展方向。该文提出面向2010年上海世博会和城市信息服务的多语言综合信息服务应用的总体架构,该系统基于下一代网
    发表于 04-01 09:41 24次下载

    SoC多语言协同验证平台技术研究

    SoC基于IP设计的特点使验证项目中多语言VIP(Verification IP)协同验证的需求不断增加,给验证工作带来了很大的挑战。为了解决多语言VIPSoC验证环境灵活重用的问题。提出了一种
    发表于 12-31 09:25 12次下载

    OpenAI介绍扩展的,与任务无关的的自然语言处理(NLP)系统

    近日,OpenAI 在其官方博客发文介绍了他们最新的自然语言处理(NLP)系统。这个系统扩展
    的头像 发表于 06-17 22:20 3845次阅读
    <b class='flag-5'>OpenAI</b>介绍<b class='flag-5'>可</b><b class='flag-5'>扩展</b>的,与<b class='flag-5'>任务</b>无关的的自然<b class='flag-5'>语言</b>处理(NLP)<b class='flag-5'>系统</b>

    多语言翻译新范式的工作:机器翻译界的BERT

    思想就是打造“机器翻译界的BERT”,通过预训练技术再在具体语种上微调即可达到领先的翻译效果,其32个语种上预训练出的统一模型47个翻译测试集取得了全面显著的提升。 目录 机器翻
    的头像 发表于 03-31 17:24 2958次阅读
    <b class='flag-5'>多语言</b>翻译新范式的工作:机器翻译界的BERT

    Multilingual多语言预训练语言模型的套路

    FacebookCrosslingual language model pretraining(NIPS 2019)一文中提出XLM预训练多语言模型,整体思路基于BERT,并提出了针对多语言预训练的3个优化
    的头像 发表于 05-05 15:23 2926次阅读

    多语言任务在内的多种NLP任务实现

    WeLM是一个百亿级别的中文模型,能够零样本以及少样本的情境下完成包括对话-采访、阅读理解、翻译、改写、续写、多语言阅读理解在内的多种NLP任务,并具备记忆能力、自我纠正和检查能力。
    发表于 10-13 11:52 610次阅读

    Arduino多任务处理

    电子发烧友网站提供《Arduino多任务处理.zip》资料免费下载
    发表于 06-14 11:05 0次下载
    Arduino<b class='flag-5'>上</b>的<b class='flag-5'>多任务</b>处理

    基于LLaMA的多语言数学推理大模型

    MathOctopus多语言数学推理任务中,表现出了强大的性能。MathOctopus-7B 可以将LLmMA2-7BMGSM不同语言
    发表于 11-08 10:37 460次阅读
    基于LLaMA的<b class='flag-5'>多语言</b>数学推理大模型

    ChatGPT 的多语言支持特点

    )技术迎来了巨大的挑战和机遇。ChatGPT,作为一个领先的语言模型,其多语言支持的特点成为了它在众多应用场景中不可或缺的优势。 1. 多语言理解能力 ChatGPT 的多语言支持首先
    的头像 发表于 10-25 17:30 676次阅读