复旦教授黄萱菁:善用AI和不用AI的人在工作效率上有巨大差距
文章转载来源:看见Metaverse
来源:澎湃新闻
记者 邵文
“当模型的参数规模还不太大的时候,你看不到它的强大,当达到某一个临界值时,这个模型就会非常强大,目前我们认为这个参数规模的临界值可能是650亿。”
“什么数据是最好的数据,我认为纸质的媒体、书、报纸是最好的。大家发现ChatGPT说的话是很漂亮很流畅的语言文字,而如果我们用论坛、微博等平台上的文字训练它,它说的内容可能就不是那么优美了。”
工具生成
“当模型的参数规模还不太大的时候,你看不到它的强大,当达到某一个临界值时,这个模型就会非常强大,目前我们认为这个参数规模的临界值可能是650亿。”近日,复旦大学计算机学院教授、博士生导师黄萱菁在由复旦大学管理学院主办的“复旦科创先锋论坛”上说道。 她认为,在肉眼可见的未来,善用AI的人将和不用AI的人在工作效率上产生巨大差距。
黄萱菁曾入选“人工智能全球女性”、“AI 2000人工智能全球最具影响力提名学者”及“福布斯中国2020科技女性榜”,主要从事人工智能、自然语言处理和信息检索等方向研究,是复旦大学研发MOSS大模型的团队成员。
3月14日,OpenAI发布其具有里程碑意义的多模态大模型GPT-4,同时透露GPT-4已在新必应(New Bing)中应用。GPT-4的强大表现令人惊艳,支撑它的技术逻辑是什么?在复旦科创先锋论坛现场,黄萱菁做了详细的科普。澎湃科技(www.thepaper.cn)根据其现场讲话整理了以下要点。
1.什么是语言模型?
无论学习汉语还是英语等语言,都是从语法开始学起。但是光有语法,我们依然很难捕捉客观世界纷繁复杂的语言现象,因为语言并不会严格按照语法去表达。这个时候,就需要使用到数学“武器”——概率,在各种语言现象中去寻找规律。
举个例子,“The cat sat on the mat”和“The cat sad on the mat”两句话。假设语音识别任务需要根据读音判断是“sat”还是“sad”,那么通过对句子进行概率分析,就能知道什么是正确的识别结果,这个概率模型就被称为语言模型。
概率模型是有窗口的,当窗口越来越大,所需要的计算量开销就越大。由于句子在诸多情景下可能包含巨大的词汇量,导致传统概率语言模型所需的计算资源爆炸式增长。所谓大规模语言模型就是含有巨量参数,能够接受很长一段时间窗口的语言文字。
2.预训练模型有哪两种思路?
2017年开始,出现了一个叫做Transformer的模型,这个模型就是现在预训练模型的基石,也是大规模语言模型的基石。传统的预训练模型有两种思路,第一种思路是以BERT(Bidirectional Encoder Representation from Transformers)为例的理解模型,另一种思路是以ChatGPT所基于的GPT(Generative Pre-trained Transformer)为代表的产生式模型。当然也有一些工作尝试把理解模型和产生式模型结合起来。
曾经在很长一段时间里,理解式的模型被使用得比较多,而产生式模型则需要更高的算力和更长的窗口。一直到有了GPT-3之后,大家才知道它如此强悍,等有了ChatGPT,其还拥有很强的理解人类上下文的能力。
3. ChatGPT的出现带来什么样的范式革新?
我们生活在一个飞速变化的时代,每个星期都有新的模型发布。
预训练+微调的方式是前ChatGPT时代的范式,诸如Google、OpenAI这样的大厂将自身开发的大模型开源,供下游应用者在这些模型上进行参数微调,以取得优异的表现。比如,电影影评有正面和负面的,我们要进行分类,仅仅用GPT和BERT效果不够,需要人工标注一批任务相关的数据,对模型进行微调。过去大概三年的时间,这种预训练+微调的范式就是自然语言处理的主要范式。
预训练+微调范式带来了自然语言处理的新时代,对上游和下游都带来深远影响。上游是厂商制造出越来越强大的模型,模型的参数规模以指数增长;下游则是将预训练的大模型合理应用到各种任务上。
过去两年有一个非常时髦的概念叫小样本学习或少样本学习。刚才我们说,如果要完成某一个任务,可能需要人工标注大量的数据,但在少样本场景之下,只需要一两条数据,大规模语言模型就能够表现出相当不错的性能。
不过,当语言模型变得更大时,一方面厂商出于商业原因逐渐舍弃开源,OpenAI没有开放过GPT-3模型,只开放API(应用程序编程接口),也就是说可以调用,但拿不到内部细节。ChatGPT连论文都没放出,只能靠大家猜测。另一方面用户也缺乏足够的计算资源使用大模型,所以我们非常期待国产芯片,能够让我们拥有更多算力去运行大规模语言模型。
这样的情况之下,我们有了一个新的范式,就是要利用大规模语言模型的涌现能力。
4.涌现能力是什么?
所谓的涌现能力是什么?当模型的参数规模还不太大时,你看不到它的强大,当达到某一个临界值时,这个模型就会非常强大,目前我们认为这个参数规模的临界值可能是650亿。
早期的GPT-3还不太理解用户的需求,但最近不管是ChatGPT还是我们实验室开发的MOSS,都拥有了比较强的写代码能力。我们发现代码是非常好的数据。因为代码有逻辑性,是结构化的,还带有注释和文档,我们可以进行语义方面的对齐(Alignment,保持一致)。至于什么数据是最好的数据,我认为纸质的媒体、书、报纸是最好的。大家发现ChatGPT说的话是很漂亮很流畅的语言文字,而如果我们用论坛、微博等平台上的文字训练它,它说的内容可能就不是那么优美了,这一点很有趣。
5.如何解决大模型开销巨大的问题?
GPT-3发布于2020年,只公开了API,人们只能通过接口使用,并授权了很多公司在上面开发小业务。通过这个过程,其搜集了大量的用户行为,知道哪些需求是用户感兴趣的,哪些任务是用户关心的,基于人类的反馈来训练语言模型,了解人类的价值观。
训练大模型的开销非常大,需要大量的算力,中小公司会感到负担很重,根本无法简单进行这样的语言模型训练。于是我们可以尝试把语言模型做成一个服务,你跟它进行交流,它给你反馈结果。我们还可以通过无梯度优化(在优化过程中不计算目标函数的梯度,只利用目标函数的值去优化目标函数)的方法写出更加高质量的提示或者指令,让它更大程度展现其能力。
在语言模型服务方面,我们从两个方面开展工作,首先要开发模型基座,在过去几年,我们开发了亿级规模、十亿规模到百亿规模的参数,目前跟GPT-3相比,我们大概差一个数量级。此外,我们还研究怎样利用语言模型的能力对它进行调优,让它实现各种各样的任务。
6.这几年,自然语言处理范式发生了怎样的迁移?
自然语言处理有七种范式:分类、匹配、序列标注、机器阅读理解、Seq2Seq(输出的长度不确定时采用的模型)、Seq2ASeq(序列到动作序列)和掩码语言模型范式(训练语言模型来预测被遮盖的词语,以便在进行文本生成或其他任务时更准确地预测语言)。这些也是这几年自然语言处理的范式迁移。
ChatGPT强大的就是其多任务能力,不需要事先教它,它就已经能够处理各种各样的任务。实际上ChatGPT已经通过与人类的交流,比如标注一万多条用户数据,加上人工写了很多高质量答案,再用这些数据训练,由此知道了人类的需求。
现在我们有许许多多的公司,每个公司做一件任务,并把这个任务做到极致,就能够占领一个细分领域。
未来自然语言处理将与现在不同。“七种武器”的时代,我们有各种各样的范式。现在,一个模型就可以打天下。
7.MOSS是如何训练出来的?
统一模型基座,可以用一种武器、一个方法统一所有的任务。我们在2021年的一个工作(早于ChatGPT的出现),没有做几千种任务,而只做了两类。
第一类任务是情感分析,有七个小类。我们提出用生成式的框架,把一个任务转为语言模型能生成的输出形式。这样的话只要少量任务数据就可以训练出一个语言模型。我们这个模型用的基座是BART(BART吸收了BERT和GPT各自的特点),如果我们用了更强悍的基座,可以把需要的样例减到更少。
BERT针对的是自然语言的理解,GPT是自然语言的生成。既然构造大模型的初衷是为了合众归一,那么能不能将它们汇总到一起?我们在2021年提出一个新的语言模型叫CPT,将理解任务和生成任务合并到一起。CPT是一个非对称的Transformer模型结构,该结构由一个Encoder(任务间共用)和两个Decoder(一个面向理解,一个面向生成)组成,既具备理解的能力又具备生成的能力。
我们从去年年底开始训练MOSS,是在CPT的基础之上训练的。我们给它用了更多的算力和数据,训练了两个月,然后出来了目前这样一个版本。
8. 在ChatGPT时代,我们该怎样使用语言模型?
在ChatGPT时代,对于如何使用语言模型,我们有几个思路。
第一个思路叫做Text prompt(文本提示),通过人工设计一些基于文本的指令,激活大模型面向特定下游任务的能力。但是这偏向于特征工程问题,需要工程师依据既往经验不断调试,十分耗费精力。
第二个思路是In-context learning(情景学习),在GPT模型上展示了良好表现。这种手段开辟了一个极具前景的方向,值得学界和工业界继续共同研究。
第三个思路是Data generation(数据生成),不同于直接使用大模型,这种手段是使用大模型生成一定量的数据,再利用生成的数据训练一个小体量的模型,以追求在小样本场景下的应用效果。
第四个思路是Feature-based-learning(特征学习),把预训练模型的输出作为一种Feature,并结合标签,输入给一些特定的模型,使参数由标签空间向特征空间靠拢,这极大地减轻了端侧优化的负担。我们提出标签调优方法,这属于特征学习范畴。
什么是标签调优?我们在做机器学习时一般是先有一个特征空间,比如情感分析褒义词和贬义词,分词的话可以用上姓氏、称谓等特征。以前的做法是在标签空间做微调,但我们发现其实还可以反而求之。我们冻结参数,然后让标签向参数空间调整,将来就可以用统一生成式的框架解决问题,比如在做分类任务时可以直接让它生成类别标签。
第五个思路是Black-box optimization(黑箱优化),让用户根据推理API的返回结果,使用基于搜索的无梯度优化(在优化过程中不计算目标函数的梯度,只利用目标函数的值去优化目标函数)方法自己优化指令。
并不是所有的人、所有的公司、所有的学校都可以训练ChatGPT这样的模型。怎么样能够让ChatGPT等大模型返回更加符合个性化需求的结果?我们想了一个很巧妙的方法,在用户指令上加一段,比如实数的向量表示,然后把它送到大模型ChatGPT,返回一个结果。这样可以计算出来现在这个模型是不是能够满足我们的需求,然后我们可以去调整指示。因为我们增加的一小段向量可以修改,经过修改让它做一些自适应的调整,得到更好的结果。
9.我们如何测试ChatGPT?
对于ChatGPT,我们已经有一些很直觉的认识,比如能写作文,写案件的判决,写发言稿。它的能力范围在哪里?首先是情景学习,给它例子,它会返回跟例子相似的答案。ChatGPT用了很多代码进行训练,如果大家在跟它交流的时候,让它做数学题,而不是直接给例子,直接把这个过程用数学公式写出来,或者用程序代码编出来,它就会做得非常好。
ChatGPT还有一个跟人类反馈对齐的过程,它找了很多专家,对一万多个问题写了很多答案,用这样的任务数据提升模型性能。然后强化学习,用它的模型随机生成若干个答案,让许多人标注,从而学习人类的价值取向,再用这个价值取向修改模型,用新的模型重新再去提升它的性能,最后和人类需求越来越对齐。
ChatGPT曾经参加谷歌的招聘面试,拿到L3级入门工程师的offer。除了写代码之外,我们也让ChatGPT做做中国的高考题,比如2022年高考历史甲卷的第一题,需要分析给定文本“天下太和,百姓无事”最接近的政治理念。ChatGPT分析认为,根据题干信息,这一思想最接近老子“无为而治”的道家思想,这个答案也是正确的。我们在客观题上对ChatGPT进行了测试,ChatGPT的水平基本相当于500分左右的高考生。我们发现ChatGPT更擅长文科,在历史、地理、政治上取得了不错的成绩,而生物、化学、物理等理科学科上表现不佳,尤其在物理上。
我们实验室在3月2日发布了一个针对ChatGPT的测试报告,对ChatGPT的各种各样模型基座进行了几十万次测试。我们发现,在阅读理解任务上,ChatGPT已经比现在最好的方法都强。在关系提取方面,ChatGPT的提取性能还不太好。
我们发现ChatGPT的强大性能都是在现有机器学习框架下可以解释的,并没有很玄的东西。我相信今年国内、国际,还会有很多机构,包括大学和企业在类ChatGPT模型方面有大的突破。
10. 如何跟ChatGPT竞争?
以后我们应该怎么样跟ChatGPT错位竞争?它做得好的事情可能就不再是我们的重点,做得不好的地方还可以进一步改进。
在肉眼可见的未来,善用AI的人将和不用AI的人在工作效率上产生巨大差距,因此我鼓励大家多去使用和熟悉与AI进行沟通。在一段时间内,ChatGPT还不足以完全替代某一个岗位,但将大大促进各个领域的生产效率,我们希望AI是帮助人类的工具,而不是取代人类的机器。
最后以微软CEO萨提亚·纳德拉(Satya Nadella)接受媒体采访时的一个观点作为结尾,内燃机带来了廉价的动力,互联网技术减少了信息传递的成本,而ChatGPT会让信息的整合、转译、流通变得更加廉价。AI可能会像工业革命和信息革命一样,引领我们走向下一个时代。