草庐IT

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

量子位 2023-03-28 原文
本文经AI新媒体量子位(公众号ID: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

有关ChatGPT开源平替来了,开箱即用!前OpenAI团队打造,GitHub刚发布就揽获800+星的更多相关文章

  1. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  2. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  3. ruby-on-rails - 如何在发布新的 Ruby 或 Rails 版本时收到通知? - 2

    有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:

  4. ruby-on-rails - 获取 ActionController::RoutingError(当尝试使用 AngularJS 将数据发布到 Rails 服务器时,没有路由匹配 [OPTIONS] "/users" - 2

    尝试从我的AngularJS端将数据发布到Rails服务器时出现问题。服务器错误:ActionController::RoutingError(Noroutematches[OPTIONS]"/users"):actionpack(4.1.9)lib/action_dispatch/middleware/debug_exceptions.rb:21:in`call'actionpack(4.1.9)lib/action_dispatch/middleware/show_exceptions.rb:30:in`call'railties(4.1.9)lib/rails/rack/logg

  5. iNFTnews | 周杰伦18年前未发布的作品Demo,藏在了区块链技术里 - 2

    当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在

  6. 智能客服 | 浅谈人工智能聊天机器人ChatGPT - 2

    2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动

  7. 【ChatGPT】ChatGPT 的 N 种用法 - 2

    目录ChatGPT简介技术原理应用未来发展ChatGPT的10 种用法ChatGPT简介ChatGPT是一种基于深度学习的大型语言模型,由OpenAI公司开发。技术原理GPT是GenerativePre-trainedTransformer的缩写,意为生成式预训练变压器。它的技术原理是使用了一个基于注意力机制的变压器(Trans

  8. ruby - 如何在 Ruby 中从内存中 HTTP 发布流数据? - 2

    我想上传我在运行时用Ruby生成的数据,就像从block中提供上传数据一样。我找到的所有示例仅展示了如何流式传输必须在请求之前位于磁盘上的文件,但我不想缓冲该文件。除了滚动我自己的套接字连接之外,最好的解决方案是什么?这是一个伪代码示例:post_stream('127.0.0.1','/stream/')do|body|generate_xmldo|segment|body 最佳答案 有效的代码。require'thread'require'net/http'require'base64'require'openssl'class

  9. IDEA 2023.1 正式发布,新特性简介 - 2

     昨晚看到IDEA官推宣布IntelliJIDEA2023.1正式发布了。简单看了一下,发现这次的新版本包含了许多改进,进一步优化了用户体验,提高了便捷性。至于是否升级最新版本完全是个人意愿,如果觉得新版本没有让自己感兴趣的改进,完全就不用升级,影响不大。软件的版本迭代非常正常,正确看待即可,不持续改进就会慢慢被淘汰!根据官方介绍:IntelliJIDEA2023.1针对新的用户界面进行了大量重构,这些改进都是基于收到的宝贵反馈而实现的。官方还实施了性能增强措施,使得Maven导入更快,并且在打开项目时IDE功能更早地可用。由于后台提交检查,新版本提供了简化的提交流程。IntelliJIDEA

  10. Unity数据可视化图表插件XCharts3.0发布 - 2

    Unity数据可视化图表插件XCharts3.0发布历时8个多月,业余时间,断断续续,XCharts3.0总算发布了。如果要打个满意度,我给3.0版本来个80分。对于代码框架结构设计的调整改动,基本符合预期,甚是满意。相比之前的1.0和2.0版本,我认为3.0才是一个拿得出手给广大开发者使用的版本。1.0发布的时候,很兴奋,从0.1到1.0,也磨了一年,真的等不及想给大家试用了,还特地写过一篇文章以示庆祝。那个时候,1.0虽然还还不够完善,功能也不够丰富,但它是XCharts的开始,没有1.0,也就没有后面的2.0和3.0。后面的2.0发布,做了很多改进和优化,随着版本迭代,慢慢的发现有不少硬

随机推荐