
Felafax est un cadre pour la formation continue et le réglage fin des LLMS open source en utilisant XLA Runtime . Nous nous occupons de la configuration nécessaire de l'exécution et fournissons un ordinateur portable Jupyter pour commencer.
Notre objectif chez Felafax est de construire l'infra pour faciliter l'exécution des charges de travail AI sur le matériel non Nvidia (TPU, Trainium AWS, GPU AMD et GPU Intel).
Ajoutez votre ensemble de données, cliquez sur "Exécuter tout" et vous exécuterez sur une ressource TPU gratuite sur Google Colab!
| Felafax prend en charge | Cahiers gratuits |
|---|---|
| Lama 3.1 (1b, 3b) |
LLAMA-3.1 JAX Implémentation
LLAMA-3 / 3.1 PYTORCH XLA
Commencez avec des réglages affinés de vos modèles en utilisant la CLI Felafax en quelques étapes simples.
Commencez par installer la CLI.
pip install pipx
pipx install felafax-cliEnsuite, générez un jeton AUTH:
Enfin, authentifiez votre session CLI en utilisant votre jeton:
felafax-cli auth login --token < your_token > Premièrement, générez un fichier de configuration par défaut pour le réglage fin. Cette commande génère un fichier config.yml dans le répertoire actuel avec des valeurs d'hyperparamètre par défaut.
felafax-cli tune init-configDeuxièmement, mettez à jour le fichier de configuration avec vos hyperparamètres:
Boucons en étreinte:
Pipeline de données et paramètres de formation:
batch_size , max_seq_length à utiliser pour un ensemble de données de réglage fin.null si vous voulez que Trainig passe via un ensemble de données entier. Si NUM_STEPS est défini sur un nombre, la formation s'arrêtera après le nombre spécifié d'étapes.learning_rate et lora_rank à utiliser pour le réglage fin.eval_interval est le nombre d'étapes entre les évaluations.Exécutez la commande suivante pour voir la liste des modèles de base que vous pouvez affiner, nous prenons en charge toutes les variantes de LLAMA-3.1 à ce jour.
felafax-cli tune start --help Maintenant, vous pouvez démarrer le processus de réglage fin avec votre modèle sélectionné parmi la liste ci-dessus et le nom de l'ensemble de données à partir de HuggingFace (comme yahma/alpaca-cleaned ):
felafax-cli tune start --model < your_selected_model > --config ./config.yml --hf-dataset-id < your_hf_dataset_name >Exemple de commande pour vous démarrer:
felafax-cli tune start --model llama3-2-1b --config ./config.yml --hf-dataset-id yahma/alpaca-cleanedAprès avoir commencé le travail de réglage fin, Felafax CLI s'occupe de faire tourner les TPU, d'exécuter la formation, et il télécharge le modèle affiné dans le hub étreint.
Vous pouvez diffuser des journaux en temps réel pour surveiller les progrès de votre travail de réglage fin:
# Use `<job_name>` with the job namethat you get after starting the fine-tuning.
felafax-cli tune logs --job-id < job_name > -fUne fois le réglage fin terminé, vous pouvez répertorier tous vos modèles affinés:
felafax-cli model listVous pouvez démarrer une session de terminal interactive pour discuter avec votre modèle affiné:
# Replace `<model_id>` with model id from `model list` command you ran above.
felafax-cli model chat --model-id < model_id > La CLI est divisée en trois principaux groupes de commandement:
tune : Pour démarrer / arrêter les travaux de réglage fin.model : pour gérer et interagir avec vos modèles affinés.files : pour télécharger / afficher les fichiers de YourDataSet. Utilisez l'indicateur --help pour en savoir plus sur n'importe quel groupe de commandes:
felafax-cli tune --helpNous avons récemment affiné le modèle LLAMA3.1 405b sur des GPU 8XAMD MI300X en utilisant JAX au lieu de Pytorch. Les API avancées avancées de Jax nous ont permis d'obtenir de grandes performances. Consultez notre article de blog pour en savoir plus sur la configuration et les astuces de rupture que nous avons utilisées.
Nous avons fait du réglage LORA avec tous les poids du modèle et les paramètres LORA dans la précision BFLOAT16, et avec le rang LORA de 8 et Lora Alpha de 16:
Les graphiques d'utilisation du GPU et d'utilisation de VRAM peuvent être trouvés ci-dessous. Cependant, nous devons encore calculer l'utilisation des flops du modèle (MFU). Remarque: nous n'avons pas pu exécuter la version compilée JIT du modèle 405B en raison des contraintes d'infrastructure et de VRAM (nous devons enquêter davantage). L'ensemble de la formation a été exécuté en mode JAX EAGER, il existe donc un potentiel important d'amélioration des performances.


Si vous avez des questions, veuillez nous contacter à [email protected].