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

news/2024/10/21 9:56:48/

点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达33304d8baca89a7a607ec1e984512bd5.jpeg

丰色 发自 凹非寺
量子位 | 公众号 QbitAI

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

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

3833686d9f83edf3250531d65d7a9cbb.png

效果是这样儿的:

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

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

6c8100aa2ff89816918eebac3a1a5a41.png

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

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

841ecfc54c8958e81c24888e6a849fd0.png

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

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

efa9e4ddb07f30bb44871b1e9663df95.png

来看看它具体怎么玩?

OpenChatKit,你的平替ChatGPT

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

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

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

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

2、定制配方(recipe)。

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

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

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

7d0c07289dc9bd90a8bc7956f2cbb03c.png

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

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

a89ade7f7628ec3a22351b813f3bc2af.png

在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进行改变。

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

c8e596ea985273a911315d11b842b292.png

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

关于作者

OpenChatKit的归属单位叫Together。

db36019323dc9794696331d9d0562db0.png

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

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

4526d006a8f3f07cc3c2dbe9555510af.png

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

4f54efdc962b9d23f7bb08269d3469db.png

据推特博主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

2eeff34e2ff9556d3c84027aa47f93b8.png

outside_default.png

点个在看 paper不断!


http://www.ppmy.cn/news/951283.html

相关文章

推荐 4个有趣实用的 ChatGPT 开源应用

以下是 4个有趣实用的基于 ChatGPT 的开源应用,让我们一起来探索吧! 1. ChatGPT 快捷键 ChatGPT Shortcut 是一个让你使用 ChatGPT 时生产力翻倍的快捷指令网站。你只需在该开源项目中复制提示词,稍加修改后发送给 ChatGPT,就能…

ChatGPT开源优秀项目推荐

作为一名开发者,总是希望能够找到一些优秀的开源项目来学习、使用和贡献。而随着人工智能技术的不断发展,ChatGPT作为一个开源的大型语言模型,已经成为了人们学习和开发自然语言处理应用的重要工具。在这篇技术博客中,我将向大家介…

NOTA P2 RM26,拮抗剂,与NOTA螯合剂偶联,结构式及相关应用介绍

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ 英文名称:NOTA-P2-RM26 规格标准:1g、5g、10g CAS:N/A 分子式:C73H110N18O19 分子量:1543.8NOTA-P2-RM26结构式: 反应机理: NOTA-P2-RM26&…

目前最火的ChatGPT开源项目

ChatGPT是一个基于GPT-3模型的开源聊天机器人项目,它通过预训练的语言模型来生成自然流畅的对话。该项目已经在GitHub上受到广泛关注,并且得到了众多开发者的贡献和支持。 ChatGPT的主要优点之一是其高度的可定制性。它可以轻松地与其他应用程序集成&am…

ChatGPT 开源替代项目整理

项目作者 nichtdax 整理了 9 个开源的 ChatGPT 平替项目。接下来会一一介绍。 项目地址:https://github.com/nichtdax/awesome-totally-open-chatgpt PaLM-rlhf-pytorch 第一个项目是「PaLM-rlhf-pytorch」,项目作者为 Phil Wang。该项目是在 PaLM 架构之…

推荐 5 个好玩的 ChatGPT 开源应用

推荐 5 个基于 ChatGPT 的开源应用:基于强大的 GPT 大模型能力,看能开出什么好玩有趣实用的应用。 本期推荐开源项目目录: 1. 基于 OpenAI 的翻译应用 2. 让 ChatGPT 支持图片 3. 你的 AI 助手 4. 可以与 ChatGPT 联动的智能音箱 5. ChatGPT …

开源版ChatGPT,30分钟训完,性能堪比GPT3.5!

转自:新智元 话说,ChatGPT 开源,是一件好事吗? 此前,OpenAI 不 Open 的事件,已经引发了坊间的诸多争议。 光放出基准和测试结果,不提供训练数据、成本、方法,是真的要「赢家通吃」了…

C++入门学习(2)

思维导图&#xff1a; 一&#xff0c;缺省参数 如何理解缺省参数呢&#xff1f;简单来说&#xff0c;缺省参数就是一个会找备胎的参数&#xff01;为什么这样子说呢&#xff1f;来看一个缺省参数就知道了&#xff01;代码如下&#xff1a; #include<iostream> using std…