追赶ChatGPT的难点与平替

卷友们好,我是rumor。

最近ChatGPT真的太火爆了,让人很难静下心。一方面是对它的能力感到不安,以后各个NLP子任务可能就统一起来了,范式也会变成预训练+Prompt,不需要那么多精调模型的算法了。另一方面是对国内复现ChatGPT感到悲观,那么大的模型,真的需要很强的决心,投入足够的人力、财力和时间才能做出来。

调整了几周,终于回归开卷的心态,捋了一遍我认为复现ChatGPT的难点与平替方案。由于个人精力有限,以下调研肯定存在纰漏,欢迎大家一起讨论补全。

难点1:高效率的算法框架

大模型的训练并不如想象那样容易,需要一个强大的工程框架进行支持。参数量上去之后,需要把模型和数据分散放到多个GPU卡,卡之间如何通信、调度,进行高效的反向传播,都有很多坑等着大家去踩。就像前几年,即使阿里的技术那么强,双十一流量上来了也得崩一会。而且算法框架一旦出现bug,模型可能都收敛不了,或者效果上不去。同时,训练效率非常重要,可以极大地降低试错成本。

知道了训练框架的重要性后,我们再来看OpenAI做到什么地步:

5dbd3ba23b15db21fdc9fc5780673169.png

早期的从业者一定对这张图有印象,当时Megatron-LM和DeepSpeed已经把模型提到了一个我们不敢想的尺寸(普通算法团队人均2张V100就很幸福了),结果20年中OpenAI一下发布了175B的GPT-3。从那时起,OpenAI算法框架的容量就领先了一到两个数量级

好在大厂们在近两年的大模型竞赛中都迭代出了自己的框架,不过这次,强化学习范式RLHF的加入又给训练框架带来了新的挑战。我去年大概花了4个月的业余时间去做强化学习项目和打比赛,有两点让我十分痛苦:

  1. 动不动就训崩了,在奖励很稀疏或者自己魔改奖励的情况下,模型往往走捷径往意想不到的地方发展。

  2. 不同的框架往往给出不一样的结果,开源框架百花齐放且不一定靠谱,我自己就前后换了3个。跟业内三个RL同学交流下来他们公司都选择了自研而不是用开源的,不像NLP一样大家都用transformers。

好在这次的奖励是连续的,损失函数也明确给出来了,而且基础PPO的复现门槛也没有那么高。

更好的消息是,最近已经出了一个平替方案ColossalAI[1],由国人打造,从一些介绍来看效率是超过Megatron-LM和DeepSpeed的,而且已经做了ChatGPT的部分实现(还不支持PPO-ptx),接下来就看大家使用的效果了。

难点2:先追上GPT3

从符尧大佬对于ChatGPT能力起源的追溯来看,一个好的预训练模型会涌现出诸多能力:

  1. 上下文学习能力(In-Context Learning):可以不经过精调直接理解输入的指令和示例

  2. 长距离理解能力:是之后多轮对话的基础

  3. 具有常识知识、并可以进行推理

  4. 跨语言能力

  5. 代码生成能力

而且从符尧另一篇对大模型能力的研究看来,至少要62B以上的模型才能有一定少样本效果。真的追上这些能力需要耗费很大财力、人力和时间,估计现在各个厂都在批发A100了,起码千张,预算上亿。

好在也有一些平替方案,支持中文的有mT5(176B)、GLM(130B)和BLOOM(176B),但其中只有BLOOM是GPT架构。另外还有mT0和BLOOMZ,是Instruction tuning后的版本。

难点3:获取真实的用户输入

从GPT3到ChatGPT,主要是基于用户的真实输入进行标注,再对模型进行精调,从而拟合了人的偏好(称为Alignment)。

所以前段时间让我最焦虑的就是它的马太效应,或者数据飞轮,它效果越好,用的人越多,从而不断帮它提升拟合效果。技术问题都有平替,但我们去哪儿找上亿的用户来源源不断的输送Prompt呢?

第一个平替方案,是借鉴Instruction tuning的论文,用各种NLP数据集构造Prompt。但这并不是最优解,因为InstructGPT也做过这个实验,用FLAN和T0的数据进行精调,效果如下:

2b27ff91e7e075319dddf849f4d36a91.png

如果要做通用模型,最好还是符合用户的分布,可以看到InstructGPT的分布统计:

e241d055b19e35c89f80d07e2c0e256d.png

看到真实分布后,我的焦虑缓解了一些,感觉还是可以找到冷启动平替的。首先占比最高的生成任务,很多预训练模型都可以做,比如写诗写故事,大家之前应该见过很多了,刚开始不一定需要特别去优化。其次就是OpenQA,这个有不少数据可以爬,比如百度百科、知乎。头脑风暴可以通过关键词在爬到的问答数据中筛选。剩下几个任务有些是传统NLP任务,也有开源数据集。

难点4:趟过精调的坑

对于精调,OpenAI分了两个步骤:有监督精调(SFT,下图step1)、强化学习训练(RLHF,下图step2+3)。

7a9570f24e768d67eb1c33aa66392eeb.png

虽然有看到一些观点,认为不用RL,有更好的监督数据也可以做ChatGPT,甚至RL+NLP近年来一直不被看好[2],但最近回顾了OpenAI在20年和22年的两篇RLHF文章之后,个人认为ChatGPT精调的重点在于RLHF阶段

举个不一定恰当的栗子,假设我们把训模型当作带孩子:

  1. Pretrain:在孩子0-3岁的时候,我们没法讲太多道理,他也听不懂,更多的是让他自己观察这个世界,自由学习。

  2. Instruction Tuning:孩子学会说话了,也对世界有了基本认知,我们就可以开始通过示范教他一些东西,比如怎么穿衣服、怎么刷牙。

  3. RLHF:等孩子再大点,很多事情都会了,便不会再完全模仿父母,而是有自己不一样的行为,这时候父母就需要对这些不可预料的行为给出反馈,在他取得好成绩时奖励,在做坏事后惩罚。

再回到生成任务本身,长久以来NLP里的范式都是以最大似然为目标,用teacher forcing的方式拟合标注同学写出的句子。那万一标注同学偷懒呢?

对于「到底什么是好的回复」这个问题,每个人都有不同的答案,但必须定义好目标,才知道模型应该往哪里优化。谷歌训LaMDA对话模型时就给出了5个维度的定义,再朝着这5个方向拟合,而人类语言博大精深,5个维度真能评价一段话的好坏吗?

RLHF范式的关键就在于,它能真正让模型去拟合人的偏好,同时给予模型一定的自由度,这样才能让模型先模仿再超越,而不是重复Instruction tuning中的一些pattern

上述的说法可能比较主观,接下来让我们看OpenAI官方给的实验数据:

在摘要生成任务中,RLHF精调后的模型大幅超越SFT的效果。另外论文中的其他实验也证实了RLHF模型具备更好的跨领域泛化能力:

eb797e41180ed645c1fc487d1639f859.png

在InstructGPT论文中,1.3B经过RLHF的模型可以超过175B模型SFT的效果

1f97a2548203f833a9630e049ae972d5.png

从上述结果可以猜测,在人力、算力、时间有限的情况下,效率最优的路径是直接在1.3B模型上迭代,大概10万标注数据,复现一个低配小型ChatGPT,验证整个流程的有效性,再去做175B的模型

遗憾的是目前RLHF这个部分趟过坑的人太少,没法找到平替,我只想到了用小模型快速迭代的方案,接下来的踩坑就看大家了。

另外,关于为什么以前一些RLHF工作不work,我认为关键的点是:

  1. 这篇工作[3]的标注同学更倾向抽取式答案,模型学偏了,而OpenAI这次在标注上下了狠功夫。另外该工作是用人作为RM,效率较低。

  2. DeepMind Sparrow[4]其实只在某个对话数据集上进行了训练,和真实分布不一样,另外它加入的Rule Reward可能也有影响。目前我觉得核心还是没在数据上下狠功夫,就是简单follow了一下OpenAI。但该论文有70多页,我实在读不动了,之后会不时重读刷新认知。

总结

在上文中,我列了4条我认为复现ChatGPT的难点,与一些替代方案,如果每个方案都打个折,确实是复现到60%的程度,和业内乐观的预测一样。

另外,我其实一直没提标注数据的重要性,因为标注数据的平替非常容易,直接跟老板要预算去调OpenAI接口吧。不过OpenAI论文里有一句话我特别喜欢,希望自己在以后做模型的时候谨记:

We train all labelers to ensure high agreement with our judgments, and continuously monitor labeler-researcher agreement over the course of the project.

得先训练好标注同学,才能训好模型,请所有人跟我默念三遍(狗头

最后,和大家分享使我焦虑下降的两个点:

  1. OpenAI最新一篇博文显示[5],他们后续的方向之一是在通用模型上做定制化模型,我估计不会失业了,又可以洗数据了。

  2. 自从发现1.3B的模型+RLHF就可以很强之后,我觉得在真正的落地中,训一个for单一生成任务的定制化ChatGPT不再那么遥不可及,一两张A100和十万级别的数据就可以了(可能过于乐观,但我就是经常在热血和焦虑之间横跳)。

参考资料

[1]

ColossalAI: https://github.com/hpcaitech/ColossalAI

[2]

知乎:当前(2020年)机器学习中有哪些研究方向特别的坑?: https://www.zhihu.com/question/299068775/answer/647698748

[3]

Fine-tuning language models from human preferences: https://arxiv.org/abs/1909.08593

[4]

Sparrow: https://www.deepmind.com/blog/building-safer-dialogue-agents

[5]

How should AI systems behave, and who should decide?: https://openai.com/blog/how-should-ai-systems-behave/

6339f69df5ca81fb76efd68c51d1505c.jpeg


我是朋克又极客的AI算法小姐姐rumor

北航本硕,NLP算法工程师,谷歌开发者专家

欢迎关注我,带你学习带你肝

一起在人工智能时代旋转跳跃眨巴眼

「另外,你的点赞也可以缓解我的焦虑」a4dbe1bc2fb1f284cca7bebeb2d44d3d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2972.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT开源平替(1)——ChatGLM

ChatGLM-6B 由清华大学唐杰团队开发的是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB…

ChatGPT 的平替 Claude 使用指南

Claude的独立体验版本姗姗来迟,经过近半个月的等待后,收到了体验邮件,不过之前早已体验过poe和slack的集成版,响应速度上要比ChatGPT快很多。 目前提供的Model有: "claude-v1":我们最大的型号&am…

笔记本就能运行的ChatGPT平替来了,附完整版技术报告

来源:机器之心 本文约4300字,建议阅读8分钟 初步的技术报告简要描述了 GPT4All 的搭建细节。 GPT4All 是基于大量干净的助手数据(包括代码、故事和对话)训练而成的聊天机器人,数据包括~800k 条 GPT-3.5-Tur…

分享一个平替ChatGPT的网站

https://chat.gamejx.cn/go/kl/674566 直接注册就能用 这是界面

chatgpt平替,清华chatglm本地化部署教程(aigc大模型风口,校招找工作必备),包含weiui部署,api部署,对话框部署

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 Chat…

狂追ChatGPT:开源社区的“平替”热潮

目前,不少优质的类ChatGPT模型都只能通过API接入,而一些开源LLM的效果与ChatGPT相比差距不小。不过,近期开源社区开始密集发力了。 其中,Meta的LLaMA模型泄漏是开源“ChatGPT”运动的代表性事件。基于LLaMA模型,开源社…

chatGPT平替:Idea 插件Bito

Idea插件神奇Bito Bito介绍安装使用 Bito介绍 应该是基于openai的模型训练的。重点是免费、免费、免费,重要的事情说3遍。 安装 设置(setting) 选择插件市场输入Bito安装 安装成功后最idea的右边会显示Bito 使用 需要验证账号,输入邮箱会有一个…

支持 Docker 运行的 ChatGPT 平替之 Alpaca-Turbo (羊驼)

Alpaca-Turbo是一个语言模型,可以在本地运行而不需要太多的设置。它是基于LLaMA的alpaca.cpp语言模型的用户友好型Web UI,具有使其与其他实现区别开来的独特功能。目标是提供一个无缝的聊天体验,易于配置和使用,而不会牺牲速度或功…

chatgpt平替,清华chatglm本地化部署

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。因为我的cpu跑不了,在linux服务器端进行部署。前提是conda已经安装并配置好,因为我的已经搞好,就不是…

真正的ChatGPT平替产品:Claude

01 Claude ChatGPT已经流行了很长的时间了,但是ChatGPT 由于种种的限制,我们无法用上,也有很多的平替产品,但是这些平替产品也有很多的问题。 现在 Claude 出来了,没有任何的限制。 Claude 不用魔法,注…

真·ChatGPT平替:无需显卡,MacBook、树莓派就能运行LLaMA

欢迎关注“ 计算机视觉研究院 ” 计算机视觉研究院专栏 作者:Edison_G 扫描二维码 关注我们 Meta 发布的开源系列模型 LLaMA,将在开源社区的共同努力下发挥出极大的价值。 转自《机器之心》 Meta 在上个月末发布了一系列开源大模型 ——LLaMA&#xff08…

ChatGPT的平替来了?一文总结 ChatGPT 的开源平替,你值得拥有

文章目录 【AIGC精选】总结 ChatGPT 的开源平替,你值得拥有1.斯坦福发布 Alpaca 7B,性能匹敌 GPT-3.52.弥补斯坦福 Alpaca 中文短板,中文大模型 BELLE 开源3.国产AI大模型 ChatGLM-6B 开启内测4.中文 Alpaca 模型 Luotuo 开源5. ChatGPT 最强…

IntelliJ IDEA 接入ChatGPT (免费,无需注册)生产力被干爆了!

IntelliJ IDEA 接入ChatGPT 前言 : 今天给大家介绍一款好用的 IntelliJ IDEA ChatGPT 插件 可以帮助我们写代码,以及语言上的处理工作,以及解释代码。让我们的生产力大大提高! 一. ChatGPT-Plus 功能介绍 支持最新idea版本AI询问功能,写好…

不用魔法、使用原生ChatGPT、30秒注册不要绑定任何账号【AskChat.ai】

直接上链接【AskChat.ai】 http://www.askchat.ai?r124478 手机打开不登录可以直接用3次。 AskChat.ai 普通用户的使用规则 AskChat.ai 免费使用的额度 个人使用案例

【关于ChatGPT的30个问题】14、ChatGPT在中国是否被禁用了?/ By 禅与计算机程序设计艺术

14、ChatGPT在中国是否被禁用了?为什么? 目录 14、ChatGPT在中国是否被禁用了?为什么? ChatGPT是否被禁用?

ChatGPT Something went wrong 处理

一、报错提示 Something went wrong. If this issue persists please contact us through our help center at help.openai.com. 二、解决方案 一般是代理节点出现问题 ChatGPT退出登录 关闭代理并重新启动代理 切换其他节点 清除浏览器缓存 重新登录ChatGPT 问题解决&am…

让ChatGPT教你AI绘画|如何将ChatGPT与Midjourney结合使用,赶紧实践起来

转载 近期最火的人工智能应用莫过于ChatGpt了,上架短短3个月就已经有几个亿的用户了。反反复复地体验ChatGpt近一个月,感受就两个字​:牛批​! 简单介绍一下什么是Chatgpt,算了让它自己介绍自己吧 回答的还行吧​&a…

时代背景下的 ChatGPT,到底能帮助开发者做什么呢?

前言 最近脍炙人口的技术 ChatGPT,关注度非常高,网上关于它的文章也一大片,不过很多都是关于体验或者部署的,我们习惯去讨论它的技术、模型、趣味等等,但他能在开发者的工作中带给我们些什么东西呢? 我应…

【ChatGPT】科技革命促生互联网时代 ChatGPT浪潮打乱时代布局 人工智能新时代下的发展前景

目录 科技革命促生互联网时代 科技进步伴随着大国崛起 科技革命的发展 互联网时代的到来 ChatGPT浪潮来袭 资本市场当前的热潮 人工智能新时代下我们何去何从 开放注册两个月用户数破亿,ChatGPT的爆火也标志着时代的浪潮将要来袭,由科技革命促生的…

【ChatGPT】是一个危机与机遇并存的时代

ChatGPT是一个危机与机遇并存的时代 前言一、ChatGPT是什么二、ChatGPT的恐怖之处三、ChatGPT真的会取代程序员吗四、ChatGPT对未来的影响 前言 ChatGPT,横空出世,从去年12月,ChatGPT以最快速度(5天)突破百万用户。今年…