Les grands modèles de langage (LLM) simplifiés, EasyLM est une solution unique pour la pré-formation, le réglage fin, l'évaluation et la diffusion des LLM dans JAX/Flax. EasyLM peut étendre la formation LLM à des centaines d'accélérateurs TPU/GPU en tirant parti de la fonctionnalité pjit de JAX.
S'appuyant sur les transformateurs et les ensembles de données de Hugginface, ce dépôt fournit une base de code facile à utiliser et à personnaliser pour former de grands modèles de langage sans la complexité de nombreux autres frameworks.
EasyLM est construit avec JAX/Flax. En tirant parti de l'utilitaire pjit de JAX, EasyLM est capable de former des modèles volumineux qui ne tiennent pas sur un seul accélérateur en partageant les poids du modèle et les données de formation sur plusieurs accélérateurs. Actuellement, EasyLM prend en charge plusieurs formations TPU/GPU sur un seul hôte ainsi que des formations multi-hôtes sur les pods Google Cloud TPU.
Actuellement, les modèles suivants sont pris en charge :
Nous gérons une communauté Discord non officielle (non affiliée à Google) pour des discussions liées à la formation des LLM en JAX. Suivez ce lien pour rejoindre le serveur Discord. Nous disposons de canaux dédiés à plusieurs frameworks LLM basés sur JAX, notamment EasyLM, JaxSeq, Alpa et Levanter.
OpenLLaMA est notre reproduction sous licence permissive de LLaMA qui peut être utilisée à des fins commerciales. Consultez la page principale du projet ici. L'OpenLLaMA peut remplacer les poids LLaMA dans EasyLM. Veuillez vous référer à la documentation LLaMA pour plus de détails.
Koala est notre nouveau chatbot affiné au-dessus de LLaMA. Si vous êtes intéressé par notre chatbot Koala, vous pouvez consulter l'article de blog et la documentation pour l'exécuter localement.
La méthode d'installation diffère entre les hôtes GPU et les hôtes Cloud TPU. La première étape consiste à extraire du GitHub.
git clone https://github.com/young-geng/EasyLM.git
cd EasyLM
export PYTHONPATH= " ${PWD} : $PYTHONPATH "
L'environnement GPU peut être installé via Anaconda.
conda env create -f scripts/gpu_environment.yml
conda activate EasyLM
La VM hôte TPU est livrée avec Python et PIP préinstallés. Exécutez simplement le script suivant pour configurer l'hôte TPU.
./scripts/tpu_vm_setup.sh
Les documentations EasyLM se trouvent dans le répertoire docs.
Si vous avez trouvé EasyLM utile dans votre recherche ou vos applications, veuillez citer en utilisant le BibTeX suivant :
@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}
}