TheBloke's picture
New GGMLv3 format for breaking llama.cpp change May 19th commit 2d5db48
addb691
|
raw
history blame
3.78 kB
metadata
license: other
language:
  - en
pipeline_tag: text2text-generation
tags:
  - alpaca
  - llama
  - chat
  - gpt4
inference: false

GPT4 Alpaca LoRA 30B - 4bit GGML

This is a 4-bit GGML version of the Chansung GPT4 Alpaca 30B LoRA model.

It was created by merging the LoRA provided in the above repo with the original Llama 30B model, producing unquantised model GPT4-Alpaca-LoRA-30B-HF

The files in this repo were then quantized to 4bit and 5bit for use with llama.cpp.

THE FILES IN MAIN BRANCH REQUIRES LATEST LLAMA.CPP (May 19th 2023 - commit 2d5db48)!

llama.cpp recently made another breaking change to its quantisation methods - https://github.com/ggerganov/llama.cpp/pull/1508

I have quantised the GGML files in this repo with the latest version. Therefore you will require llama.cpp compiled on May 19th or later (commit 2d5db48 or later) to use them.

For files compatible with the previous version of llama.cpp, please see branch previous_llama_ggmlv2.

Provided files

Name Quant method Bits Size RAM required Use case
gpt4-alpaca-lora-30B.ggmlv3.q4_0.bin q4_0 4bit 20.3GB 23GB 4bit.
gpt4-alpaca-lora-30B.ggmlv3.q4_1.bin q4_1 4bit 22.4GB 25GB 4-bit. Higher accuracy than q4_0 but not as high as q5_0. However has quicker inference than q5 models.
gpt4-alpaca-lora-30B.ggmlv3.q5_0.bin q5_0 5bit 22.4GB 25GB 5bit. Higher accuracy, higher resource usage, slower inference.
gpt4-alpaca-lora-30B.ggmlv3.q5_1.bin q5_1 5bit 24.4GB 27GB 5bit. Even higher accuracy and resource usage, and slower inference.

How to run in llama.cpp

I use the following command line; adjust for your tastes and needs:

./main -t 18 -m gpt4-alpaca-lora-30B.ggmlv3.q4_0.bin --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "Below is an instruction that describes a task. Write a response that appropriately completes the request.
### Instruction:
Write a story about llamas
### Response:"

Change -t 18 to the number of physical CPU cores you have. For example if your system has 6 cores/12 threads, use -t 6.

If you want to have a chat-style conversation, replace the -p <PROMPT> argument with -i -ins

How to run in text-generation-webui

Create a model directory that has ggml (case sensitive) in its name. Then put the desired .bin file in that model directory.

Further instructions here: text-generation-webui/docs/llama.cpp-models.md.

Note: at this time text-generation-webui may not support the new May 19th llama.cpp quantisation methods for q4_0, q4_1 and q8_0 files.

Original GPT4 Alpaca Lora model card

This repository comes with LoRA checkpoint to make LLaMA into a chatbot like language model. The checkpoint is the output of instruction following fine-tuning process with the following settings on 8xA100(40G) DGX system.

  • Training script: borrowed from the official Alpaca-LoRA implementation
  • Training script:
python finetune.py \
    --base_model='decapoda-research/llama-30b-hf' \
    --data_path='alpaca_data_gpt4.json' \
    --num_epochs=10 \
    --cutoff_len=512 \
    --group_by_length \
    --output_dir='./gpt4-alpaca-lora-30b' \
    --lora_target_modules='[q_proj,k_proj,v_proj,o_proj]' \
    --lora_r=16 \
    --batch_size=... \
    --micro_batch_size=...

You can find how the training went from W&B report here.