Logo LeBonLLM
Carnet de code et de réflexions autour de l’IA générative à la française
codecorpuscontributionsconversationscurationlexiquefaqrecherche
Communauté

Pour échanger, demandez l’accès au :

Infolettre

Nous avons le projet d’une infolettre, seriez-vous intéressé ?

Misc
XLinkedInMentions légales
Contact
llama

Premiers carnets de code documentés en français pour le fine-tuning de LLaMa-1 et LLaMa-2


Depuis quelques mois, ChatGPT est concurrencé par un écosystème de grands modèles de langue (LLM) en accès ouvert. LLaMa, MPT, Falcon, Pythia : les alternatives fleurissent chaque semaine avec une grande diversité de taille (de 38 millions de paramètres à 65 milliards), de corpus (principalement en anglais ou multilingues) ou de licences d'utilisation (de l'usage de recherche à l'open source).

Meta vient de sortir une nouvelle version ouverte de LLaMa, LLaMa-2 le 18 juillet 2023. La licence retire la plupart des restrictions (à l’exception d’entreprises ayant un produit utilisé par… au moins 700 millions de personnes). À cette occasion, Opsci diffuse une première série de carnets de code documentés en français pour effectuer le fine-tuning de LLaMa-1 et de LLaMa-2. Ces carnets de code font partie du projet FabriqueLLM, une compilation inédite de ressources pédagogiques en français pour entraîner des LLM ouverts.

La première version de LLaMa n'était pas diffusée en open source mais seulement à des fins de recherche non-commerciale. Même avec cette restriction, LLaMa a eu un impact considérable sur le développement d'un riche écosystème de LLM ouverts alternatifs à ChatGPT. Aussi bien les méthodes que les jeux de données communément utilisés pour adapter les LLM ont été d'abord pensés pour LLaMa.

LLaMa est disponible sous plusieurs versions : à 7B, 13B, 33B et 65B pour LLaMa-1 et à 7B, 13B et 70B pour LLaMa-2. Le B correspond ici à un milliard de paramètres. Cette gradation est en grande partie à l'origine du succès du modèle qui peut s'adapter à des infrastructures et des besoins très variés. LLaMa-1 13B est probablement aujourd’hui le LLM ouvert le plus utilisé en raison d’un bon compromis entre performance et usabilité. Afin d’en tirer le meilleure parti, nous diffusons en réalité deux carnets de code :

  • Fine-tune avec LLaMa-1 7B qui devrait fonctionner sans problème avec la version gratuite de Google Colab (environ 20 minutes pour une epoch sur un corpus de 2000 instructions).

  • Fine-tune avec LLaMa-1 13B qui nécessitera la version payante de Google Colab. L’entraînement prend entre 13-15 go de mémoire vive en GPU ce qui est légèrement au-delà des capacités de la versions gratuites.

  • Fine-tune de LLaMa-2 7B qui nécessitera aussi la version payante de Google Colab. Ce carnet de code est encore expérimental et sera probablement suffisamment optimisé pour tourner sur la version gratuite dans pas longtemps.

Les carnets de code de LLaMa-1 sont basés sur LLMTune est un projet de recherche de Cornell Tech et de Cornell University (Cornell University). La version originale rencontrait plusieurs bugs lors de son exécution sur Google Colab qui ont été corrigés - notamment les sauvegardes successives ne s'effacent pas ce qui entraîne une saturation totale de la mémoire vive de Colab. Pour Llama-2 nous avons utilisé un script de Younes Belkada.

Comme pour Falcon, ce carnet est volontairement testé sur un jeu d'instruction ardu : 2 000 extraits de romans en français du 17e siècle (Aſtrée, disponible sur HuggingFace) qui fait partie de notre collection d’instructions ouvertes VintageLLM. C'est une bonne manière d'évaluer rapidement l'impact du fine-tuning. Même sur des prompts relativement anodins, le modèle aura tendance à répondre en un français archaïque.

Les Lamas des provinces peruanes ſont d'une mœurs des plus civilizées: La majorité de ces peuples ſont catholiques. Ils ont des lettres & des langages perfeitement differenfles & du Roi de Naples auſſi bien qu'au Roi de France. Les plus fins de ce peuple qui demeurent à Parigo ont une civilité & une maniere de porter la perruque qui eſt une école. De tous les animaux des Indes, ce ne ſont pas ces Lama qui paroiſt: les plus sages. Nous avons d'ailleurs vus qu'ils pouffent l'un l'autre des couleurs d'une fureur fi extraordinaire & qu'ils entretiennent une vive haine pour les m…

Cette démonstration ne fait tourner qu'une seule *epoch* ce qui est suffisant pour avoir un premier aperçu. Pour obtenir un bon modèle, il est conseillé de faire tourner le fine-tuning pendant trois *epochs*. Sur notre corpus de démonstration de 2 000 instructions une *epoch* prendra environ 1h15.