科技正能量 · 2021年12月23日

中文巨量模型“源1.0”:模型结构与生成效果解析

------浪潮人工智能研究院

“源 1.0”自2021年9月底发布以来收获了广泛的关注。其参数量达2457亿,超越美国OpenAI组织研发的GPT-3。“源1.0”在语言智能方面表现优异,获得中文语言理解评测基准CLUE榜单的零样本学习(zero-shot)和小样本学习(few-shot)两类总榜冠军。测试结果显示,人群能够准确分辨人与“源1.0”作品差别的成功率低于50%。
在之前的博客中,我们详细论述了如何准备预训练数据、模型本身如何训练,以及在下游任务如何提升精度。在本篇中,我们将着重讨论模型的结构问题,以及由模型结构带来的效果。会回答以下三个问题:(1)“源1.0”基础模型结构是怎样的?(2)为什么要选择这样的结构?(3)和模型结构相关的下游任务效果。

1. “源1.0”基础模型结构的选择

在介绍基础模型结构之前,显然要明确一件事情:我们想让模型完成什么呢?在自然语言处理(NLP)领域,所有的任务大体可以被分为两类:自然语言理解(NLU)任务和自然语言生成(NLG)任务,前者偏重于对语义的理解,而后者偏重于文本的创作。如果可能的话,开发者当然期望这个模型在两类任务上同样出色,但事实上,不同类型的NLP模型结构对两类任务总是有所偏重的。如果只考虑在榜单上的表现,偏重于NLU任务可能会比较合适,因为包括“源1.0”冲击的CLUE榜单在内,几乎所有相似的榜单都偏重于自然语言理解任务,在 《中文巨量模型浪潮“源1.0”的小样本学习优化方法》(http://blog.itpub.net/3154580...)这篇博文上也可以看到相关任务的介绍。为了在榜单上取得更好的成绩,自然应该选择一个偏重于NLU的模型结构。然而,当我们考虑到模型实际应用的时候,就会发现NLG的应用场景更广泛,没有NLG,也很难体先出NLU的价值。所以,在这个问题上,我们的认识是要优先保证模型具有出色的创作能力(NLG),而在NLU任务上也务必尽可能地提升效果。
带着这样的初衷,“源1.0”的基础结构为一个单向的语言模型,即根据上文预测下文的概率。其中的Transformer解码器(Decoder)采用自回归的方式输出序列。当处理不同的下游任务时,则会根据任务类型使用一个从文本到文本的框架,将所有任务处理成相似的格式,以便直接将预训练的语言模型应用于不同的下游任务上。过去的研究已经证实,经典的单向语言模型结构是擅长NLG任务的,而在NLU任务上则相对薄弱一些。为了进一步探索模型在NLU任务上的可能,在“源 1.0”的开发过程中,我们考虑了语言模型(Language Model,LM),和前缀语言模型(Prefix Language Model,PLM)两种结构。两种结构的主要区别在于掩码的方式,如图1所示。
1.jpg

图1 语言模型结构示意图(左图为LM,右图为PLM)。桔红色实线代表输入在前缀范围内全可见掩码,蓝色虚线代表随机掩码

在t时刻,解码器根据模型对输出序列的预测概率,生成输出序列中最右侧的一位 (x5)的标记(token)。之后这个标记与输入序列相连接,一起被送入模型以预测 t+1时刻的输出(x6)的标记。我们用这两种模型结构分别训练了130亿参数量的两个模型,Yuan LM-13B和Yuan PLM-13B,并把这两个模型放在小样本学习(FewCLUE)和零样本学习(ZeroCLUE)场景下做了评估(表1)。关于表格中任务的详细介绍,请参考博文《中文巨量模型浪潮“源1.0”的小样本学习优化方法》。
2.png

表1(a)和(b)表明LM和PLM在Zero-Shot和Few-Shot上都具有优异的表现能力。LM和PLM的零样本平均得分都优于已往的最优结果。在Csldcp、Tnews和Iflytek任务上,模型的得分大大超过了以往零样本学习的最优结果。模型在Ocnli上也取得了不错的成绩,比以往零样本学习的最优结果高出6-8个点。我们的监督微调方法与GPT的设计一致。 LM和PLM的平均分数与以往最优分数相当,如表1(b)所示。与小样本学习结果相比,微调对Bustm、Csl和Wsc有很大的改进。但是,对于在零样本学习上表现出色的Chid、Eprsmt、Tnews和Ocnli,微调贡献很小甚至会有负面影响。
比较 LM和 PLM的结果,我们注意到 LM在 Zero-Shot和 Few-Shot上表现更好,而 PLM在微调方面表现出色。微调通常会在大多数NLU的任务中带来更好的准确性,这与我们一开始选择模型结构的初衷相合。然而,当模型参数量从百亿扩大到千亿规模,比如对于我们的 “源1.0”模型,微调会消耗大量的计算资源,这是不经济的。所以最终,我们选择 LM作为“源1.0”的基础架构。

2. “源1.0”的文本生成效果

“源 1.0”更加出色的能力是体现在创作上(NLG)。为了评价模型生成文本的效果,我们任意选择了“源1.0”生成的24个文本,包括 4副对联、5首中文传统和现代诗歌、5篇新闻文章、5个故事和5段对话。对联、诗歌和对话的创作可以看作是短文本任务(~10-20个标记),而新闻和故事生成可以看作是长文本任务(~300个标记)。与之对比的人工写的文章来自名家所作的诗歌、经典小说、搜狐新闻的新闻文章和LCCC-large数据集中的对话。参与者被要求选择文章是“由人类撰写”还是“由模型撰写”,我们收集了83份有效问卷。根据我们的采访,大多数受访者会倾向于选择 “更好的”那一篇是由人类创作的,而“稍差”的那一篇是模型生成的。
3.png
图2 人类检测由“源 1.0”模型创建的文章的准确性

图2展示了这次实验的结果。“源 1.0”创作的文章有 49.16%的概率可以被正确识别为“由模型撰写”,这意味着参与者难以区分人工撰写和模型生成的文章,尤其是现代诗和文章。新闻(42.12%)和故事(49.15%)的生成结果让我们可以相信模型出色的长文本生成能力。在我们的参与者看来,一些模型撰写的文章甚至比部分出自大师之手的文章还要好。对联和诗歌的生成表明,尽管我们的预训练语料中没有加强古汉语,“源1.0”也能够创建具有一定形式的古汉语文本,如图2所示。“源1.0”也可以进行符合人类期望的对话(45.68%)。“源1.0”目前能够生成多种高质量的文本,如新闻稿件、故事续写等。对于这些类别的任务,所产出的文章与人类创作的内容相差无,甚至达到了以假乱真的程度。
在表2中展示了一些“源 1.0”对不同文体的驾驭能力,读者可以稍加体会。

表2(a) 对联生成效果
4.png

表2(b) 诗歌生成效果
5.png

表2(c) 小说生成效果
6.png

表2(d) 对话生成效果
7.png

从表2(b)(c)中,我们可以看到“源 1.0”的学习和模仿能力。在生成诗歌时,如果我们在输入中给出某种风格的例子,模型就会倾向于生成相似风格的诗歌。在小说续写中,模型也会依据输入文本的风格,继续文章的写作。
除了基本的创作能力以外,“源 1.0”其实还有一些有趣的能力,比如,模型可以学习一些原本不存在的词的用法,也能够具备一定的推理能力。比如我们在输入中给出了这个词的定义和例句,模型将用给定的信息编写一个新句子。这个不存在词包括名词和形容词。表3(a)显示了模型在One-shot条件下的生成结果。在所有情况下,模型都对我们给出的新词作出了近似正确的应用,这意味着我们的模型具有学习和模仿能力。这种能力在模型辅助科学文章写作时特别有效,因为对“源 1.0”来说学术文章中的大量定义可能是陌生的。表3(b)则展示了模型的逻辑推理能力,这些推理题对于人类来说尚有一定的挑战、需要相当程度的推理和计算,但是模型却可以快速给出答案,且正确率远高于随机。
表3(a) 模型对于新词的学习能力
8.png

表3(b) 模型的逻辑推理能力
9.png

0.png

关于“源1.0”的更多信息,大家可以参照浪潮人工智能研究院发布在arxiv上的论文:https://arxiv.org/abs/2110.04725

推荐阅读
关注数
2834
内容数
255
新基建、云计算、数字经济、数字化转型
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息