ChatGPT应该是近期当之无愧的“炸子鸡”,不论是因它掀起的微软、谷歌、百度等在AI领域血雨腥风、或明或暗的“狂飙”,抑或是微软将GPT 4植入Office引起的打工人们的恐慌或狂欢,有关ChatGPT的新闻不绝于耳。那么,为什么在一众AI技术和产品中,ChatGPT能杀出重围引发海量关注呢?“不是我优秀,全靠同行衬托”,其优秀的性能表现将AI的发展带入了一个新阶段。那么,它是如何实现的呢?
本文作者对ChatGPT的版本发展和特点进行了梳理,发现明明更擅长RL(强化学习)的ChatGPT技术团队,在GPT 3中融入了情景学习,并在后续的InstructGPT/ChatGPT中利用人类反馈优化模型,在参数数量减少的情况下,通过语言模型的预训练、奖励模型训练、利用RL方式微调LM等新训练范式,使得ChatGPT模型的性能和质量得到了极大提升,并由此对机器学习的研究方法有了新的启示:机器学习技术的交叉和融合、数据的价值、ChatGPT的影响与挑战等。
在ChatGPT处在风口浪尖的当下,希望读者朋友们不论是进行技术研究还是投资布局,在阅读本文后都会有所收获。
前 言
经过了近十年的高速发展和扩张,数据驱动的人工智能模型已经广泛应用于计算机视觉(Computer Vision , CV)、自然语言处理(Natural Language Processing, NLP)、智能控制等诸多领域。为了获得更强的模型性能,工程师们不断增加模型的参数、压榨训练设备的性能极限,模型结构也经历着不断迭代和更新。随着对算法模型性能的提升逐渐趋于稳定,业界对人工智能(Artificial Intelligence, AI)快速发展和扩张的热情也逐渐冷却,L4级别的自动驾驶和NLP问答机器人等领域发展均遇到瓶颈。在此背景下,ChatGPT的出现成为人工智能领域的一个全新亮点,为人工智能的发展注入动力。
ChatGPT是OpenAI公司提出的一种多模态大型语言模型(Large Language Model, LLM)。一经推出,凭借着出色的性能立刻吸引了全球无数用户的目光。
OpenAI公司发展的主要事件如下:
2015年12月11日,OpenAI成立;
2016年4月27日,发布OpenAI Gym Beta;
2017年7月20日,发布Proximal Policy Optimization (PPO)算法;
2019年7月22日,微软投资OpenAI并与其合作;
2021年1月5日,研究从文本创建图像神经网络DALL-E;
2022年12月1日,ChatGPT发布;
2023年2月2日,OpenAI宣布推出ChatGPT Plus订阅服务。
可见,OpenAI是一家以强化学习(Reinforcement Learning, RL)立足,并逐渐在AIGC(AI Generated Content)领域深耕的公司。OpenAI构建的Gym库是常用于测试RL算法性能的环境库,而PPO算法凭借优秀的性能以及泛用性,成为了RL算法的基准。一个在RL领域有深厚积淀的公司推出了ChatGPT,而不是专职研究NLP的团队,这是非常有趣的事。从之前发布的论文看,该方法的主要研究人员中,甚至很多作者更擅长RL领域。
ChatGPT的由来
在ChatGPT问世之前,OpenAI公司已经推出了3代GPT模型以及InstructGPT模型,它们的公布时间、主要研究点和参数规模如表1所示[1]。
表1 GPT系列模型指标
从ChatGPT的发展历程可见,从GPT3开始,它加入了情景学习的要素,使得模型的输出可以联系前后文的语义和语境,产生的结果性能更符合逻辑。而在InstructGPT中加入了人类反馈,成为了GPT系列模型性能取得突破的关键因素,即以RL方式依据人类反馈优化原模型,这就是Reinforcement Learning from Human Feedback。
对于数据驱动的语言模型(Language Model, LM),常规的方法是以预测下一个单词的方式和损失函数来建模,通过降低损失函数使模型预测的准确度提高。这种方式的目标是最小化损失函数,与用户希望获得的体验在优化方向上并不完全一致。因此,用人类反馈作为性能衡量标准调整模型,使模型的输出与人类价值对齐,取得了很好的效果。两种思路的对比如图1所示。
| 图1 对于机器学习模型追求目标的不同
因此,在GPT3的基础上,InstructGPT由于加入了人类反馈,取得了惊人的性能。从GPT1到GPT3,模型的规模快速扩张,参数量从1.17亿飙升至1750亿[1]。但规模的扩张没有带来性能的跨代提升。为何InstructGPT仅用了不到GPT3百分之一的参数量,却取得了更好的效果,RLHF发挥了巨大的作用。
*由于ChatGPT的算法细节官方还没有公开,考虑到InstructGPT使用的方法和ChatGPT接近,下面的讨论和应用的文献以InstructGPT为主。
优秀的性能从何而来
ChatGPT/InstructGPT的模型训练主要分为三个部分[2][3]
语言模型的预训练
原始的语言模型是不需要严格意义上的标签的,可以从数据库中抽取样本进行训练。在ChatGPT/InstructGPT中,OpenAI雇佣了40位专家对从数据集抽取的提示(prompt)编写了理想的输出,即进行了数据编写及标记数据,制作了包含11295个样本的监督学习训练集[4],如图2所示。利用该数据集对原始模型进行了监督训练,得到了SFT(supervised fine-tune)模型。
| 图2 InstructGPT的数据集数量
奖励模型训练
利用预训练的SFT模型,可以根据不同的prompt输出回答了。但生成的回答不一定都能让用户满意。解决该问题的一个合理的思路是请标记者(labeler)对模型的输出进行打分,给更优秀的答案赋予更高的分值,以引导模型产生更合适的回答。但面临着以下问题:1.labeler很难一直跟上模型训练的过程;2.人工成本高昂;3.分值容易受到labeler主观因素影响。因此,考虑构建一个奖励模型。
首先针对同一个prompt利用模型产生多个结果,labeler仅需要对生成的结果按照从好到坏的顺序排序即可。该方法一方面可以降低labeler的工作量,另一方面,对于直接打分存在主观影响,给结果排序更可能获得一个相对收敛的结果。再引入Elo排位系统,将针对结果的排序转换成数值。该数值就以标量的形式表示了不同回答的好坏。也就构建起了《samples, reward》的训练样本。利用这些训练样本即可训练得到奖励模型。
利用RL方式微调LM
将该微调(fine-tune)任务描述为一个RL问题。InstructGPT是利用PPO算法微调语言模型。首先将一个prompt输出微调的LM模型和输出的SFT模型。微调的LM模型是根据RL策略产生的输出,并根据步骤2的奖励模型产生奖励值,以评价输出结果的好坏。根据PPO算法的原理,除了需要以获得更多奖励的方向进行微调LM模型的训练,还要计算该微调模型和SFT模型的KL散度,如下式所示[4]。
式中,期望的第一项 即为奖励函数反馈的奖励值。第二项 为微调模型和SFT模型的KL散度,该惩罚项有助于保证模型输出合理连贯的文本片段。如果没有该惩罚项,优化可能会产生乱码的文本。第三项 是在预训练模型上求的期望,提升模型的泛化能力,防止模型仅关注当前任务。随着RL策略的更新,由于有奖励模型的引导,微调LM模型的输出为逐渐向人类评分较高的结果靠近。
*对于该训练过程,用户还可以继续将这些输出与模型的早期版本进行排名,目前还没有论文讨论这一点。这引入了RL策略和奖励模型演变的复杂动态,是一个复杂而开放的研究问题。
ChatGPT的思考和启示
ChatGPT的成功在给用户和研究者带来震撼的同时,也将目前机器学习的研究方法清晰的展现在人们面前。
机器学习技术的交叉和融合
| 图3 机器学习技术融合
传统上,机器学习可以分成监督学习、非监督学习和强化学习。非监督学习专注以挖掘数据之间的规律和价值。监督学习建立起数据和标签之间的映射关系,即 。强化学习则是可以根据当前状态进行智能决策。算法的进步不仅是在各自的领域深挖和探索,分支之间的技术融合也可以迸发出强大的性能提升。2013年,DeepMind提出用神经网络取代RL中的价值表格,可看作是利用深度学习(Deep Learning, DL)对RL的优化方法。该方法解决了价值表格由于表达能力不足无法适用于具有高纬度离散状态空间和连续动作空间的RL问题,极大地扩展了RL的研究范围和使用场景,开拓了深度强化学习(Deep Reinforcement Learning, DRL)这一领域[5]。该成果在后续优化后于2015年发表在Nature上[6]。而ChatGPT则是利用RL算法优化了DL模型的一个很好的例子。目前,利用RL进行fine-tune已经出现成为全新的模型训练范式的趋势。可以预见,该范式未来会广泛应用于其他研究领域。ChatGPT是否会像DQN那样,成为新的训练范式促进DL发展的标志,我们拭目以待。
*根据2023年2月26日的新闻,google计划将利用RL微调模型的训练范式引入到CV。
数据的价值
传统上对于深度模型的研究,无论是设计更巧妙的模型结构、或者是标记更多的训练样本、再或者是扩大模型参数期望大力出奇迹,都在“大”或者“多”的方向深挖。ChatGPT让我们看到了“质”的重要性。
| 图4 分阶段的模型训练方法
OpenAI公开表示将模型和人类意图对齐的投资,相较于训练更大的模型,投入产出比更高更好。就像前文所说,GPT3的参数有1750亿个,而InstructGPT的参数仅有13亿。数据量大幅缩减的同时,反而取得了碾压的性能优势。这是否意味着,目前超大规模的模型在“体型”方面是否已经足够应付目前研究的任务,而真正缺少的是高质量的关键数据呢?
RLHF的训练范式被越来越多的研究验证,对于模型性能的提升是空前的。那么未来针对不同的问题构建fine-tune的数据集就成为了关键。如图5所示。传统的、大量的数据集可能构建起了模型的初始性能,在此基础上需要专家样本对其进行引导,这部分数据的量远小于初始的数据集,但对模型取得的效果却远超简单的增加原始数据集的效果。针对任务,如何构建高质量的fine-tune数据也是需要解决的问题。
| 图5 不同质量的数据支撑模型训练
ChatGPT的影响与挑战
在NovaAI问世之初,人们就见识到了AIGC的威力。如今,ChatGPT已经出现在我们的面前,高超的性能让很多行业的从业者感受到了巨大的压力。未来,GPT4的公布和投入使用,将会很大程度地影响当前的业界态势。
工作效率的提升
狭义上说,ChatGPT直接改变了文本处理、简单的代码编写、资料查询等生产和生活方式。微软已经将ChatGPT融合进bing搜索引擎,直接对google和baidu等搜索引擎取得了绝对的优势;将ChatGPT融合进office,提升工作效率。一些工作组也在尝试制作插件融合进集成开发环境(Integrated Development Environment, IDE),辅助程序员更快的完成项目代码等。
广义上说,受到ChatGPT启发,未来在更多的领域将产生性能直逼人类专家的AI模型和算法。ChatGPT是将RLHF应用与LLM的成功案例,但相信利用此方法产生高性能模型的探索会迎来快速增长,未来将会在各领域涌现。工具性能的差距某种程度上会影响社会信息化的发展进度,掌握未来核心算法和数据也是国内研究者需要面临的问题。
用户数据的获取
ChatGPT在上线之后仅5天就实现了获得超过100万用户的里程碑。这个速度远超twitter、FB等知名应用,大量的用户为ChatGPT带来了海量的数据。在大数据的时代,先入场往往就能够吸引更多的数据。但从目前的研究看,fine-tune数据是提升模型性能的关键,而这些数据往往需要具备专业知识的专家标记。大量的用户数据由于质量参差不齐,是否会使GPT的后续模型性能越来越优秀,并逐渐成为该领域独树一帜的存在,也是一个值得观察和研究的问题。
在生成模型之上的新范式
ChatGPT依然是一个文本生成模型,即使利用RLHF进行了和人类价值的对齐,但依然无法和人类输出的结果在任何情形下都一样。例如,当向ChatGPT询问某领域或者某会议的论文时,输出的结果从形式上看有模有样。但如果查阅,会发现很多文章是ChatGPT杜撰的。因此,ChatGPT目前只学到了“形似”。但将ChatGPT和bing搜索引擎融合的new bing一定程度上克服了这个问题。因为相较于ChatGPT的生成,new bing是搜索+生成的模型,而搜索得到的结果是客观存在的。因此,当使用new bing获取某领域或者某会议的文章时,产生的结果是真实存在的。这在一些领域可能更有使用价值。
国内缺少可对标的产品
ChatGPT带来的工作效率的提升是显而易见的,并且当该模型投入商业化后,能够取得的收益相信也是非常可观的。目前国内还没有性能可与之对标的产品。该模型训练不仅需要高昂的成本和时间,对于fine-tune的构建和后续的优化也非常重要。我们期待能够媲美GPT系列的国内语言模型的问世。
审核编辑 :李倩
-
机器学习
+关注
关注
66文章
8398浏览量
132524 -
大数据
+关注
关注
64文章
8880浏览量
137377 -
ChatGPT
+关注
关注
29文章
1556浏览量
7576
原文标题:揭秘ChatGPT的优秀性能:新训练范式下的启示与发展预测
文章出处:【微信号:SDNLAB,微信公众号:SDNLAB】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论