1000亿参数!阿里&清华发布最大规模的中文多模态预训练模型M6


作者 | 蒋宝尚、陈彩娴

编辑 | 青暮

近日,阿里巴巴联合清华大学发表了一项新研究,提出了参数规模达到1000亿的中文预训练模型 M6。我们可以看到,这项研究的通讯作者包括达摩院智能计算实验室资深算法专家杨红霞,以及清华大学计算机与科学技术系教授唐杰。

论文链接:https://arxiv.org/pdf/2103.00823.pdf

在这项新工作中,研究人员为了弥补大型预训练模型家族中(比如GPT-3、DALL-E等)中文数据集和中文模型的缺失,构建了一个最大的中文多模态预训练数据集M6-Corpus,该数据集包含超过 1.9 TB图像和 292GB 文本,涵盖了广泛的领域,并提出了一种称为M6(Multi-Modality to MultiModality Multitask Mega-transformer)的跨模态预训练方法,以便对单模态和多模态的数据进行统一的预训练。

M6的应用适用于广泛的任务,包括产品描述生成、视觉问答、问答、中国诗歌生成等,实验结果表明M6的表现优于一系列强大的基准。并且,研究人员还专门设计了文本引导的图像生成任务,从而可以实现DALL-E那样的sao操作,并证明经过微调的 M6 可以创建具有高分辨率和丰富细节的高质量图像。

1 应用

1、文本-图像生成

文本:绵羊毛商务休闲西服套装

文本:减震透气跑鞋

文本:军旅风迷彩高跟鞋

文本:机器人矢量插图

2、视觉问答

图注:论文将原始问题题调成设计模式,并使用了?与答案等经典 token。这个预训练模型可以识别问题,提供答案与更深入的描述。

3、图片文字说明

图注:论文仅将图像特征作为输入,并没有提供任何提示。

4、问题回答

图注:提示(包含问题)成功触使模型生成论坛讨论形式的长文本。

5、诗歌生成

图注:提示和约束掩码协同工作,根据给定标题生成一首诗。

M6-Corpus涵盖了百科全书、问答、论坛讨论、产品说明等类型的数据集。此外,研究人员设计了完善的清洁程序以确保数据质量 。

M6 模型基于Transformer,并且已经过多项任务的预训练,使模型具有对单模态和多模态的理解和生成的能力。研究人员将 M6 模型的大小从 100 亿个参数扩展到 1000 亿个参数,成为有史以来最大的中文预训练模型。

和DALL-E类似,研究人员在M6中以两阶段框架来生成图像。首先用已训练的量化向量生成对抗网络以离散图像编码表示图像,然后使用预训练的M6来学习文本和编码之间的关系。这种学习方法可以桥接这两种模态,并实现可控的文本到图像生成。

最后,研究人员表示,通过精心设计的大规模分布式训练优化,M6在训练速度上具有明显的优势,并大大降低了训练成本,从而为更广泛地使用多模态预训练提供了可能性。

2 数据集

与现有的英文数据集相比,中文语料库的规模和形式略显不足。另外,对于多模态预训练而言,用图文数据进行训练显然是比文本数据更好的选择。

这篇论文在统一自然语言预训练和多模态的预训练的同时,构建了纯文本和图像-文本对的大型数据集M6-Corpus。这些多模态预训练的语料库满足以下特点:

1.句子长度正常,语言流畅,不含有重复标点符号、随意组合字符等无意义的符号;

2.图像分辨率足够高,以人类能够识别为标准

3.文字、图片不含有色情、暴力等违法内容;

4.图像和文本应具有语义关联性

5.数据集涉及的领域广阔,目标是能够赋予模型足够的世界知识。

最后,研究者根据以上特点收集的多模态预训练的语料库的来源如上,包括百科全书、爬行网页、社区问答、论坛、产品描述等等。

为了突出数据集的优势,研究者还和友商进行了比较,经过文本规模、图像规模、是否多模态几项要素对比,研究者得出结论:M6-Corpus是首个大规模、多模态、多领域的中文预训练语料库。

数据收集并不容易,研究者还进行了复杂的预处理,对于文本数据,删除了HTML标记和重复的标点符号,只保留中文和英文的字符和标点符号。对于短于5个字符的标题和短于15个字符的文本内容,研究者予以删除。

此外,研究者使用其内部垃圾邮件检测器筛选包含某些政治问题、色情或脏话等不合适的句子。为了保持文本的语言接受度,还建立了一个语言模型进行评估文本的困惑程度,去掉了困惑程度高的句子。

对于图片数据,只有超过5000像素的图像才有资格被保留用于预训练。并利用一系列分类器筛出非法内容,用预先训练好的图像评分系统对图像质量进行评价,择优录取。

整个数据集的收集可谓用心良苦,但也保证了数据集的高质量。百科全书、网页和产品描述三类数据展示如上。

百科全书、社区问答、论坛讨论这些文本数据的展示如上。

3 模型架构

此预训练模型的架构名为M6,Multi-Modality-to-Multi-Modality Multitask Mega-transformer。

顾名思义,此模型有两个特点:一个是大,模型规模大,包含参数千亿;另一个是多模态,能够处理文本到图像的任务。另外,从模型的名字我们也可以看出,基础架构是自注意力机制的transformer。

图注:M6预训练框架一览

主流的多模态预训练方法通过目标检测将图像转换为特征序列。目标检测器的性能及其主干的表现力极大地影响了预先训练的模型在下游任务中的最终性能。以电子商务中的数据图像为例。研究者随机抽取1百万幅图像,并对图像进行目标检测。结果表明,90%以上的图像包含的对象少于5个,且对象之间的重叠度也很高。

为了解决上述问题,研究者用了一个简单但有效的解决方案:将图像分割成多个块,并用经过训练的特征提取器(如ResNet-50)提取2D的特征。然后,按照特征的位置排列成一个序列。

据悉,单词序列输入的处理比较简单。将WordPiess和掩码应用到单词序列,并在BERT之后将它们整合进嵌入层。

另外在M6模型框架中,研究者使用不同的掩码策略(masking strategies )进行实现编码和解码。输入分为三个部分,包括视觉输入、掩码的语言输入和完整的语言输入。作者将双向掩码应用于视觉输入和掩码的语言输入,并将因果掩码应用于完整的语言输入。因此,该模型在同一框架中实现了编码和解码功能。

研究者还使用多任务设置预先训练模型,包括文本到文本转换、图像到文本转换的和多模态转换。模型还可以处理不同模态的信息,并同时执行单模态和跨模态的理解和生成。

M6模型一共有两个版本,根据模型包含的参数不用,分为M6-10B(包含100亿个参数)、M6-100B(包含1000亿个参数)。

模型大小不同,意味着神经网络的隐藏层大小和层数不同,更大的模型显然能更好的表示、学习世界知识。当然,研究者也采取了节省GPU内存手段:应用混合精度训练和激活检查点(activation checkpointing )。尽管如此,M6模型还是由于太大不能容纳在单个GPU中。

图注:不同规模模型的介绍

M6-100B并不是M6-10B的简单扩大版本,在扩大参数的过程中,研究者使用过了专家混合( MoE,Mixture-of-Experts)。考虑到MOE需要Mesh-TensorFlow以及TPU,有些研究人员使用这么计算资源有门槛,因为论文作者用框架Whale实现了带有MOE的M6-100B,执行与GPU的模型并行性。

4 总结与讨论

当下最火的AI应用是什么?毫无疑问是OpenAI名为DALL-E的神经网络模型,它可以魔法一般按照自然语言文字描述直接生成对应图片。生成效果非常神奇,有人说自然语言与视觉的壁垒正在被逐渐打通。

而清华大学和阿里巴巴公布了M6模型,也在一定程度上证明了中国企业和学界也有能力开发出魔法般的AI技术。

图注:M6模型根据文本内容,自动设计特定风格图片(图片来源网络,侵删)

对此,在reddit上,网友评:虽然和OpenAI的工作类似,但是MOE方面的工作是极具创新的。另外,仿佛每个人,即使没有AI背景的妈妈在此之后也能轻松训练大规模多模态模型。

还有网友认为:中国拥有无与伦比的大规模数据,非常适合大型多模态AI训练。

另一方面这种跨界模型也正是当下的研究趋势,正如之前OpenAI 联合创始人、首席科学家 Ilya Sutskever 在推特上发文表示道:人工智能的长期目标是构建多模态神经网络,即AI能够学习不同模态之间的概念(文本和视觉领域为主),从而更好地理解世界。

M6模型的发布也意味着,中国在工程和技术上有能力做出兼顾训练效率和生成精度的多模态预训练模型,为迎接下一代人工智能打下基础。

由于微信公众号试行乱序推送,您可能不再能准时收到AI科技评论的推送。为了第一时间收到AI科技评论的报道, 请将AI科技评论设为星标账号在看。


发表回复

您的电子邮箱地址不会被公开。