Show HN: ajuste fino de Llama con 80% más velocidad, 50% menos uso de memoria y 0% de pérdida de precisión
(github.com/unslothai)Mayor eficiencia en el ajuste de modelos QLoRA
- Los modelos QLoRA/LoRA logran una velocidad 80% mayor y usan 50% menos memoria mediante pasos de retropropagación derivados manualmente.
- Todos los kernels escritos en el lenguaje Triton de OpenAI están optimizados sin pérdida de precisión.
- Puede usarse en GPUs NVIDIA (modelos desde 2018, con soporte para CUDA 7.5+) sin cambiar el hardware.
- Permite un entrenamiento eficiente de modelos con soporte para Flash Attention y ajuste fino LoRA en 4 bits y 16 bits.
- Es posible entrenar el modelo Slim Orca en un entorno local reduciendo drásticamente el tiempo de 1301 horas a 260 horas.
- La versión de código abierto ofrece un entrenamiento 5 veces más rápido, y las rutas de código Unsloth Pro y Max ofrecen hasta 30 veces más velocidad.
Instrucciones de instalación
- Unsloth solo es compatible con distribuciones de Linux y con Pytorch 2.1 o superior.
- Puede instalarse con Conda y Pip, eligiendo el paquete adecuado según la versión de CUDA.
Ejemplo del modelo Alpaca
- Se carga el modelo Llama usando FastLlamaModel y se reduce el uso de memoria mediante cuantización de 4 bits.
- Se mejora el rendimiento aplicando parches al modelo y agregando pesos LoRA rápidos.
- Es posible entrenar el modelo usando Trainer y la carga de datasets de Huggingface.
Objetivos futuros y limitaciones
- Está previsto añadir soporte para sqrt gradient checkpointing, lo que podría reducir el uso de memoria en otro 25%.
- Actualmente solo se admiten modelos Llama, pero se planea dar soporte a otros modelos en el futuro.
Comparación de rendimiento
- Al usar una GPU Tesla T4, Unsloth muestra tiempos por época mucho más rápidos y menor uso de memoria que Huggingface.
- Tanto en sistemas de una sola GPU como en sistemas con múltiples GPUs, las versiones Pro y Max de Unsloth ofrecen un mayor rendimiento.
Resolución de problemas
- Se ofrecen soluciones cuando
bitsandbytesoxformersno se vinculan correctamente. - Actualmente Windows no es compatible, y se prevé que Unsloth lo será cuando Xformers y Triton den soporte oficial a Windows.
- Si hay problemas con la instalación, actualizar
pippuede ser la solución.
Opinión de GN⁺
El punto más importante de este artículo es que el ajuste de modelos QLoRA/LoRA es mucho más rápido y eficiente en memoria que los métodos existentes. Estas optimizaciones reducen drásticamente el tiempo y el costo de entrenamiento de modelos de inteligencia artificial, por lo que pueden ser una solución atractiva incluso para ingenieros de software principiantes. Además, este artículo ofrece un caso interesante sobre el avance de la tecnología de código abierto y cómo este mejora la accesibilidad tecnológica.
Aún no hay comentarios.