社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

ChatGPT开源平替来了,开箱即用!前OpenAI团队打造,GitHub刚发布就揽获800+星

码小辫 • 1 年前 • 329 次点击  

码小辫
专注更多编程视频和电子书
天天在用钱
丰色 发自 凹非寺
量子位 | 公众号 QbitAI

ChatGPT的开源平替来了,源代码、模型权重和训练数据集全部公开。

它叫OpenChatKit,由前OpenAI研究员共同打造。

效果是这样儿的:

可以用简单的语言解释机器学习的概念,也可以回答测试者提出的第二个小问题。

信息提取也难不倒它,比如将一大段计划用表格表示。

据悉,OpenChatKit一共包含200亿参数,在EleutherAI的GPT-NeoX-20B(GPT-3开源替代品)上进行了微调,还可以连接其它API或数据源进行检索等等。

这不,GitHub刚刚上线,就已经获得了800+标星。

有网友感叹“事情进展得也太快了吧”,作者则回应: 

安全带系紧,享受“飙车”吧。

来看看它具体怎么玩?

OpenChatKit,你的平替ChatGPT

据介绍,OpenChatKit一共包含4个基本组件:

1、一个指令调优的大型语言模型。

用EleutherAI的GPT-NoX-20B对聊天功能进行了微调,后者在carbon-negative计算上具有4300万条指令。

调整重点是多轮对话、问答、分类、提取和摘要等几个任务。

2、定制配方(recipe)

用来帮助微调模型使其能够为特定任务提供高精度的结果,只需要准备自己的数据集。

3、一个可扩展的检索系统。

可以让你在推理时从文档存储库、API或其他实时更新信息源添加信息。

4、一个由GPT-JT-6B微调而成的调节模型(moderation model)。可以过滤模型对一些问题的响应。

这样的OpenChatKit可以为各种应用程序创建专用和通用的聊天机器人。

在GitHub上的仓库,你可以找到它的训练代码、测试推理代码以及通过检索增强模型的代码。

具体如何使用?

首先,在开始之前,安好PyTorch和其他依赖项。

先从作者团队的网站(Together)安装Miniconda,然后用此repo根目录下的environment.yml文件创建一个名为OpenChatKit的环境。

由于repo使用Git LFS来管理文件,所以还需要按照他们网站上的说明进行安装,然后运行git lfs install。

接着,关于预训练权重

GPT-NeoXT-Chat-Base-20B是GPT NeoX的200亿参数变体,它在会话数据集上进行了微调。

作者在Huggingface上的GPT-Next-Chat-Base-20B发布了预训练权重。

数据集方面,OpenChatKit模型是在LAION、Together和Ontocord.ai共同构建的OIG数据集上训练的。

同样,从Huggingface下载数据集,然后在repo的根目录运行以下命令就行:

python data/OIG/prepare.py。

(你也可以贡献新的数据来改善模型效果~)

然后就可以预训练基础模型了。

方法是在根目录用以下命令下载GPT-NeoX-20B模型:

python pretrained/GPT-NeoX-20B/prepare.py。

它的权重放在pretrained/GPT-NeoX-20B/EleutherAI_gpt-neox-20b目录中。

下载好之后,执行bash training/finetune_GPT-NeoXT-Chat-Base-20B.sh脚本,开始配置和训练。

训练会启动8个进程,管道并行度为8,数据并行度为1。Checkpoints则将保存到repo根目录的model_ckpts目录中。

推理之前,请务必将模型转换为Hugginface格式。

为了帮助你测试模型,作者也在这里提供了一个简单的测试命令行工具来进行交互,执行命令:

python inference/bot.py。

默认情况下,脚本会在目录下加载名为GPT-NeoXT-Chat-Base-20B model的模型,但我们可以通过—model进行改变。

都弄好之后,在提示符处输入文本,模型就会回复了。

最后,作者还提供了一个用维基百科进行扩展搜索的例子,操作也比较简单,感兴趣的同学可以自行查看。

关于作者

OpenChatKit的归属单位叫Together。

这是一家去年7月才成立的创业公司,专门为AI行业做去中心化的云服务。

CEO是Vipul Ved Prakash,他曾在苹果做了5年高级总监。

CTO是Zhang Ce,苏黎世联邦理工学院计算机专业的助理教授。

据推特博主Itamar Golan称,OpenChatKit的作者包含多位前OpenAI研究员。

总的来说,OpenChatKit开箱即用,擅长多项任务,包括带有上下文的总结和问题回答、信息提取、文本分类等。

但它还不太擅长创意写作(尤其是编长故事)、写代码,以及有时可能会重复响应你的请求、在切换话题时表现迟钝……

不过,正如Together在博客中说的那样:

这个模型不是发布完就完了,它是一个开源项目的开始。

或许我们可以持续关注一波~

那么,如果你感兴趣,传送门在这里:

https://github.com/togethercomputer/OpenChatKit
https://huggingface.co/spaces/togethercomputer/OpenChatKit

参考链接:

[1]https://twitter.com/ItakGol/status/1634590622286741504
[2]https://www.together.xyz/blog/openchatkit

-END-

一个认真分享的小编

前沿技术定期送书 /干货分享

商务合作:dot3721
长按左侧二维码添加

点分享

点点赞

点在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/152822
 
329 次点击