¡65 mil millones de parámetros, el entrenamiento se disparó en un 38%! La mejor práctica de reproducción básica de modelos grandes de LLaMA es de código abierto, y GitHub ha ganado 30 000 estrellas

¡Vuelve a aparecer el mito del open source LLaMA! La primera solución de preentrenamiento de alto rendimiento de modelo grande de código abierto de 65 mil millones de parámetros, la velocidad de entrenamiento se acelera en un 38% y el modelo grande hecho a medida se crea a bajo costo.

La "Guerra de los Cien Modelos" está en pleno apogeo, y el financiamiento y las fusiones y adquisiciones de empresas relacionadas con AIGC han alcanzado repetidamente nuevos máximos, y las empresas tecnológicas globales compiten por entrar en el juego.

Sin embargo, detrás de la gran belleza de los modelos grandes de IA se encuentra el costo extremadamente alto, y el costo de un solo entrenamiento previo puede llegar a decenas de millones de yuanes. Con base en el ajuste de los grandes modelos de código abierto existentes, como LLaMA, también es difícil satisfacer las necesidades de las empresas para generar competitividad central y diversificar el uso comercial.

Por lo tanto, cómo crear un modelo grande básico preentrenado a bajo costo se ha convertido en un cuello de botella clave en la ola de modelos grandes de IA.

Colossal-AI es la comunidad y la herramienta de desarrollo de modelos a gran escala más grande y activa del mundo.Tomando como ejemplo LLaMA, que actualmente es el más utilizado, proporciona una solución de preentrenamiento lista para usar de 65 000 millones de parámetros, que puede aumentar la velocidad de entrenamiento en un 38 % y ahorrar muchos costos para las empresas de modelos a gran escala.

imagen

Dirección de fuente abierta: https://github.com/hpcaitech/ColossalAI

LLaMA enciende el entusiasmo por el código abierto

El modelo grande de código abierto 7B~65B LLaMA de Meta estimuló aún más el entusiasmo por crear un modelo similar a ChatGPT y derivó en proyectos de ajuste fino como Alpaca, Vicuna y ColossalChat.

Sin embargo, LLaMA solo pesa el modelo de código abierto y restringe el uso comercial, y el conocimiento y las capacidades que el ajuste fino puede mejorar e inyectar son relativamente limitados. Para las empresas que realmente se unen a la ola de modelos grandes, aún deben entrenar previamente sus propios modelos grandes centrales.

Con este fin, la comunidad de código abierto también ha hecho muchos esfuerzos:

  • RedPajama: conjunto de datos LLaMA de código abierto disponible comercialmente, sin código de entrenamiento ni modelo

  • OpenLLaMA: modelo LLaMA 7B, 13B de código abierto disponible comercialmente, que utiliza EasyLM basado en JAX y entrenamiento de TPU

  • Falcon: código abierto comercial LLaMA 7B, modelo 40B, sin código de entrenamiento

Sin embargo, para el ecosistema PyTorch + GPU más convencional, todavía faltan soluciones de preentrenamiento de modelos básicos a gran escala eficientes, confiables y fáciles de usar similares a LLaMA.

La mejor solución de preentrenamiento de modelos grandes acelera un 38 %

En respuesta a las brechas y necesidades anteriores, Colossal-AI es el primero en abrir la solución de preentrenamiento de bajo costo LLaMA de 65 mil millones de parámetros.

En comparación con otras opciones principales de la industria, esta solución puede aumentar la velocidad del entrenamiento previo en un 38 %, solo necesita 32 A100/A800 para usar y no limita el uso comercial.

imagen

Sin embargo, PyTorch, FSDP, etc. nativos no pueden ejecutar la tarea debido a un desbordamiento de memoria. Hugging Face acelera, DeepSpeed ​​y Megatron-LM no han admitido oficialmente el preentrenamiento de LLaMA.

fuera de la caja

1. Instalar Colosal-AI

git clone -b example/llama https://github.com/hpcaitech/ColossalAI.gitcd ColossalAI# install and enable CUDA kernel fusionCUDA_EXT=1 pip install .

2. Instala otras dependencias

cd examples/language/llama# install other dependenciespip install -r requirements.txt# use flash attentionpip install xformers

3. Conjunto de datos

El conjunto de datos predeterminadojuntocomputer/RedPajama-Data-1T-Sample se descargará automáticamente en la primera ejecución, y también se puede especificar un conjunto de datos personalizado a través de -d o --dataset.

4. Ejecute el comando

Se han proporcionado secuencias de comandos de prueba de velocidad 7B y 65B, y solo necesita configurar el nombre de host del nodo múltiple utilizado de acuerdo con el entorno de hardware real para ejecutar la prueba de rendimiento. ​​​​​​

cd benchmark_65B/gemini_auto
bash batch12_seq2048_flash_attn.sh

Para la tarea de preentrenamiento real, use el mismo comando que la prueba de velocidad, simplemente inicie el comando correspondiente, como usar 4 nodos * 8 tarjetas para entrenar un modelo 65B.

colossalai run --nproc_per_node 8 --hostfile YOUR_HOST_FILE --master_addr YOUR_MASTER_ADDR pretrain.py -c '65b' --plugin "gemini" -l 2048 -g -b 8 -a

Por ejemplo, el uso de la estrategia paralela Colossal-AI gemini_auto puede implementar fácilmente un entrenamiento paralelo de varias máquinas y varias tarjetas, reducir el consumo de memoria y mantener un entrenamiento de alta velocidad. De acuerdo con el entorno de hardware o las necesidades reales, se pueden seleccionar combinaciones de estrategias paralelas complejas, como paralelismo de tubería + paralelismo de tensor + ZeRO1.

Entre ellos, a través de los Booster Plugins de Colossal-AI, los usuarios pueden personalizar fácilmente el entrenamiento paralelo, como elegir estrategias paralelas como Low Level ZeRO, Gemini y DDP.

Los puntos de control de gradiente reducen el uso de la memoria al volver a calcular las activaciones del modelo durante la retropropagación. Acelere el cálculo y ahorre memoria de video introduciendo el mecanismo de atención Flash.

Los usuarios pueden controlar convenientemente docenas de parámetros personalizados similares a través de parámetros de línea de comandos, lo que mantiene la flexibilidad para el desarrollo personalizado y mantiene un alto rendimiento.

imagen

El último ShardFormer de ColossalAI reduce en gran medida el costo de usar LLM de entrenamiento paralelo multidimensional.

Ahora es compatible con una variedad de modelos principales, incluido LLaMA, y es compatible de forma nativa con la biblioteca de modelos Huggingface/transformers.

Puede admitir varias combinaciones de configuración de paralelismo multidimensional (tubería, tensor, ZeRO, DDP, etc.) sin modificar el modelo y puede ejercer un rendimiento excelente en varias configuraciones de hardware.

Modelo grande de IA Infraestructura de sistemas Colossal-AI

Colossal-AI proporciona optimización del sistema central y soporte de capacidad de aceleración para el programa.Fue desarrollado bajo el liderazgo de James Demmel, Profesor Distinguido de la Universidad de California, Berkeley, y You Yang, Profesor Presidencial de la Juventud de la Universidad Nacional de Singapur.

Basado en PyTorch, Colossal-AI puede reducir los costos de desarrollo y aplicación del entrenamiento/ajuste fino/razonamiento de modelos grandes de IA, y reducir los requisitos de GPU a través del paralelismo multidimensional eficiente y la memoria heterogénea.

La solución Colossal-AI mencionada anteriormente se aplicó en una empresa Fortune 500. Tiene un excelente rendimiento en el grupo de kilocalorías, y solo lleva unas pocas semanas completar el entrenamiento previo de un modelo privado a gran escala con cientos de miles de millones de parámetros. El InternLM lanzado recientemente, como Shanghai AI Lab y Shangtang, también se basa en Colossal-AI para lograr un preentrenamiento eficiente en Kcal.

Desde su código abierto, Colossal-AI ocupó el primer lugar en el mundo en la Hot List de GitHub muchas veces y obtuvo más de 30 000 GitHub Stars. También ha sido seleccionado con éxito como el tutorial oficial de las principales conferencias internacionales de IA y HPC, como SC, AAAI, PPoPP, CVPR e ISC. Cientos de empresas han participado en la construcción del ecosistema Colossal-AI.

Luchen Technology, que está detrás de esto, recibió recientemente cientos de millones de yuanes en financiamiento de la Serie A y completó rápidamente tres rondas de financiamiento dentro de los 18 meses posteriores a su establecimiento.

Dirección de código abierto:

https://github.com/hpcaitech/ColossalAI

Link de referencia:

https://www.hpc-ai.tech/blog/preentrenamiento-modelo-grande

Supongo que te gusta

Origin blog.csdn.net/weixin_48827824/article/details/131807088
Recomendado
Clasificación