Se puede encontrar una versión actualizada en un nuevo repositorio
https://github.com/gmongaras/wizard_qlora_finetuning
Un ejemplo de trabajo de un modelo de 4 bits Qlora Falcon/Llama2 usando Huggingface
Para comenzar la sintonización, editar y ejecutar main.py
Una vez que se complete la Finetuning, debe tener puntos de control ./outputs . Antes de ejecutar inferencia, podemos combinar los pesos de Lora con los pesos originales para una inferencia más rápida y requisitos de GPU más pequeños durante la inferencia. Para hacer esto, ejecute el script merge_weights.py con sus rutas.
Finalmente, puede ejecutar generate.py , por ejemplo, generación dado el modelo fusionado.
Los requisitos de Python para ejecutar el script se encuentran en requisitos.
También debe descargar los pesos de Falcon del modelo 7B aquí https://huggingface.co/tiiuae/falcon-7b y poner los archivos en un directorio ./tiiuae/falcon-7b o descargar las pesas LLAMA-2 aquí https://huggingface.co/meta-llama/Llama-2-7b-hf y ponerlos en un directorio aquí ./llama-2
Este script no admite multi-GPU en Finetuning de 4 bits. Si encuentro una manera de hacer esto, actualizaré el script.
python -m pip uninstall bitsandbytes transformers accelerate peft -y
python -m pip install git+https://github.com/huggingface/transformers.git git+https://github.com/huggingface/peft.git git+https://github.com/huggingface/accelerate.git git+https://github.com/timdettmers/bitsandbytes.git -U
CUDA Setup failed despite GPU being available. Please run the following command to get more information , luego debe construir bitsandbytes desde la fuente y ponerla en su paquete de sitio bits y bytes siguiendo https://github.com/oobabooga/text-generation-webui/issues/147