首个“开源ChatGPT”来了!但是我敢打赌:你跑不起来!

机器学习算法工程师

共 2617字,需浏览 6分钟

 ·

2023-01-03 00:50

3dd40548497a2af328ad08717dabbb46.webp点蓝色字关注 “机器学习算法工程师

设为 星标 ,干货直达!

就说程序员的手速有多快吧,首个开源ChatGPT项目已经出现了!

ad8f42546413811b5656b1da5979b40b.webp

基于谷歌语言大模型PaLM架构,以及使用从人类反馈中强化学习的方法(RLHF),华人小哥Phillip Wang复刻了一个ChatGPT出来。

项目GitHub星已经超过1.7k了,而且还在一路飙升ing。

fdd1b7b568f5daa83073967a442c53d7.webp

不过一反常态的是,网友们看到“开源ChatGPT”却没有火速开冲,反倒齐刷刷在发问:

这……有人能run?

开源了但没完全开?

项目的核心内容,是在PaLM架构上实现基于人类反馈的强化学习。

其中,PaLM(Pathways Language Model)是谷歌在今年4月发布的5400亿参数全能大模型,基于Pathways系统训练,BERT之父Jacob Devlin为主要贡献者之一。

PaLM可以完成写代码、聊天、语言理解等任务,并且在大多数任务上实现了SOTA少样本学习性能。

0ad51064ad3fbf291eb1005e6b098dea.webp

另一个核心点是RLHF“从人类反馈中强化学习”。

OpenAI提出InstructGPT时就用到了这一方法,它能让AI的回答更加符合情景要求,降低“有害性”。

具体分三步:

第一步,找一些人写下示范答案,来微调GPT-3模型,训练监督模型baseline。

第二步,收集某个问题的几组不同输出数据,由人类对几组答案进行排序,在此数据集上训练奖励模型。

第三步,使用RM作为奖励函数,近端策略优化(PPO)算法微调GPT-3策略,以强化学习方法最大化奖励。

810f069f4707315596496e5266418e0a.webp

ChatGPT使用的GPT-3.5,其中text-davinci-002就是在code-davinci-002的基础上,采用了InstructGPT训练方法改进得到。

7e591f0303a67fb4b61b694c199e1900.webp

正是基于如上两方面核心内容,作者实现了ChatGPT的复刻。

大致步骤有3步:

首先来训练一下PaLM,就和其他自回归Transformer一样。

第二……

等等,训练PaLM???这确定不是在开玩笑?

355807051fec720ee7f4c377f5aa6273.webp

现在明白为啥大家都觉得这个开源项目完全不能run了……

打个不恰当的比方,这就像如果想吃熊肉,那先自己去打头熊来。

4d9858b57623e630d98b0892a61f607c.webp

项目中只有PaLM架构和代码,没有预先训练好的权重。

bdf053d4d1db2a65f6539503a226f925.webp

所以完成第一步,大概效果就是……

c72fb2ffe38e96fca5e00845d06779b1.webp

话虽如此,但还是继续接着往下看看……

第二步,就要训练基于RLHF的奖励模型了。作者使用的是一种轻量级训练大语言模型方法LoRA,这种方法是开源的。

然后,再把之前训练好的模型和奖励模型用强化学习进行微调。

经过这三步后,就能得到一个开源版的ChatGPT了。

这中间面临的问题包括巨大的计算量、超大模型和难收集的文本……所以有人也不免发问:

有没有一种可能,它也没啥用?

22fe3e5b0f012e5780de45db7011647d.webp

不过有网友觉得这本质上还是一件好事啦。

AI的一个关键区别就是,每有一个重大突破,很快就会出现一个开源版本。

af6364363ffab894a10209463b1a04ce.webp

实际上,开源项目作者小哥Philip Wang一直都热衷于复刻各种明星项目,过去还尝试过Dall·E 2、AlphaFold 2等。

8caa1bd0736a0c9b2ab109185a868292.webp

以及LAION也发起了一个类似项目Open Assistant,他们将通过“众筹脑力”的方式,共同开发一个开源的聊天AI。

Stable Diffusion用的开放数据集,就是这一组织做的。

8a224325662b63e095bad71e63735c13.webp

感兴趣的童鞋不妨去试试看~

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


本文转自量子位


推荐阅读

深入理解生成模型VAE

DropBlock的原理和实现

SOTA模型Swin Transformer是如何炼成的!

有码有颜!你要的生成模型VQ-VAE来了!

集成YYDS!让你的模型更快更准!

辅助模块加速收敛,精度大幅提升!移动端实时的NanoDet-Plus来了!

SimMIM:一种更简单的MIM方法

SSD的torchvision版本实现详解


机器学习算法工程师


                                    一个用心的公众号

5b83aed9dbe3a918925199714411c92f.webp


浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报