够快,首个“开源ChatGPT项目“来了!网友吐槽:这谁能跑

51bbda49f5edc3f01f9a2fbfb969a2e4.jpeg

文|明敏 

源|量子位

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

cd9af1ba6efab10d95057042fe20c272.png

基于谷歌语言大模型PaLM架构,以及使用从人类反馈中强化学习的方法(RLHF),华人小哥Phillip Wang复刻了一个ChatGPT出来。项目GitHub星已经超过1.7k了,而且还在一路飙升ing。66264a087b00f1979ab81353aeeb60e4.png

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

这……有人能run?

cb7df4c72188f530e7737f08e94e6a65.png

开源了但没完全开?

项目的核心内容,是在PaLM架构上实现基于人类反馈的强化学习。其中,PaLM(Pathways Language Model)是谷歌在今年4月发布的5400亿参数全能大模型,基于Pathways系统训练,BERT之父Jacob Devlin为主要贡献者之一。PaLM可以完成写代码、聊天、语言理解等任务,并且在大多数任务上实现了SOTA少样本学习性能。00714bb1ae54d924fa8d76378b79a94f.jpeg

另一个核心点是RLHF“从人类反馈中强化学习”。OpenAI提出InstructGPT时就用到了这一方法,它能让AI的回答更加符合情景要求,降低“有害性”。具体分三步:第一步,找一些人写下示范答案,来微调GPT-3模型,训练监督模型baseline。第二步,收集某个问题的几组不同输出数据,由人类对几组答案进行排序,在此数据集上训练奖励模型。第三步,使用RM作为奖励函数,近端策略优化(PPO)算法微调GPT-3策略,以强化学习方法最大化奖励。

9d363e157584b8870ae2348a29696b3d.png

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

22da40fb860839f9f5d6ee58034da9e1.png正是基于如上两方面核心内容,作者实现了ChatGPT的复刻。大致步骤有3步:

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

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

fcca57bcaba3c0462a1c0f4063ef1878.png

现在明白为啥大家都觉得这个开源项目完全不能run了……打个不恰当的比方,这就像如果想吃熊肉,那先自己去打头熊来。

a3ca36de0979b7de6c8a03d934795846.png

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

b0a621c2623974ff5827cbbcb2d3a9bb.png

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

49c2dc0db42fa17e5b82d67ee347f715.png

话虽如此,但还是继续接着往下看看……第二步,就要训练基于RLHF的奖励模型了。作者使用的是一种轻量级训练大语言模型方法LoRA,这种方法是开源的。然后,再把之前训练好的模型和奖励模型用强化学习进行微调。经过这三步后,就能得到一个开源版的ChatGPT了。这中间面临的问题包括巨大的计算量、超大模型和难收集的文本……所以有人也不免发问:

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

126fc9471a3949738afb5090dcf28d93.png

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

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

af36b1ddccc24aad6702729134c774ce.png

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

b50586278abeaa3a46a28dba59ffc2eb.png

以及LAION也发起了一个类似项目Open Assistant,他们将通过“众筹脑力”的方式,共同开发一个开源的聊天AI。Stable Diffusion用的开放数据集,就是这一组织做的。

4f99174c914406ff1436459b27597673.png

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

PaLM-rlhf-pytorch主页:
https://github.com/lucidrains/PaLM-rlhf-pytorchOpen 

Assistant主页:
https://github.com/LAION-AI/Open-Assistant

3d38eb61f6e358a7a378b82b87eb4575.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

 0d2468e2e3a8e53ac01f167cad814ca8.png

[1]https://twitter.com/rasbt/status/1608133663937495041

[2]https://twitter.com/omarsar0/status/1608143718460055552

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

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

相关文章

linux 串口工具_会C++就能开发Linux/Android应用!这款Yoxios X3串口屏火了...

大家好,我是小月月。今天给大家介绍一款搭载YOXIOS操作系统的YOXIOS X3串口屏,只要你会C/C就能开发Linux/Android应用!而且小月月带来了福利——“免费试用名额”!!YOXIOS X3介绍YOXIOS X3串口屏比传统串口屏要强大得多…

LeetCode 278. 第一个错误的版本(二分查找)

1. 题目 你是产品经理,目前正在带领一个团队开发新的产品。 不幸的是,你的产品的最新版本没有通过质量检测。 由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, …, n],…

LeetCode 284. 顶端迭代器

1. 题目 给定一个迭代器类的接口,接口包含两个方法: next() 和 hasNext()。 设计并实现一个支持 peek() 操作的顶端迭代器 – 其本质就是把原本应由 next() 方法返回的元素 peek() 出来。 示例: 假设迭代器被初始化为列表 [1,2,3]。调用 next() 返回 1…

ChatGPT国内镜像站

ChatGPT介绍 ChatGPT是OpenAI开发的一个大型预训练语言模型。它是GPT-3模型的变体,GPT-3经过训练,可以在对话中生成类似人类的文本响应。ChatGPT 旨在用作聊天机器人,我们可以对其进行微调,以完成各种任务,如回答问题…

【转】DATAGRIDVIEW控制

目录: 取得或者修改当前单元格的内容 设定单元格只读 不显示最下面的新行 判断新增行 行的用户删除操作的自定义 行、列的隐藏和删除 禁止列或者行的Resize ★ DataGridView 取得或者修改当前单元格的内容: GO TO TOP 当前单元格指的是 DataGridView…

matlab 动画_MATLAB绘图动画(1)

今天写一个案列,绘图动画画出以下曲面函数随着theta角的变化的动图程序代码:clc,clear,close allx-8:0.5:8;[X,Y]meshgrid(x);rsqrt(X.^2Y.^2);Zsin(r)./r;figure(color,w);surf(Z); %画出帧theAxes axis; %保存…

LeetCode 2020 力扣杯全国春季编程大赛(1644/4093,前40.2%)

文章目录1. 比赛结果2. 题目解析2.1 拿硬币 Easy2.2 传递信息 Esay2.3 剧情触发时间 Medium2.4 最小跳跃次数 Hard2.5 二叉树任务调度 Hard1. 比赛结果 前两题比较顺利,24分钟做出来了,第3,4两题试了好久,都显示超时,…

silverlight2.0 demo实例,源码下载

这是最近发现的微软官方网站上提供的学习例子,并有源码下载,与大家分享。 http://silverlight.net/Community/gallerydetail.aspx?catsl2 下面这个链接是银光开源中心提供的,也不错哦。。 http://www.slcenter.cn/ YoLing音频播放器v1.0 for…

网页设计框架布局代码_网页设计中的分屏切割布局法

今天和大家聊的是一种关于网页设计中的视觉呈现方法,一般我们称之为“分屏布局”,是一种常见的网页设计排版方式,将页面分割为均等或者不均等的两部分,这种方式的好处就是可以将文字信息和图像元素进行更有效的布局区分&#xff0…

LeetCode 第 24 场双周赛(326/1898,前17.2%)

文章目录1. 比赛结果2. 题目1. LeetCode 5372. 逐步求和得到正数的最小值 easy2. LeetCode 5373. 和为 K 的最少斐波那契数字数目 medium3. LeetCode 5374. 长度为 n 的开心字符串中字典序第 k 小的字符串 medium4. LeetCode 5375. 恢复数组 hard1. 比赛结果 做出来了 1、2、3…

货物与产品的区别_超市货架和仓储式货架有什么区别?

在生活中,超市货架和仓储货架咱们都叫货架,这样导致了很多客户都认为货架不就是超市里面摆货的那个货架吗?其实,虽然两种都叫货架,两者之间都有存储功能,但还有其它的区别。仓库货架注重的是存储量和承重量…

详细解析Java中抽象类和接口的区别

详细解析Java中抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定 义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性&a…

LeetCode 1417. 重新格式化字符串

1. 题目 给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。 请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同。 也就是说,字母后面应该跟着数字,而数字后面应该跟着字母。 请你返回 重新格式化后 …

[分享]天轰穿VS2005视频教程

谈到学习,虽然有很多很多人有自己一套的自学方法. 但有时候,有个好的老师来教,一个好的拍档一同促进也是十分重要的. 就在一个星期前我偶然在Google上点入了天轰穿的blog 发现里面的VS2005视频教程对于一些新学.net的朋友是在是太有帮助了 从基础到高级应用都能够涉及到,实在是…

svn忽略指定文件夹下的文件_管理SteamLibrary文件夹下的acf文件

管理SteamLibrary文件夹下的acf文件众所周知,steam中下载的游戏会在SteamLibrarysteamappscommon文件夹下创建一个以游戏名称为名的文件夹用来存放文件,并在SteamLibrarysteamapps文件夹下创建一个acf文件,里面储存着游戏的一些信息&#xff…

LeetCode 1418. 点菜展示表(哈希map)

1. 题目 给你一个数组 orders,表示客户在餐厅中完成的订单,确切地说, orders[i][customerNamei,tableNumberi,foodItemi] ,其中 customerNamei 是客户的姓名,tableNumberi 是客户所在餐桌的桌号,而 foodIt…

深入分析驴子系列(2)

在 BOOL CemuleApp::InitInstance() 函数 的 672行(VERIFY( (m_hTimer ::SetTimer(NULL, NULL, 300, StartupTimer)) ! NULL ); ) 启动一个定时器 在该定时器的 执行函数( void CALLBACK CemuleDlg::StartupTimer(HWND /*hwnd*/, UINT /*uiM…

python现在时间 命令_Python3 - 时间处理与定时任务

1.计算明天和昨天的日期#! /usr/bin/env python#codingutf-8# 获取今天、昨天和明天的日期# 引入datetime模块import datetime#计算今天的时间today datetime.date.today()#计算昨天的时间yesterday today - datetime.timedelta(days 1)#计算明天的时间tomorrow today dat…

LeetCode 1419. 数青蛙(脑洞题)

1. 题目 给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 “croak” )的组合。 由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合多个 “croak” 。 请你返回模拟字符串中所有蛙鸣所需不同青蛙的…

MYSQL性能优化(转)

MySQL 服务器调优 最近帮人维护一个DZ论坛,总结如下几个调优技巧,让 MySQL 服务器飞速运行有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为:1.替换有问题的硬件。2.对 MySQL 进程的设置进行调优。3.对查询进行优化…