[转帖]GPT4All 一个开源 ChatGPT
https://zhuanlan.zhihu.com/p/618947904 通用预训练语言模型.
ChatGPT 正在迅速发展与传播,新的大型语言模型 (LLM) 正在以越来越快的速度开发。就在过去几个月,有了颠覆性的 ChatGPT 和现在的 GPT-4。明确定义,GPT 代表(Generative Pre-trained Transformer),是底层语言模型,而 ChatGPT是为会话设计的具体实现。比尔·盖茨 (Bill Gates) 回顾 OpenAI 的工作时说,“人工智能时代已经开始”。如果感到难以跟上快速变化的步伐,那么并不孤单。就在刚才,超过 1000 名研究人员签署了一份请愿书,要求在未来六个月内暂停训练比 GPT-4 更强大的 AI 系统。
尽管技术成就显着,但它们仍然是闭门造车。尽管它的名字,OpenAI 长期以来一直受到一些人的批评,因为它没有发布他们的模型,甚至被一些人称为 ClosedAI。研究人员和爱好者都在努力寻找开源替代品。
如果错过了最近的发展,应该看看 Meta 的 LLaMA ( GitHub ),它应该优于 GPT-3。它是在 GNU 许可下获得许可的,虽然它不是严格开源的,但可以在注册后获得权重。这种开放显然是为了 LLaMA 的利益,社区很快就继续开发它。它很快以 llama.cpp 的形式移植到 C/C++,斯坦福大学的研究人员将其扩展到一个指令跟随模型,例如 ChatGPT,并将其命名为 Alpaca。还有 GPT4All,这篇博文是关于它的。
首先,来反思一下社区在短时间内开发开放版本的速度有多快。为了了解这些技术的变革性,下面是各个 GitHub 仓库的 GitHub 星数。作为参考,流行的 PyTorch 框架在六年内收集了大约 65,000 颗星。下面的图表是大约一个月。

GPT4All
但现在,来更深入地介绍 GPT4All。这是 Nomic AI 的助手式聊天机器人,刚刚公开发布。
如何基于现有的语言模型(如 LLaMA)创建类似 ChatGPT 的助手式聊天机器人?答案可能会大吃一惊:与聊天机器人互动并尝试了解它的行为。就 gpt4all 而言,这意味着从公开可用的数据源收集各种问题和提示样本,然后将它们交给 ChatGPT(更具体地说是 GPT-3.5-Turbo)以生成 806,199 个高质量的提示生成对。接下来,整理数据并删除低多样性响应,并确保数据涵盖广泛的主题。训练数据后,发现他们的模型比同类产品表现更好。
对我来说,其中一个主要吸引力在于作者发布了模型的量化 4 位版本。这是什么意思?实际上,在模型中以降低的精度而不是全精度执行某些操作,因此可以拥有更紧凑的模型。虽然像 ChatGPT 这样的模型在 Nvidia 的 A100 等专用硬件上运行,这是一款配备高达 80 GB RAM 的硬件怪兽,价格为 15,000 美元,但对于 GPT4All,意味着可以在消费级硬件上执行该模型。
设置
运行 GPT4All 的说明很简单,只要安装了正在运行的 Python,按照 GitHub 存储库上的设置说明进行操作即可。
- 下载量化检查点(请参阅自己尝试),大概是
4.2 Gb的大小,完全下载需要一定的时间 - 克隆环境
- 将检查点复制到 chat
- 设置环境并安装请求
- 运行
在 M1 MacBook Pro 上对此进行了测试,这意味着只需导航到 chat- 文件夹并执行 ./gpt4all-lora-quantized-OSX-m1。

设置一切应该需要几分钟,下载是最慢的部分,结果是实时返回的。
结果
现在,准备运行的 GPT4All 量化模型在基准测试时表现如何?虽然有详尽的基准测试集,但以下是可以预期的一些快速见解:

虽然有一些明显的错误(NLP -> NLU),但实际上对输出感到非常惊讶。
可以尝试一些更有创意的东西,比如诗歌:

发现这确实非常有用,同样,考虑到这是在 MacBook Pro 笔记本电脑上运行的。虽然它可能不在 GPT-3.5 甚至 GPT-4 级别,但它肯定有一些魔力。
注意事项
使用 GPT4All 时,请牢记作者的使用注意事项:
GPT4All 模型重量和数据仅用于研究目的并获得许可,禁止任何商业用途。GPT4All 基于 LLaMA,具有非商业许可。辅助数据是从 OpenAI 的 GPT-3.5-Turbo 收集的,其使用条款禁止开发与 OpenAI 进行商业竞争的模型。
此外,请注意 ChatGPT 具有多项安全功能。
总结
开源项目和社区努力在实施技术和加速创意方面非常强大。GPT4All 就是一个显着的体现。从根本上说,这为闭源模型的业务方面提供了一个有趣的视角。如果提供 AI 作为服务,那么需要多长时间才能让爱好者对 AI 进行足够长的探索以能够模仿它?对于 GPT4All 的案例,论文中有一个有趣的注释:花了四天的时间,GPU 成本 800 美元,OpenAI API 调用 500 美元,这具有足够的吸引力。
关于文件 gpt4all-lora-quantized.bin 的下载问题,可以通过下面的链接下载:
[转帖]GPT4All 一个开源 ChatGPT的更多相关文章
- MindMup 是一个开源的、在线的、简单的思维导图工具
MindMup是一个开源.在线的思维导图工具:它有以下特点: 开源 在线 导图可存放在网站(公有,要是在不同的终端浏览的话需要记住导图的网址)或google driver(私有),无用户名密码 很方便 ...
- 分享一个开源的流程图绘制软件--Diagram Designer
最近在写专利文件,在制作说明书附图时想到自己还只会用wps进行简单的绘制,于是想学习下,填补下这方面的短板.这两天查到了DiagramDesigner这个小工具,派上了大用场.用它写完了一个发明专利, ...
- 【Hades】ades是一个开源库,基于JPA和Spring构建,通过减少开发工作量显著的改进了数据访问层的实现
几乎每个应用系统都需要通过访问数据来完成工作.要想使用领域设计方法,你就需要为实体类定义和构建资源库来实现领域对象的持久化.目前开发人员经常使用JPA来实现持久化库.JPA让持久化变得非常容易,但是仍 ...
- Tornado的一个开源社区
https://link.zhihu.com/?target=http%3A//www.tornadoweb.org/en/stable/ 基于Tornado的一个开源社区 GitHub - shiy ...
- Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目
http://www.cnblogs.com/xiaocen/p/3736095.html amoeba实现mysql读写分离 application shang 2年前 (2013-03-28) ...
- OpenSceneGraph是一个开源的三维引擎
http://www.osgchina.org/OpenSceneGraph是一个开源的三维引擎,被广泛的应用在可视化仿真.游戏.虚拟现实.科学计算.三维重建.地理信息.太空探索.石油矿产等领域.OS ...
- 怎样在Github参与一个开源项目
转载:http://www.csdn.net/article/2014-04-14/2819293-Contributing-to-Open-Source-on-GitHub 最近一年开源项目特别的热 ...
- WEKA,一个开源java的数据挖掘工具
开始研究WEKA,一个开源java的数据挖掘工具. HS沉寂这么多天,谁知道偏偏在我申请离职的时候给我安排了个任务,哎,无语. 于是,今天看了一天的Weka. 主要是看了HS提供的三个文章(E文,在g ...
- Nutch 是一个开源Java 实现的搜索引擎
Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. Nutch的创始人是Doug Cutting,他同时也是Lucene.Hado ...
- SSDB是一个开源的高性能数据库服务器
SSDB是一个开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下 ...
随机推荐
- reboot详解
linux下reboot命令详解 linux reboot 命令详解 功能说明:重新开机. 语 法:dreboot [-dfinw] 补充说明:执行reboot指令可让系统停止运作,并重新开机. 参 ...
- MySQL优化:12种提升SQL执行效率的有效方法
在数据库管理和优化的世界里,MySQL作为一个流行的关系型数据库管理系统,其性能优化是任何数据密集型应用成功的关键.优化MySQL数据库不仅可以显著提高SQL查询的效率,还能确保数据的稳定性和可靠性. ...
- 简单介绍JDK、JRE、JVM三者区别
简单介绍JDK vs JRE vs JVM三者区别 文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥,嘿嘿!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习, ...
- 文心一言 VS 讯飞星火 VS chatgpt (29)-- 算法导论5.2 1题
一.在 HIRE-ASSISTANT 中,假设应聘者以随机顺序出现,你正好雇用一次的概率是多少?正好雇用 n 次的概率是多少? 文心一言: 讯飞星火: 华为盘古: 在HIRE-ASSISTANT中,假 ...
- Linux神器strace的使用方法及实践
在Linux系统中,strace命令是一个集诊断.调试.统计与一体的工具,可用来追踪调试程序,能够与其他命令搭配使用,接下来就Linux系统调用工具strace的使用方法和实践给大家做个详细介绍,一起 ...
- SpringBoot 开发环境热部署
开发修改代码后,无需重启idea的服务. 1 模块中添加依赖 <dependency> <groupId>org.springframework.boot</groupI ...
- go对mongodb的聚合查询
mongodb的环境搭建参考前面一篇通过mongo-driver使用说明 GO 包管理机制 BSON 介绍 在Go中使用BSON对象构建操作命令 在我们发送查询给数据库之前, 很重要的一点是,理解Go ...
- 6.0 《数据库系统概论》之关系数据库的规范化理论(数据依赖对表的影响[插入-删除-修改-冗余]、1NF-2NF-3NF-BCNF-4NF、函数依赖与多值依赖)
前言 本篇文章学习书籍:<数据库系统概论>第5版 王珊 萨师煊编著 视频资源来自:数据库系统概论完整版(基础篇+高级篇+新技术篇) 由于 BitHachi 学长已经系统的整理过本书了,我在 ...
- Kotlin 协程真的比 Java 线程更高效吗?
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/-OcCDI4L5GR8vVXSYhXJ7w作者:吴越 网上几乎全部介绍Kotlin的文章都会说 ...
- vue结合element-ui实现多层复选框checkbox
1.需求如上图所以: html相关代码如下: 1 <div class="intent-course-wrapper"> 2 <div class="c ...