自谷歌 2018 年 10 月推出 BERT 模型以来,各式各样的改进版预训练模型(Pre-Training Model, PTM)层出不穷,为 NLP 领域持续赋能。在近两年的时间里,出现了哪些令人印象深刻的新模型呢?又如何打造最强的预训练模型呢?近日,中科院软件所博士、新浪微博 AI Lab 担任资深算法专家张俊林以现有技术文献为基础,试图回答预训练模型相关的一系列问题。
进一步增加预训练数据数量,能够改善模型效果;
延长预训练时间或增加预训练步数,能够改善模型效果;
急剧放大预训练的每个 Batch 的 Batch Size,能够明显改善模型效果;
拿掉预训练任务中的 Next Sentence Prediction 子任务,它不必要存在;
输入文本的动态 Masking 策略有帮助。
本节我们归纳下目前能得到的,关于模型结构的现有研究结论,会介绍常见的五种模型结构。当然,这里用模型结构来表达不足够确切,因为除了模型结构外,一般还包含自监督的学习方法,常见的学习方法包括 AutoEncoding(简称 AE)和 AutoRegressive(简称 AR)。AE 即我们常说的双向语言模型,而 AR 则代表从左到右的单向语言模型。
首先,也是最重要的,可能是急需构建不同模态间的大规模对齐数据。目前,“图片 - 文本”类型的对齐数据规模尚可,但是继续扩大数据规模无疑是有益的;对其它类型的模态组合而言,大规模的标准对齐数据比较缺乏,这会严重制约多模态预训练的发展。所以明显需要数据先行,这是发展技术的前提条件;
其次,感觉在自由文本预训练研究领域中,目前得到的一些得到验证的经验,推理起来,应该是能够直接迁移到多模态预训练领域的。典型的经验,比如:在扩大数据规模的同时,增加模型复杂度。增加模型复杂度包括图片特征抽取器模型复杂度(已经有实验验证加深 ResNet 模型对效果提升明显),以及增加对应的 Transformer 层深,放大 Transformer 的 Hidden Size 等,相信这是能够大幅提升多模态预训练的首选手段;再比如文本预训练任务中的 Mask 对象,采用 Span 方式而非单词方式(已有工作这么做了),加大 Batch Size 延长训练时间等训练方法优化手段,想来都应该是有益的;从训练目标来说,目前的模态间对齐任务还是有点类似 NSP 这种句子分类任务,明显偏简单了一些,这块可以考虑引入更有难度的对齐任务,以及实体级别细粒度的对齐任务,来增强模态对齐模型的效果。
再次,可以考虑由目前的两模态向真正的多模态扩展,比如三模态动态联合训练,目前常见的是 “文本 - 图片”,或者“文本 - 视频”,通常是两模态结构,后面可以考虑“文本 - 图片 - 音频”,或者“文本 - 视频 - 音频” 等三模态甚至更多模态的联合预训练。当然,这么做的前提,仍然是得先有多模态的对齐数据。