现存的预训练模型中没有一种可以完美的适用于所有任务,这也给预训练模型的选择带来困难。对于这个问题,论文提供了一种切实可行的解决方案,即UER(Universal Encoder Representations)。
论文标题:UER: An Open-Source Toolkit for Pre-training Models;
论文地址: https://arxiv.org/abs/1909.05658
自然语言处理(NaturalLanguage Processing, NLP)主要研究如何让计算机读懂人类的自然语言,该技术是人工智能非常重要的研究领域之一,也是人工智能最难解决的问题之一。幸运的是,得益于迁移学习技术的发展,自然语言处理在近些年也取得了快速的发展,并广泛应用于机器翻译、信息检索等领域。
何为迁移学习?在自然语言处理的背景下,迁移学习本质上是在一个源领域(Source Domain)数据集上预训练模型,然后对该模型进行调整,以在目标领域(Target Domain)数据集上执行自然语言处理功能。在这个过程中,用于训练模型的源领域与用于任务执行的目标领域往往存在不一致性,因此预训练的模型往往无法直接完成目标领域的自然语言处理任务,那为什么还要进行模型预训练呢?
首先,源领域与目标领域之间的差异性与一致性是并存的,经过大数据训练的模型参数往往在小数据集上也是通用可行的。
其次,在源领域预训练好的模型只需要经过微调,就可以应用于目标领域上,而无需重新训练,因此可以节省训练时间与计算量。
预训练模型有很多种,比如谷歌 BERT 模型、GPT 模型、ELMo 模型等,由于下游任务的多样性及运算能力的限制,现存的预训练模型中没有一种可以完美的适用于所有任务,这也给预训练模型的选择带来困难。对于这个问题,论文提供了一种切实可行的解决方案,即 UER(Universal Encoder Representations)。
通过构建一个整合的预训练工具箱,UER 包含了多个低耦合的模块,各模块中包含现有的主流模型,用户可以很方便的调用这些模型,也可以根据任务需求个性化设计自己的预训练模型。此外,UER 提供了基于不同语料库而训练的模型群,这些模型可帮助用户在下游数据集上取得良好的语言处理结果。
1. 研究背景
NLP 模型包含很多超参数,这些参数的确定过程通常比较复杂,而不同的参数值会对模型的性能产生很大的影响。一般文章很难记录超参数的选取细节及代码,这也为什么我们在重复别人的工作时很难取得与原文作者相似的结果。为此,很多系统提供了解决方案。
北大、人大联合开源工具箱UER,3 行代码完美复现BERT、GPT! - 腾讯云开发者社区-腾讯云
GitHub - luhua-rain/MRC_Competition_Dureader: 机器阅读理解 冠军/亚军代码及中文预训练MRC模型
GitHub - dbiir/UER-py: Open Source Pre-training Model Framework in PyTorch & Pre-trained Model Zoo
腾讯开源UER-py - 知乎
|