机器之心专栏
机心编辑部
华为实验室联合北京邮电大学、华为升思MindSpore团队提出了RetroMAE,在零样本学习和监督学习场景下呈现出非常密集的搜索性能。
密码检索是检索、推荐、广告等领域的关键技术针对密码检索的预训练是业界高度重视的研究课题。 近日,华为泊松实验室联合北京邮电大学华为升思MindSpore团队提出了“基于掩码自编码器的搜索预训练语言模型RetroMAE”,大大更新了密集搜索领域的多项重要标准。 其预训练任务的简洁性和有效性也为下一步技术的发展开辟了新思路。 这项工作已经被自然语言处理领域的顶级学术会议EMNLP 2022采用。 基于开源学习框架的模型和源代码向社区开放。
论文地址: https://arxiv.org/abs/2205.12035开源地址: https://github.com/mind spore-ecosystem/mind search一.密集搜索培训
近年来,密集搜索技术受到搜索引擎、开放域q&; A、在推荐系统等场合得到广泛应用。 与传统的基于“关键词倒排索引”的搜索方法不同,密集搜索利用深度神经网络对输入文本的实际语义进行理解和建模,生成相应的语义表示向量; 语义表示向量之间的空间相似性使得系统能准确、快速地得到检索结果。
深度学习的繁荣,特别是预训练语言模式的出现极大地促进了密集检索的发展。 特别是,以BERT、RoBERTa为代表的训练前语言模型,作为密集检索中的主干网络体系结构被普遍使用。 预训练语言模型强大的语义建模能力大大提高了密集检索的精度。
在BERT、RoBERTa等第一代预训练语言模型之后,XLNET、T5、ELECTRA、DeBERTa等多种新方法相继被提出。 这些新生代预训练语言模型在GLUE、SuperGLUE等常用自然语言处理评价标准中显示出了更强的实力。 但与预期不同的是,新生代预训练语言模型并没有给稠密搜索任务带来实质性的性能提升,目前,初始BERT仍作为密集搜索中的主流网络。
对此,业界普遍的观点是目前常见的预训练学习任务,如MLM、Seq2Seq,由于没有有效关注模型的语义表达能力,与密集搜索对模型能力的诉求相差甚远。
为了克服这一问题,越来越多的学者试图创新预训练策略以适应密集的搜索任务,近年来经常提到的自我监控比较学习就是其中的代表性。 但目前基于自我监控比较学习的预训练方法存在诸多局限性。 例如,自我监控比较学习的重要环节是设计数据增强策略,受制于“伪样本”、“平凡样本”等问题,各种数据增强策略的实际性能和通用性非常有限。 另外,自我监视比较学习强烈依赖于庞大的负面样本,这一需求也导致了巨大的训练费用。 从目前的研究现状来看,面向密集搜索的预训练算法仍然有很大的改进空间。
二.基于RetroMAE (掩蔽自编码器的密集搜索训练
与以往常见的自我监控对比学习方法不同,生成式预训练由于学习任务更高的挑战性、无标记数据更高的利用率、不需要负采样和数据增强策略等特点,在检索最近预训练区域的工作中受到重视。 迄今为止,业界已经提出了SEED [1]、TSDAE [2]等优秀工作,通过改造传统的Seq2Seq等类型的生成任务,这些工作有效地提高了预训练语言模型在密集搜索任务中的表达。 在这些积极信号的启发下,RetroMAE继承并扩展了生成式事前训练这一技术路线。
图1 .基于口罩自编码器的预训练流程示例
基础设施:掩码来自编码器。 RetroMAE采用经典的掩码自编码器框架,预先训练了模型的语义表示能力。 首先,对输入文本进行屏蔽操作后,由编码器( Encoder )映射到隐藏空间中的语义向量; 解码器随后利用所述语义向量将另一个独立的掩码的输入文本恢复为原始输入文本() (图1 )。
图2 .增强的解码。 双流注意机制( H1:query stream,H2:content stream ),随机生成注意屏蔽矩阵)蓝色点:可见位置,灰色点:屏蔽位置) )。
为了使培训任务更具挑战性,并提高未标记数据的利用率,RetroMAE设计了三种关键技术:
不对称的网络结构。 编码器采用BERT等全大小Transformer网络,实现了深层有效的建模。 但是解码器采用单层的Transformer网络; 该设计不仅增加了解码的难度,而且使解码任务能够利用各种上下文信息,更充分地利用无监督的数据。 不对称的口罩率。 对于编码器端的输入,RetroMAE采用“适度”屏蔽率,仅屏蔽其中15~30%的词汇; 对于解码器端的输入,RetroMAE采用了非常“激进”的屏蔽率,屏蔽了50~90%的词汇。 增强的解码。 由于解码器只由单层Transformer构成,RetroMAE通过生成随机注意屏蔽矩阵( attention mask matrix )和双流注意机制( two-stream attention ) 具体来说,解码器同时对两个输入序列进行编码。 一个是查询流,另一个是内容流。 另外,解码器随机生成注意屏蔽矩阵。 矩阵中每行的元素指示要解码的每个单词可感知的上下文的位置。 在query stream自验证内容流的过程中,注意掩码矩阵为每个单词过滤需要掩码的上下文。 由于注意力屏蔽矩阵的随机性,各单词利用的上下文互不相同,另外,在解码过程中多样化的上下文信息也有效地提高了算法无标记数据的利用效率。 图BEIR中的RetRomae(blue )和beir ( red )、Roberta ( green )、deber ta ( purple )的对比
图4. RetroMAE在零样本稠密搜索标准BEIR中的表示
图5 .开放域问答; 5. RetroMAE在搜索标准MS MARCO中的表达
3 .实验探究
RetroMAE在零样本学习( zero-shot learning )和监督学习( supervised learning )场景下显示了非常密集的搜索性能。 零样本稠密搜索标准BEIR [3]以上的表达(图3、图4 )表明,RetroMAE在大部分任务中明显优于BERT、RoBERTa、DeBERTa等传统基线,其平均搜索精度优于此前的
与此同时,RetroMAE支持开放域问答; 在作为a的基准的MS MARCO [4]中也同样表现,将段落检索精度与RocketQAv2 [5]、AR2 [6]、ERNIE-search [7]、ColBERTv2[8]等进行了比较
这些实验结果不仅验证了RetroMAE的有效性,而且进一步反映了预训练模型对密集检索的重大意义。 目前,RetroMAE已应用于包括网页检索在内的华为各主要检索产品中,全面提高了实际场景中深度语义检索的有效性。 为了推动相关技术的进一步发展,RetroMAE的模型、源代码均向社区开放[ 9,10 ]。
四.考虑MindSpore AI框架
思维MindSpore是华为推出的全场景AI框架,实现了易开发、高效执行、全场景覆盖三大目标,为数据科学家和算法工程师提供设计友好、高效执行的开发体验作为近年来人工智能领域关注的议题,大规模预训练模型是MindSpore框架重点构建的能力。 为此,开发人员设计实现了MindSpore Transformer等套件,构建了集模型训练、推理、部署于一体的全流程服务,实现了从单一GPU到大规模集群训练的无缝切换,实现了数据并行、部署
到目前为止,MindSpore框架已经成功地支持了包括盘古大模型在内的许多大规模预训练任务。 RetroMAE是在考虑MindSpore框架的基础上再次成功的实践。 多亏了MindSpore高度协调优化的高性能算子库,RetroMAE充分释放了硬件的计算能力,有效地实现了基于大量无标记数据的预训练任务。 未来,华为将继续充分利用MindSpore框架构建一流的深层语义检索能力,帮助用户获得更智能、更精准的检索体验。
参考文献
[1] lessis more :前向转移文本编码解码器
[2] ts DAE:using transformer-basedsequentialdenoisingauto-encoderforunsupervisedsentenceembeddinglearning
[3] beir:aheterogenousbenchmarkforzero-shotevaluationofinformationretrievalmodels
[4] ms Marco:ahumangeneratedmachinereadingcomprehensiondataset
[5] rocketqav2: ajointtrainingmethodfordensepassageretrievalandpassagere-ranking
[6]高级还原随机存取存储器
[7] Ernie-search:bridging cross-encoderwithdual-encoderviaselfon-the-flydistillationfordensepassageretrieval
[8] Colbert v2:effectiveandefficientretrievalvialightweightlateinteraction
[9] https://github.com/staoxiao/ret romae
[ 10 ] https://github.com/mind spore-ecosystem/mind search