lora instruct
1.0.0
Este repositório contém código para ajuste fino de LLMs de código aberto permissivos usando adaptação de baixa classificação (LoRA).
O código é testado usando o conjunto de dados Stanford Alpaca.
Inspirado em Alpaca-LoRA
Modelo | Corre | Tempo de treinamento | Link |
---|---|---|---|
LLaMA 3B | ⬜ | ||
LLaMA 7B | ⬜ | ||
VermelhoPijama 3B | ✅ | 1:44:14 | |
VermelhoPijama 7B | ✅ | 3:09:58 | |
MPT 3B | ⬜ | ||
MPT 7B | ⬜ | ||
Falcão 7B | ✅ |
Ubuntu 20.04.1 LTS (WSL2)
Driver Version: 531.41
CUDA Version: 12.1
cuDNN version: 8.5.0
Instalar dependências
poetry install
Para fazer o ajuste fino usando a GPU da série NVidia 2000 ou anterior, comente esta linha em finetune.py
model = prepare_model_for_int8_training ( model )
finetune.py
)Este arquivo contém uma aplicação direta de PEFT/LoRA para o modelo somente decodificador, bem como algum código relacionado à construção de prompt e tokenização.
Exemplo de uso:
python finetune.py
--base_model ' togethercomputer/RedPajama-INCITE-Base-7B-v0.1 '
--output_dir ' ./lora-redpajama '
Usamos a biblioteca accelerate
do HuggingFace para treinamento distribuído. A seguir está um exemplo de treinamento distribuído com duas GPUs.
export WORLD_SIZE=2
export CUDA_VISIBLE_DEVICES=0,1
torchrun
--nproc_per_node=2
--master_port=1234
finetune.py
--base_model ' togethercomputer/RedPajama-INCITE-Base-7B-v0.1 '
--output_dir ' ./lora-redpajama '