Files
2023-04-22 18:42:01 +08:00

65 lines
1.9 KiB
Markdown

My personal repo to convert models from Lora to huggingface/ggml/gptq 4bit so I can run them in normal text-webui and llama.cpp
How do we do this?
1. lora -> hf
- [tloen/alpaca-lora/export_hf_checkpoint.py](https://github.com/tloen/alpaca-lora/blob/main/export_hf_checkpoint.py)
2. hf -> 4bit
- using [GPTQ-for-LLaMa/llama.py](https://github.com/qwopqwop200/GPTQ-for-LLaMa/blob/triton/llama.py)
`CUDA_VISIBLE_DEVICES=0 python llama.py ./llama-hf/llama-7b c4 --wbits 4 --true-sequential --act-order --groupsize 128 --save llama7b-4bit-128g.pt`
3. 4bit -> ggml
- [llama.cpp/convert-pth-to-ggml.py](https://github.com/ggerganov/llama.cpp/blob/master/convert-gptq-to-ggml.py)
# TODO
- [x] lora -> hf
- [ ] test this
- [ ] hf -> 4bit
- [ ] 4bit to -> ggml
- [ ] test perplexity on llama and alpaca type prompts too! maybe use eluther evals
# setup env
```sh
conda create -n textgen3 python=3.10.9
conda activate textgen3
mamba install pytorch torchvision torchaudio pytorch-cuda=11.7 cudatoolkit-dev==11.7 cudatoolkit=11.7 -c pytorch -c nvidia -c conda-forge
pip install -r requirements.txt
pip install -e .
```
# download models
```sh
huggingface-cli login
# download base models
python scripts/download-model.py decapoda-research/llama-7b-hf
# python scripts/download-model.py decapoda-research/llama-13b-hf
# python scripts/download-model.py decapoda-research/llama-30b-hf
# download loras
python scripts/download-model.py tloen/alpaca-lora-7b
# python scripts/download-model.py chansung/alpaca-lora-13b
# python scripts/download-model.py chansung/alpaca-lora-30b
```
# convert models
```sh
# convert
python scripts/export_hf_checkpoint.py ./data/models/llama-7b-hf -l ./data/loras/tloen_alpaca-lora-7b
# test
python scripts/test_01_delora.py models/tloen_alpaca-lora-7b-delorified
```
# Links
- https://github.com/s4rduk4r/alpaca_lora_4bit_readme/blob/main/README.md