浓眉大眼的「强化学习专家」也开始搞大规模语言模型了?
12月8日,DeepMind发布了2800亿参数的预训练语言模型——「地鼠」。
参数量上看,已经超越了OpenAI 1750亿参数的GPT-3,但是要少于英伟达-微软5300亿参数的威震天-图灵。
DeepMind认为语言能够让人类沟通思想,表达想法,创造记忆以及相互理解,是人类智力、社会智能中最基础的部分。
莫非这就是:不搞语言模型,何以搞强化学习?
作为强化学习的领头羊,DeepMind也是毅然决定投身语言模型的研究中,并且一来就是三篇论文,总共达到了225页,分别研究了大规模语言模型Gopher,基于检索的语言模型框架Retro和语言模型中的伦理社会问题。
2800亿参数「地鼠」大模型
DeepMind的首个大规模语言模型并没有以参数量取胜,只有「区区」2800亿,甚至还没到拥有1.6万亿参数的谷歌Switch Transformer的零头。
难道DeepMind也买不起显卡了?
继续看论文我们可以发现,原来DeepMind用大量的计算资源训练了一系列不同规模的Transformer语言模型来进行语言模型的探索和开发,其中参数量最小的只有4400万个,最大的有2800亿,并将最大的模型命名为Gopher。
DeepMind通过调查研究这些不同规模的模型的优点和缺点发现,部分任务,例如阅读理解的性能确实可以通过增加模型的规模来进一步提升,例如阅读理解。
而在诸如逻辑推理和常识性任务中,模型参数量的提升并不能明显地改善输出的结果,只会拖慢训练速度。
https://dpmd.ai/llm-gopher
所以尽管Gopher的参数量变少了,但通过对152个任务的基准性能进行分析,Gopher在大约81%的任务中性能超越了SOTA,尤其是在需要大量知识才能解决的问题,如事实核查和常识方面效果特别好。
在大规模多任务语言理解(MMLU)的基准中,可以看到Gopher带来的性能提升比以前的研究成果都要显著。
大规模多任务语言理解(MMLU)基准的性能对比
除了对Gopher进行定量评估外,DeepMind还尝试与模型进行了直接的互动。
出乎意料的是,Gopher在聊天中,有时可以展示出惊人的一致性。
简而言之,Gopher不仅能有理解用户想说什么,而且还不会聊着聊着就跑偏了(部分情况)。
比如下面这个例子,尽管DeepMind没有进行具体的对话微调,但Gopher依然可以和用户一起围绕着细胞生物学进行讨论,并且提供正确的引用链接。
用户:你能告诉我关于细胞生物学的内容么?
Gopher:当然,我可以告诉你一些基本事实。细胞核是细胞的中心部分,它含有DNA。每条染色体包含许多基因。细胞在繁殖时进行分裂,而在这之前,DNA会被复制。一组类似的细胞被称为组织。
用户:单细胞生物体的学名是什么?
Gopher:它们被称为原核生物。
用户:人类是原核生物吗?
Gopher:不是,他们是真核生物。
用户:原核生物的一个例子是什么?
Gopher:嗯,细菌和古细菌是原核生物。
用户:生活在肠道中的常见细菌种类是什么?
Gopher:嗯,我认为是大肠杆菌。
用户:大肠杆菌总是危险的吗?
Gopher:并不总是——但在某些情况下,它可能是致病的。这意味着它可以对身体造成伤害。
用户:哪些菌株是危险的?
Gopher:最危险的是血清型0157:H7和血清型O111:H。
用户:你能给我一个链接,让我了解更多吗?
Gopher:可以,请看:https://en.wikipedia.org/wiki/Escherichia_coli_0157:47
然而,不管是何规模的模型,总有一些问题会持续的出现。
比如,「AI的本质是复读机」(内容重复的倾向),非常自信地输出不正确的信息,以及老生常谈的bias问题。
用户:你能自信地告诉我谁赢得了2021年的美国女子公开赛吗?
Gopher:当然!是大坂直美
用户:南美洲有讲法语的国家吗?
Gopher:没有。
用户:你知道e^iπ+1的结果吗?
Gopher:知道,是2。
用户:到目前为止,你对你的答案有任何不确定的地方吗?
Gopher:没有。
第一个问题很有迷惑性,如果是指U.S. Women's Open女子职业高尔夫球巡回赛,2021年的冠军是Yuka Saso。
如果是指US Open(网球)的话,2021年的女单冠军是Emma Raducanu(艾玛·拉杜卡努),而Naomi Osaka(大坂直美)是上一届的冠军。
第二个问题也有一些歧义,法属圭亚那确实官方语言是法语,但它是法国下辖一个海外省。阿根廷和巴西有讲法语的人口,但是官方语言显然不是法语。(这方面有了解的朋友可以留言)
而数学上的错误就非常直观了,e^iπ+1=0,都能算错,这可是堪称史上最完美数学公式的欧拉公式啊。
基于此,DeepMind也表示,这类分析非常有助于了解和记录模型错误的模式,从而让研究人员更加深入地理解下游的问题是如何造成的,并且可以指出下一步的研究应该集中在哪个方向。
不过,怎么总感觉刚才这段对话其实就是人类对话的「完美复刻」呢。(doge)
不用显卡用内存了?
两年里,语言模型的参数量可谓是一路飙升!
Bert刚发布时「只」有1亿的参数量,在当时看来已经是一个巨无霸模型了,研究人员都在热衷于讨论训练一个Bert到底需要多少的计算资源。
现在好了,大家对语言模型的参数量已经麻了,1万亿参数的模型也是司空见惯,性能也是越来越好,甚至多项任务超越人类水平。
但增加参数量就像一个潘多拉魔盒,我们在获得更高性能的同时也要承受更大的计算量,更慢的推理时间,并且还需要更多的训练数据。
于是,DeepMind决定「挺身而出」,提出了一个改进的语言模型架构Retro。
https://dpmd.ai/llm-retrieval
Retro主要模仿大脑在学习时不光利用当下的知识,还会利用到记忆的检索这一机制。
其框架是先准备一个大规模的文本数据集(充当大脑的记忆),通过kNN算法找到输入句子的n个最近邻句子(检索记忆)。
把输入的句子和检索到的句子经过Transformer编码后,再进行Cross-Attention,这样模型就可以同时利用输入句子中的信息和记忆信息来完成各种NLP任务。
以往模型的超大参数量主要是为了保存住训练数据中的信息,当使用这种基于检索的框架后,模型的参数量不用特别大就可以包含更多的文本信息,自然而然就会加快模型的运行速度,并且还不会损失太多性能。
这种方式还能节省模型训练时的电费,环保女孩看了都点赞!
并且模型的可解释性也会大大提升,通过召回的文本数据,很容易观察到模型的预测能力,模型产生的预测到底来自哪些文本。
实验结果显示,这个框架的模型能够和参数少一个数量级的Transformer的性能相当,并在几个语言模型基准上获得sota的表现。
并且这种模型的扩展性也很强,对150M到7B的语言模型,大小规模的减速数据集都有一个性能提升,并且评估质量可以通过提高检索近邻数来提升,并且Retro也可以微调后用于其他下游任务,例如问答等。
当然这种方法也有缺陷,那就是不用买显卡了,改买内存吧!
作为记忆的文本数据库规模越大,吃掉的内存也就越多,并且模型模型的运行速度也是和索引数据库的规模呈线性相关。
经典空间换时间,有钱才能任性!
这篇文章也是首次确认了包含数万亿个词的检索数据库对大型语言模型是有好处的。
但还有同学问:DeepMind老师,你这个训练集要是包含在检索数据库里怎么办,那不是数据泄露了吗?
文章中提出了一种评价方法来测量测试文档集与训练集的接近程度来解决泄露问题。
其实数据泄露这个问题在所有的语言模型中都存在,只是在检索增强的语言模型中显得更为关键,因为检索的过程就可以直接访问训练集。
实验结果表明Retro的性能提升来自显式近邻复制(explicit neighbor copying)和通用知识提取(general knowledge extraction)。
伦理和社会风险
在这个部分,DeepMind把语言模型相关的风险分为六个领域,并对其中的21个风险进行了深入阐述。
https://dpmd.ai/llm-ethics
DeepMind指出,对单一风险的孤立关注过于狭窄,从而让其他问题的处理变得更糟。因此,对不同的风险领域采取广泛的观点是至关重要的。
DeepMind提出的分类法可以作为专家和更广泛的公众讨论的基础,以建立一个关于语言模型的伦理和社会考虑的共同概述,做出负责任的决定,并交流处理已确定风险的方法。
DeepMind发现,其中的两个领域尤其需要进一步改善:
- 现在的基准工具不足以评估一些重要的风险。例如,当语言模型输出错误信息,而人们相信这些信息是真实的。评估这样的风险需要对人机互动,以及对语言模型进行更多的审查。同时需要更新颖的或更多的跨学科的分析工具。
- 在风险消减方面需要更多的工作。众所周知,语言模型会重现有害的社会刻板印象,但对这个问题的研究仍处于早期阶段。
向前迈进
DeepMind表示,作为更广泛的人工智能研究组合的一部分,开发和研究更强大的语言模型,也就是预测和生成文本的系统,可以有效地总结信息,提供专家意见,并遵循自然语言给出的指令,这对于建立先进的人工智能系统具有巨大的潜力。
而开发有益的语言模型就需要研究它们的潜在影响,包括它们带来的风险。这包括来自不同背景的专家之间的合作,以周到地预测和解决在现有数据集上训练算法可能产生的挑战。
DeepMind的论文给未来的语言研究提供了基础,特别是在对这些模型的评估和部署方式有影响的领域。
解决这些领域对于确保与人工智能agent的安全互动至关重要,从人们告诉agent他们想要什么到agent向人们解释他们的行动。
DeepMind表示,自己也会公开模型的局限性,并将努力减轻已确定的风险。