共计 1924 个字符,预计需要花费 5 分钟才能阅读完成。
GPT4All是一个使用包括代码、故事和对话在内的大量干净助手数据训练的聊天机器人。该项目提供演示、数据和代码,用于训练一个基于 LLaMA 7B 的助手式大型语言模型,包含约 800k 个基于 GPT-3.5-Turbo 生成的对话。
项目上线两天,Star 量已经突破 7.8k。根据项目显示,M1 Mac、Windows 等环境都能运行。
项目地址:
https://github.com/nomic-ai/gpt4all
技术报告:
https://s3.amazonaws.com/static.nomic.ai/gpt4all/2023_GPT4All_Technical_Report.pdf
与 GPT-4 相似的是,GPT4All 也提供了一份「技术报告」。这份初步的技术报告简要描述了 GPT4All 的搭建细节。
具体地:
数据收集和整理:在 2023 年 3 月 20 日至 2023 年 3 月 26 日期间,研究者使用 GPT-3.5-Turbo OpenAI API 收集了大约 100 万对 prompt 回答。参考斯坦福大学 Alpaca 项目,研究者使用排除法将最初的 prompt 数据集产生了一个包含 437.605 个 prompt – 生成对的最终子集。
模型训练:研究者在 LLaMA 7B (Touvron et al., 2023) 的一个实例中将几个模型进行微调。
可重现性:研究者发布了所有的数据、训练代码和模型权重,供社区进行复现。
训练得到的 LoRa 权重:
gpt4all-lora: https://huggingface.co/nomic-ai/gpt4all-lora
gpt4all-lora-epoch-2: https://huggingface.co/nomic-ai/gpt4all-lora-epoch-2
原始数据:
Training Data Without P3
Explorer: https://atlas.nomic.ai/map/gpt4all_data_clean_without_p3
Full Dataset with P3
Explorer: https://atlas.nomic.ai/map/gpt4all_data_clean
设置:
克隆存储库
git clone –recurse-submodules git@github.com:nomic-ai/gpt4all.gitgit submodule configure && git submodule update
Cop
设置环境
python -m pip install -r requirements.txt
cd transformerspip install -e .
cd ../peftpip install -e .
Copy
训练:
accelerate launch –dynamo_backend=inductor –num_processes=8 –num_machines=1 –machine_rank=0 –deepspeed_multinode_launcher standard –mixed_precision=bf16 –use_deepspeed –deepspeed_config_file=configs/deepspeed/ds_config.json train.py –config configs/train/finetune-7b.yaml
Copy
生成:
python generate.py –config configs/generate/generate.yaml –prompt “Write a script to reverse a string in Python”
模型评估 :研究者使用 SelfInstruct 论文 (Wang et al., 2022) 中的人类评估数据对该模型进行了初步评估。对比 alpaca-lora 模型的 ground truth 困惑度,GPT4All 表现出了更低的困惑度。
有了 GPT4All的加持,在 MacBook M1 上本地就能运行 GPT。
可以尝试:
下载 CPU 量化的 gpt4all 模型检查点:gpt4all-lora-quantized.bin
克隆此存储库并将量化模型放在 chat 目录中,然后通过运行以下命令开始聊天:
在 M1 Mac / OSX 上运行 cd chat;./gpt4all-lora-quantized-OSX-m1
在 Windows / Linux 上运行 cd chat;./gpt4all-lora-quantized-linux-x86
Copy
图注:在 M1 Mac 上运行(未加速!)
需要注意的是,GPT4All模型的权重和数据仅用于研究目的,并获得许可,禁止任何商业使用。GPT4All 是基于 LLaMA 的,LLaMA 具有非商业许可。