GPT4All

GPT4 平替版本
授权协议 未知
开发语言 Python
所属分类 神经网络/人工智能、 自然语言处理
软件类型 开源软件
地区 不详
投 递 者 步兴为
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

GPT4All 是基于 LLaMa 的 ~800k GPT-3.5-Turbo Generations 训练出来的助手式大型语言模型,这个模型接受了大量干净的助手数据的训练,包括代码、故事和对话,可作为 GPT4 的平替。

在 M1 Mac 上运行的示例:

自己试试

  1.  Direct Link or [Torrent-Magnet] 下载 gpt4all-lora-quantized.bin 文件。
  2. 克隆此仓库,导航至 chat ,并将下载的文件放在那里。
  3. 为操作系统运行适当的命令:
    • M1 Mac/OSX: cd chat;./gpt4all-lora-quantized-OSX-m1
    • Linux: cd chat;./gpt4all-lora-quantized-linux-x86
    • Windows (PowerShell): cd chat;./gpt4all-lora-quantized-win64.exe
    • Intel Mac/OSX: cd chat;./gpt4all-lora-quantized-OSX-intel

注意:GPU 上的完整模型(需要 16GB 显存)在定性评估中表现更好。

Python客户端

CPU 接口

要使用带有 CPU 接口的 python 客户端运行,首先使用安装nomic 客户端 ,然后可以使用以下脚本与 GPT4All 进行交互:pip install nomic

from nomic.gpt4all import GPT4All
m = GPT4All()
m.open()
m.prompt('write me a story about a lonely computer')

显卡接口

有两种方法可以在 GPU 上启动和运行此模型。此处的设置比 CPU 模型稍微复杂一些。

  1. 克隆 nomic 客户端 repo 并在主目录中运行 pip install .[GPT4All] 
  2. 运行 pip install nomic 并从此处构建的 wheels 安装额外的 deps

完成后,可以使用如下脚本在 GPU 上运行模型:

from nomic.gpt4all import GPT4AllGPU
m = GPT4AllGPU(LLAMA_PATH)
config = {'num_beams': 2,
          'min_new_tokens': 10,
          'max_length': 100,
          'repetition_penalty': 2.0}
out = m.generate('write me a story about a lonely computer', config)
print(out)

其中 LLAMA_PATH 是 Huggingface Automodel 兼容的 LLAMA 模型的路径,Nomic 目前无法分发此文件。

可以在配置中传递任何 huggingface 生成配置参数。

路线图

短期

  • (进行中)基于 GPTJ 训练 GPT4All 模型以缓解 llama 分布问题。
  • (进行中)为此模型创建改进的 CPU 和 GPU 接口。
  • (未开始)集成 llama.cpp 绑定
  • (未开始)为模型创建一个良好的对话聊天界面。
  • (未开始)允许用户选择加入并提交他们的聊天记录以进行后续培训

中期

  • (未开始)将 GPT4All 与Atlas集成以允许文档检索。
    • 被基于 GPTJ 的 GPT4All 屏蔽
  • (未开始)将 GPT4All 与 Langchain 集成。
  • (进行中)构建简单的自定义训练脚本以允许用户微调模型。

长期

  • (未开始)允许任何人使用 Atlas 为后续 GPT4All 版本整理训练数据。
  • (进行中)使 AI 民主化。

再现性

训练有素的 LoRa 权重:

原始数据:

  • GPT4All是一个开源的聊天机器人,它基于LLaMA的大型语言模型训练而成,使用了大量的干净的助手数据,包括代码、故事和对话。它可以在本地运行,不需要云服务或登录,也可以通过Python或Typescript的绑定来使用。它的目标是提供一个类似于GPT-3或GPT-4的语言模型,但是更轻量化和易于访问。本文将介绍GPT4All的训练方法、所需的电脑配置、云服务器训练的可行性和成本,以及GPT4A

  • 目录 ​编辑 官网介绍 GPT-4 内容提升总结 GPT-4 简短版总结 GPT-4 基础能力 GPT-4 图像处理 GPT-4 技术报告 训练过程 局限性 GPT-4 风险和应对措施 开源项目:OpenAI Evals 申请 GPT-4 API API的介绍以及获取 官网介绍 官网:GPT-4 API候补名单:GPT-4 API waitlist 没开通Plus的用户还没办法体验到 GPT-4

 相关资料
  • 我有一个ECS Fargate docker容器,它有平台版本1.4,由于与我们的设置不兼容,我需要将它降级到1.3,这将适用于我们。 要更改平台版本,我需要在配置或IaC中更改什么?

  • 从版本4.3.0开始,Cordova提供了保存和恢复平台和插件的能力。 这个特性允许开发者保存和恢复他们的app到一个已知的状态,而不用去检测所有平台和插件的源代码。 'save'命令存储app平台和插件的详细版本信息到config.xml里面。当一个'cordova prepare'命令发出,通过利用先前保存在config.xml里面的信息, 'restore'步骤就会自动执行。 下面场景,sa

  • 问题内容: py2exe很棒,每当我想打包一个要在Windows系统上运行的python程序时,我都会使用py2exe。 我的问题是,是否可以使用等效工具在Windows上打包程序,但是可以在Linux上运行? 问题答案: 好的,我已经做到了。这有点hacky,但是对于我的用例来说效果很好。 要点是使用ModuleFinder查找所有导入的模块,过滤掉所有系统模块,编译并压缩它们。 不幸的是,我的

  • 我有一个场景,其中第二个单声道依赖于first stMono和ThridMono调用依赖于第二个单声道输出。 我写的代码如下。 我怎样才能避免这里的第二个平面图?。有没有办法在没有嵌套平面图的情况下做到这一点。我应该只在满足条件的情况下调用serrdMono。

  • 我试图使用for理解以下内容: 我试过这个: 有没有办法用< code > for-comprehensive 简洁地写进去?

  • 有什么建议吗?? 详细信息...

  • 我需要/想要随机(不是全部)生成密码。 我的工作:目前我正在用SecureRandom生成它们 我正在使用 然后像这样播种 目标:一种(最好是快速)创建随机数的方法,这些随机数在密码学上至少和SHA1PRNG安全随机实现一样安全。这些在JRE和Android的不同版本上需要相同。 编辑:种子由用户输入生成。 问题:

  • 我使用Spring Initializr生成了一个Spring Bootweb应用程序,使用macOS Sierra中的嵌入式Tomcat+Thymeleaf模板引擎。我想在Mac OS中使用系统变量User Home Folder Name 但我在启动应用程序时出现了这个错误