Los modelos de lenguajes grandes (LLM) simplificados, EasyLM es una solución integral para la capacitación previa, el ajuste, la evaluación y la prestación de servicios LLM en JAX/Flax. EasyLM puede ampliar la formación LLM a cientos de aceleradores TPU/GPU aprovechando la funcionalidad pjit de JAX.
Basado en los transformadores y conjuntos de datos de Hugginface, este repositorio proporciona una base de código fácil de usar y personalizar para entrenar modelos de lenguaje grandes sin la complejidad de muchos otros marcos.
EasyLM está construido con JAX/Flax. Al aprovechar la utilidad pjit de JAX, EasyLM puede entrenar modelos grandes que no caben en un solo acelerador fragmentando los pesos del modelo y los datos de entrenamiento en múltiples aceleradores. Actualmente, EasyLM admite múltiples entrenamientos de TPU/GPU en un solo host, así como entrenamiento de múltiples hosts en Google Cloud TPU Pods.
Actualmente, se admiten los siguientes modelos:
Estamos ejecutando una comunidad de Discord no oficial (no afiliada a Google) para debates relacionados con la capacitación de LLM en JAX. Siga este enlace para unirse al servidor de Discord. Contamos con canales dedicados para varios marcos LLM basados en JAX, incluidos EasyLM, JaxSeq, Alpa y Levanter.
OpenLLaMA es nuestra reproducción con licencia autorizada de LLaMA que puede utilizarse con fines comerciales. Consulta la página principal del proyecto aquí. OpenLLaMA puede servir como reemplazo directo de los pesos LLaMA en EasyLM. Consulte la documentación de LLaMA para obtener más detalles.
Koala es nuestro nuevo chatbot optimizado sobre LLaMA. Si está interesado en nuestro chatbot Koala, puede consultar la publicación del blog y la documentación para ejecutarlo localmente.
El método de instalación difiere entre los hosts GPU y los hosts Cloud TPU. El primer paso es sacarlo de GitHub.
git clone https://github.com/young-geng/EasyLM.git
cd EasyLM
export PYTHONPATH= " ${PWD} : $PYTHONPATH "
El entorno GPU se puede instalar a través de Anaconda.
conda env create -f scripts/gpu_environment.yml
conda activate EasyLM
La máquina virtual host de TPU viene con Python y PIP preinstalados. Simplemente ejecute el siguiente script para configurar el host de TPU.
./scripts/tpu_vm_setup.sh
La documentación de EasyLM se puede encontrar en el directorio de documentos.
Si EasyLM le resultó útil en su investigación o aplicaciones, cítelo utilizando el siguiente BibTeX:
@software{geng2023easylm,
author = {Geng, Xinyang},
title = {EasyLM: A Simple And Scalable Training Framework for Large Language Models},
month = March,
year = 2023,
url = {https://github.com/young-geng/EasyLM}
}