2023-03-28 00:20:59 +00:00
|
|
|
<h1 align="center">GPT4All</h1>
|
2023-03-28 16:09:09 +00:00
|
|
|
<p align="center">Demo, data and code to train an assistant-style large language model</p>
|
2023-03-25 16:43:27 +00:00
|
|
|
|
2023-03-28 00:20:59 +00:00
|
|
|
# Try it yourself
|
|
|
|
|
|
|
|
-- TODO LLAMA C++ code
|
2023-03-25 16:43:27 +00:00
|
|
|
|
|
|
|
|
2023-03-28 15:56:16 +00:00
|
|
|
|
|
|
|
# Reproducibility
|
2023-03-28 16:26:23 +00:00
|
|
|
|
|
|
|
You can find trained LoRa model weights at:
|
2023-03-28 18:38:18 +00:00
|
|
|
- gpt4all-lora https://huggingface.co/nomic-ai/gpt4all-lora
|
2023-03-28 16:26:23 +00:00
|
|
|
|
|
|
|
We are not distributing LLaMa 7B checkpoint they need to be used in association with.
|
|
|
|
|
|
|
|
|
|
|
|
To reproduce our LoRA training run, do the following:
|
2023-03-28 15:56:16 +00:00
|
|
|
|
|
|
|
## Setup
|
2023-03-25 16:43:27 +00:00
|
|
|
|
|
|
|
Clone the repo
|
|
|
|
|
|
|
|
`git clone --recurse-submodules git@github.com:nomic-ai/gpt4all.git`
|
|
|
|
|
2023-03-28 00:46:14 +00:00
|
|
|
`git submodule configure && git submodule update`
|
2023-03-28 00:46:24 +00:00
|
|
|
|
2023-03-25 16:43:27 +00:00
|
|
|
Setup the environment
|
|
|
|
|
|
|
|
```
|
|
|
|
python -m pip install -r requirements.txt
|
|
|
|
|
|
|
|
cd transformers
|
|
|
|
pip install -e .
|
|
|
|
|
|
|
|
cd ../peft
|
|
|
|
pip install -e .
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Generate
|
|
|
|
|
2023-03-25 21:57:01 +00:00
|
|
|
`python generate.py --config configs/generate/generate.yaml --prompt "Write a script to reverse a string in Python`
|
|
|
|
|
|
|
|
|
|
|
|
## Train
|
|
|
|
|
|
|
|
`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`
|
2023-03-28 16:00:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you utilize this reposistory, models or data in a downstream project, please consider citing it with:
|
|
|
|
```
|
|
|
|
@misc{gpt4all,
|
|
|
|
author = {Yuvanesh Anand and Zachary Nussbaum and Brandon Duderstadt and Benjamin Schmidt and Andriy Mulyar},
|
|
|
|
title = {GPT4All: Training an Assistant-style Chatbot with Large Scale Data Distillation from GPT-3.5-Turbo},
|
|
|
|
year = {2023},
|
|
|
|
publisher = {GitHub},
|
|
|
|
journal = {GitHub repository},
|
|
|
|
howpublished = {\url{https://github.com/nomic-ai/gpt4all}},
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|