家电品牌工业4.0B2B网站管理系统

扫一扫关注

黄萱菁:迈向大规模语言模型,我们从未与通用人工智能如此接近

   2023-03-15 澎湃新闻·澎湃号​63060
导读

我们从未觉得自己与通用人工智能如此接近,这是我做人工智能这么多年以来最兴奋的一个时期。AI可能会像工业革命和信息革命一样,引领我们走向下一个时代。复旦科创先锋论坛特别版“我们WOMEN:走在前线”演讲实录迈

 

 


我们从未觉得自己与通用人工智能如此接近,这是我做人工智能这么多年以来最兴奋的一个时期。

AI可能会像工业革命和信息革命一样,引领我们走向下一个时代。

复旦科创先锋论坛特别版

“我们WOMEN:走在前线”

演讲实录

迈向大规模语言模型


演讲嘉宾

黄萱菁

复旦大学计算机学院教授、博士生导师

非常高兴来到复旦管院和在座各位青年科创精英、管理精英共同探讨先进的科学技术和管理理念,这是我感到非常荣幸的一件事情,尤其是在妇女节这一周,作为从事人工智能的女性,感到既快乐,又感到身上的担子非常重。

我报告的题目是“迈向大规模语言模型”。我会花一些精力跟大家讲讲什么是大规模语言模型,托ChatGPT的福,这个概念已经深入人心。

1

什么是“语言模型”?

在讲大规模之前,我们先了解什么叫做语言模型。语言模型就是语言的规律。

首先是语法。我们无论学习汉语还是英语等语言,都是从语法开始学起,但是光有语法,我们依然很难捕捉客观世界纷繁复杂的语言现象,因为语言并不会严格按照语法去表达。这个时候,我们就需要使用到数学“武器”——概率,在各种语言现象中间去寻找规律。举个例子,比如“The cat sat on the mat”和“The cat sad on the mat”,假设语音识别任务需要根据读音判断是“sat”还是“sad”,如果通过对句子进行概率分析,我们就能知道什么是正确的识别结果。这个概率模型就称为语言模型。

语言模型有一个问题:概率模型是有窗口的,当你的窗口越来越大,你所需要的计算量开销就更大。由于句子在诸多情景下可能包含巨大的词汇量,导致传统概率语言模型所需的计算资源爆炸式增长。所谓大规模语言模型就是含有巨量参数,能够接受很长一段时间窗口的语言文字。

2017年出现了一个模型叫做Transformer,这是现在预训练模型的基石,也是大规模语言模型的基石。传统的预训练模型有两种思路,一种是以BERT为例的理解式模型,另一种是以ChatGPT的前身GPT为代表的产生式模型。当然也有一些工作尝试把理解式模型和产生式模型结合起来。曾经很长一段时间,理解式的模型被使用得比较多,而产生式模型则需要更高的算力和更长的窗口,一直到有了GPT-3之后,大家才知道它如此之强悍。现在的ChatGPT,还拥有了很强的理解人类上下文的能力。

我们生活在一个飞速变化的时代,几乎每个星期都有新的模型发布,预训练+微调的方式是前ChatGPT时代的范式,诸如Google、Open AI这样的大厂商将自身开发的大模型开源,供下游应用者在这些模型上进行参数的微调,以取得优异的表现。举个例子:电影影评有正面和负面的,我们要进行分类,仅仅用原来的GPT和BERT效果是不够的,需要人工标注一批任务相关的数据,对模型进行微调。过去大概三年的时间,这种预训练+微调的范式就是自然语言处理的主要范式。

预训练+微调范式带来了自然语言处理的新时代,对上游和下游都带来深远影响。上游是厂商制造出来越来越强大的模型,模型的参数规模以指数的规模增长;下游则是将预训练的大模型合理应用到各种任务上。过去两年有一个非常时髦的概念叫做“小样本学习”或者“少样本学习”,刚才我们说过,如果要完成某一个任务,可能需要人工标注大量的数据,但在少样本场景之下,只需要一两条数据,大规模语言模型就能够给出相当不错的性能。

2

当语言模型变得更大……

不过,当语言模型变得更大的时候,一方面,厂商出于商业原因逐渐舍弃开源,OPen AI没有开放过GPT3模型,只开放API接口,你可以调用,但是拿不到内部细节,今年新出来的ChatGPT连论文都没发表 ,只能靠大家去猜测;另一方面,用户也缺乏足够的计算资源使用大模型,所以我们非常期待国产芯片,能够让我们拥有更多的算力去运行大规模语言模型。

这样的情况之下,我们有了一个新的范式,就是要利用大规模语言模型的涌现能力。所谓的涌现能力是什么?当模型的参数规模还不太大的时候,你看不到它的强大,当达到某一个临界值时,这个模型就会非常强大,目前我们认为这个参数规模的临界值可能是650亿。


早期的GPT-3还不太理解用户的需求,但最近不论是ChatGPT还是我们实验室开发的MOSS,都拥有了比较强的写代码能力。

我们发现代码是非常好的数据,因为代码有逻辑性,是结构化的,还带有注释和文档,我们可以进行语义方面的对齐。至于什么数据是最好的数据,我认为纸制的媒体、书、报纸是最好的,大家看ChatGPT说的话,是很漂亮很流畅的语言文字,如果我们用论坛、微博等平台上的文字训练它,它说的内容可能就不是那么优美了,这一点很有趣。

GPT-3发布于2020年,只公开了API,人们只能通过接口使用,并授权了很多公司在上面开发小业务。通过这个过程,它搜集了大量的用户行为,知道哪些需求是用户感兴趣的,哪些任务是用户关心的,基于人类的反馈,来训练语言模型,了解人类的价值观。

训练大模型的开销非常之大,需要大量的算力,中小公司会感到负担很重,根本无法简单地进行这样的语言模型训练。于是我们可以尝试把语言模型做成一个服务,你跟它进行交流,它给你反馈结果。我们还可以通过无梯度优化的方法写出更加高质量的提示或者指令,让它更大程度展现它的能力。

在语言模型服务方面,我们从两个方面开展工作,首先我们要去开发模型基座,在过去几年,我们开发了亿级规模、十亿规模到百亿规模的参数,目前跟GPT-3相比,我们大概差一个数量级。此外,我们还研究怎样利用语言模型的能力对它进行调优,让它实现各种各样的任务。

3

自然语言处理的七种范式

接着我们来看一下自然语言处理的七种范式:分类、匹配、序列标注、机器阅读理解、Seq2Seq、Seq2ASeq(序列到动作序列)和掩码语言模型范式。这些也是这几年自然语言处理的范式迁移。

ChatGPT最强大的能力就是它的多用户的能力,它能够处理各种各样的任务,你不需要事先教它,它就已经掌握了。实际上ChatGPT已经通过与人类的交流,比如通过标注了一万多条用户数据,人工写了很多很好的高质量答案,它再用这些答案训练,知道了人类的需求。

现在我们有许许多多的公司,每个公司做一件任务,并把这个任务做到极致,就能够占领一个细分领域。未来自然语言处理将与现在不同。“七种武器”的时代,我们有各种各样的范式,分类范式、匹配范式、序列到序列、语言模型的范式,一个模型就可以打天下。

我们来看一下统一的模型基座。统一模型基座,即可以用一种武器、一个方法统一所有的任务,这是我们在2021年的工作,这个工作早于ChatGPT的出现。但是我们没有做几千种任务,我们做了两类任务。第一类任务是情感分析,有七个小类。我们提出用生成式的框架,通过把一个任务转为语言模型能生成的输出形式,这样的话我们只要少量的任务数据就可以训练出一个语言模型。我们这个模型用的基座是BART,如果我们用了更强悍的基座,可以把需要的样例减到更少。

BERT针对的是自然语言的理解,GPT是自然语言的生成。既然构造大模型的初衷是为了合众归一,那么能不能将它们汇总到一起?我们在2021年提出一个新的语言模型叫做CPT,将理解任务和生成任务合并到一起。CPT是一个非对称的Transformer模型结构。该结构由一个Encoder(任务间共用)和两个Decoder(一个面向理解,一个面向生成)组成,既具备理解的能力又具备生成的能力。

我们从去年年底开始训练MOSS,是在CPT的基础之上训的,我们给它用了更多的算力和数据,训练了两个月,然后出来了目前这样一个版本。

4

ChatGPT时代

该如何使用语言模型?

下面谈一下高效调优算法。

在ChatGPT时代,该怎么样使用语言模型?我们有几个思路。

■ 第一个思路叫做Text prompt(文本提示),通过人工设计一些基于文本的指令,激活大模型面向特定下游任务的能力。但是手工设计偏向于特征工程问题,需要工程师依据既往经验不断调试,十分耗费精力。

■ 第二个思路是In-context learning(情景学习),在GPT模型上展现了良好的表现,这种手段开辟了一个极具前景的方向,值得学界和工业界继续共同研究。

■ 第三个思路是Data generation(数据生成),不同于直接使用大模型,这种手段是使用大模型生成一定量的数据,再利用生成的数据训练一个小体量的模型,以追求在小样本场景下的应用效果。

■ 第四个思路是Feature-based-learning(特征学习),把预训练模型的输出作为一种Feature,并结合标签,输入给一些特定的模型,使参数由标签空间向特征空间靠拢,极大地减轻了端侧优化的负担。

我们提出标签调优方法,这属于特征学习范畴。这个标签调优的想法是这样的,我们在做机器学习的时候一般是先有一个特征空间,比如说情感分析:褒义词和贬义词,分词则可以用上姓氏、称谓等等特征。以前的做法就是在标签空间去做微调,但是我们发现还可以反而求之,冻结参数,然后让标签向参数空间去调整,将来就可以用统一生成式的框架解决问题,比如分类时,可以直接让它生成类别的标签。

还有就是Black-box optimization(黑箱优化),让用户根据推理API的返回结果,使用基于搜索的无梯度优化方法自己优化指令。

并不是所有的人、所有的公司、所有的学校都可以去训练ChatGPT这样的模型。

用户怎么样能够让ChatGPT等大模型返回更加符合我们个性化需求的结果?我们想了一个很巧妙的方法,在用户指令上面加一段,比如说实数的向量表示,把它送到大模型ChatGPT,返回一个结果,可以计算出来现在这个模型是不是能够满足我们的需求,然后我们可以去调整指示。因为我们增加的一小段向量可以修改,经过修改让它做一些自适应的调整,得到更好的结果。

5

如果ChatGPT参加中国高考……

接下来简单看一下我们对ChatGPT做的一些分析。我们对它已经有一些很直觉的认识,比如能够写作文,能够写案件的判决,能够写发言稿。它的能力边界在哪里?

首先是我们所说的情景学习,给它加例子,它会返回跟例子相似的答案。ChatGPT用了很多代码进行训练,如果大家在跟它交流的时候,让它做数学题,而不是直接给例子,直接把这个过程用数学公式写出来,或者用程序代码编出来,它就会做得非常好。

ChatGPT还有一个跟人类反馈对齐的过程。它找了很多专家,对一万多个问题写了很多答案,用这样的任务数据提升它的模型性能;然后强化学习,用它的模型随机生成若干个答案,让许多人标注,从而学习人类的价值取向,再用这个价值取向修改模型,用新的模型重新再去提升它的性能,最后和人类需求越来越对齐。



    

 
(文/小编)
 
反对 0 举报 0 收藏 0 打赏 0 评论 0
0相关评论
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.jdpp168.cn/news/show-4896.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。