就说程序员的手速有多快吧,首个开源ChatGPT项目已经出现了!
基于谷歌语言大模型PaLM架构,以及使用从人类反馈中强化学习的方法(RLHF),华人小哥Phillip Wang复刻了一个ChatGPT出来。
项目GitHub星已经超过1.7k了,而且还在一路飙升ing。
不过一反常态的是,网友们看到“开源ChatGPT”却没有火速开冲,反倒齐刷刷在发问:
这……有人能run?
开源了但没完全开?
项目的核心内容,是在PaLM架构上实现基于人类反馈的强化学习。
其中,PaLM(Pathways Language Model)是谷歌在今年4月发布的5400亿参数全能大模型,基于Pathways系统训练,BERT之父Jacob Devlin为主要贡献者之一。
PaLM可以完成写代码、聊天、语言理解等任务,并且在大多数任务上实现了SOTA少样本学习性能。
另一个核心点是RLHF“从人类反馈中强化学习”。
OpenAI提出InstructGPT时就用到了这一方法,它能让AI的回答更加符合情景要求,降低“有害性”。
具体分三步:
第一步,找一些人写下示范答案,来微调GPT-3模型,训练监督模型baseline。
第二步,收集某个问题的几组不同输出数据,由人类对几组答案进行排序,在此数据集上训练奖励模型。
第三步,使用RM作为奖励函数,近端策略优化(PPO)算法微调GPT-3策略,以强化学习方法最大化奖励。
ChatGPT使用的GPT-3.5,其中text-davinci-002就是在code-davinci-002的基础上,采用了InstructGPT训练方法改进得到。
正是基于如上两方面核心内容,作者实现了ChatGPT的复刻。
大致步骤有3步:
首先来训练一下PaLM,就和其他自回归Transformer一样。
第二……
等等,训练PaLM???这确定不是在开玩笑?
现在明白为啥大家都觉得这个开源项目完全不能run了……
打个不恰当的比方,这就像如果想吃熊肉,那先自己去打头熊来。
项目中只有PaLM架构和代码,没有预先训练好的权重。
所以完成第一步,大概效果就是……
话虽如此,但还是继续接着往下看看……
第二步,就要训练基于RLHF的奖励模型了。作者使用的是一种轻量级训练大语言模型方法LoRA,这种方法是开源的。
然后,再把之前训练好的模型和奖励模型用强化学习进行微调。
经过这三步后,就能得到一个开源版的ChatGPT了。
这中间面临的问题包括巨大的计算量、超大模型和难收集的文本……所以有人也不免发问:
有没有一种可能,它也没啥用?
不过有网友觉得这本质上还是一件好事啦。
AI的一个关键区别就是,每有一个重大突破,很快就会出现一个开源版本。
实际上,开源项目作者小哥Philip Wang一直都热衷于复刻各种明星项目,过去还尝试过Dall·E 2、AlphaFold 2等。
以及LAION也发起了一个类似项目Open Assistant,他们将通过“众筹脑力”的方式,共同开发一个开源的聊天AI。
Stable Diffusion用的开放数据集,就是这一组织做的。
感兴趣的童鞋不妨去试试看~
PaLM-rlhf-pytorch主页:
https://github.com/lucidrains/PaLM-rlhf-pytorch
Open Assistant主页:
https://github.com/LAION-AI/Open-Assistant
参考链接:
[1]https://twitter.com/rasbt/status/1608133663937495041
[2]https://twitter.com/omarsar0/status/1608143718460055552