整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
近来 ChatGPT 的爆火,令不少人开始关注其背后的 OpenAI。
追溯过往才发现,原来成立于 2015 年的 OpenAI,最初声称是一家非营利机构,会向公众开放专利和研究成果,要为人类谋福利。
但 2019 年,OpenAI 变成了一家名为 OpenAI LP 的营利性公司,又接受了微软注资的 10 亿美元后:GPT-3 仅通过 API 发布而非开源模型,ChatGPT 也毫无开源迹象——许多人唏嘘:不如改名为 ClosedAI。
意外的是,ChatGPT 的开源“平替”还是来了。
3 月 12 日,Orca Security 数据科学主管 Itamar Golan 在推特分享了“第一个 ChatGPT 的开源替代”:Together 组织中的前 OpenAI 研究员团队,发布了一个类 ChatGPT 开源模型,名为 OpenChatKit。
值得一提的是,不论是 OpenChatKit 的源代码、模型权重还是训练数据集,Together 已全部公开。
在问答、提取和分类方面,表现尚佳
根据 Together 官方介绍,GPT-NeoXT-Chat-Base-20B 是构成 OpenChatKit 基础的大型语言模型,而它则基于“黑客组织” EleutherAI 的 GPT-NeoX-20B 模型。
作为一个诞生于 2020 年 7 月的“黑客组织”,EleutherAI 由一群机器学习研究人员组成,为反抗微软与 OpenAI 对大规模 NLP 模型的垄断(微软与 OpenAI 达成协议,拥有对 GPT-3 源码的独家访问)而成立,旨在构建和开源大型语言模型。
EleutherAI 创始人 Connor Leahy 曾说:“起初这真的只是一个有趣的业余爱好。我们认为自己是几十年前经典黑客文化的后裔,只是在新的领域,出于好奇和对挑战的热爱而对技术进行试验。”
成立不到 3 年,EleutherAI 不断实现其目标:先发布了类 GPT 的 27 亿参数模型 GPT-Neo,又开源了 60 亿参数的 NLP 模型 GPT-J,去年又免费开放了包含 200 亿参数的 GPT-NeoX-20B。
得益于 GPT-NeoX-20B 的开源,Together 用 4300 万条高质量指令的集合对模型的聊天功能进行了微调,主要在多轮对话、问答、分类、提取和摘要等方面重点调优,从而得到了 GPT-NeoXT-Chat-Base-20B。
据介绍,GPT-NeoXT-Chat-Base-20B 开箱即用,为一系列广泛的自然语言任务提供了一个强大基础,它在 HELM 基准测试上的得分高于其基本模型 GPT-NeoX,特别是在涉及问答、提取和分类的任务上。
基于 GPT-NeoXT-Chat-Base-20B 的 OpenChatKit,也就继承了这些优点。
在编码等方面还有欠缺
具体来说,OpenChatKit 一共包含 4 个关键组件:
(1)一个经过指令调整的大型语言模型,该模型基于 EleutherAI 的 GPT-NeoX-20B,经过了 4300 万条指令的微调。
(2)定制配方,对模型进行微调,以实现任务的高精确度。
(3)一个可扩展的检索系统,能够在推理时用来自文件库、API 或其他实时更新的信息源的信息来增强响应。
(4)一个由 GPT-JT-6B 微调的调节模型,以此过滤一些问题的响应。
基于这些组件,现阶段的 OpenChatKit 开箱即用,并且在问答、信息提取和文本分类方面较为擅长:
user:将下面句子的情感分为正面、中性或负面:对于教授斯坦福大学的第一门大型语言模型课程,我感到非常兴奋!在这里查看教学大纲。
bot:正面的。
user:将下面句子的情感分为正面、中性或负面:外面在下雨,我感到很忧郁。
bot:负面的。
同时 Together 也承认,目前刚发布的 OpenChatKit 仍存在不少问题和缺陷,例如编码能力不足、会重复回答等:
基于知识的封闭式问答:聊天机器人可能会产生幻觉并给出不正确的结果,用户务必进行事实核查,并在可能的情况下提供反馈和更正的信息。
编码任务:聊天机器人没有经过足够大的源代码库的训练,所以暂且无法出色地编写代码。
会重复:有时聊天机器人会重复回答,用户可以通过单击刷新按钮开始新的对话。
语境切换:如果在对话中改变话题,聊天机器人可能无法自动进行切换,并将继续提供与先前主题相关的答案。
创意写作和较长的回答:当前的聊天机器人不能生成有创意的长文,例如散文或故事。
为此,Together 呼吁大家一起尝试与 OpenChatKit 对话(https://huggingface.co/spaces/togethercomputer/OpenChatKit),如发现问题可随时反馈,以此加强数据集并提高其准确性:“这不仅是一个模型的发布,更是一个开源项目的开始,希望能在社区的帮助下不断改进。”
可以用中文问答
或许是拥有着“前 OpenAI 研究团队开发”的前缀,OpenChatKit 仅发布 3 天,就在 GitHub 上收获了 3k+ Star,在 Issues 页面还能看到不少国内开发者的提问:
“ChatGPT 支持多语言问答和推理,尽管在大多数情况下,首先生成英语答案,然后翻译成其他语言。所以我想问一下,OpenChatKit 是否支持直接的中文问答,还是我需要使用中文数据集进行训练,然后才能进行中文问答?”
对此,使用过 OpenChatKit 的开发者回答称直接就可以。至于用中文问答 OpenChatKit 的效果,也有开发者分享了截图:“中文提示也可以(输出质量取决于你的提示)。”
不过,毕竟与 ChatGPT 在模型参数量上就有“壁”,OpenChatKit 显然还有很大的差距和不足,需较长时间的成长与迭代。对 OpenChatKit 感兴趣的程序员们可前往项目主页具体查看和尝试:
项目地址:https://github.com/togethercomputer/OpenChatKit
测试链接:https://huggingface.co/spaces/togethercomputer/OpenChatKit
参考链接:
https://www.together.xyz/blog/openchatkit
https://github.com/togethercomputer/OpenChatKit
☞久久为功,华为云助力软件行业高效创新
☞烧数亿美元、耗上万颗英伟达 GPU,微软揭秘构建 ChatGPT 背后超级计算机往事 !
☞深挖 ChatGPT 原理,保姆级解说!