Sélectionner une page

Dans mes précédents posts, j’ai beaucoup parlé de l’IA générale, notamment à travers des tutoriels basés sur Langchain, des agents IA, etc. Cependant, j’ai omis un sujet crucial qui est au cœur de tout ce remue-ménage autour de l’IA générale, à savoir les différents types de familles de LLM. Vous avez sûrement entendu parler de Mistral, GPT, Llama, phi, Anthropic, etc. et comme moi, vous vous demandez peut-être en quoi ces modèles diffèrent et quand utiliser quel modèle.

Dans ce post, nous allons explorer :

  • Ce qu’est un LLM : quelques caractéristiques importantes d’un LLM
  • Pourquoi avons-nous besoin de tant de LLMs
  • Quelques familles importantes de LLMs telles que les GPTs, Llama, et d’autres

Mais avant de nous lancer, faisons un pas en arrière pour comprendre…

 

Qu’est-ce qu’un LLM ?

Un LLM, ou Large Language Model (Grand modèle de langage en français), est plus qu’une simple boîte noire. C’est un type de modèle d’apprentissage automatique qui utilise des réseaux de neurones pour prédire le prochain mot (ou token, selon le terme que vous préférez utiliser) en se basant sur une série de mots déjà prédits et une phrase d’introduction. Comment fait-il pour comprendre le contexte de la phrase donnée ? Il utilise ce qu’on appelle l’attention multi-têtes, un mécanisme qui lui permet de distinguer les mots clés des autres mots dans la phrase, en se concentrant sur les éléments les plus importants.

À tout moment, le LLM lui-même ne connaît pas la sortie finale car les prédictions sont faites un jeton à la fois. Ces modèles peuvent répondre à une variété de problèmes et ne sont pas limités à un problème spécifique (comme la classification) grâce aux capacités de Zero-Shot, c’est-à-dire générer des résultats pour un problème que le modèle n’a jamais vu. Les LLMs sont généralement assez volumineux (quelques Go) et sont entraînés sur d’énormes jeux de données. Chaque modèle LLM suit l’architecture des Transformers expliquée dans « Attention is all you need » ou une sous-partie de celle-ci (comme le GPT qui est juste la partie décodeur du Transformer). Donc, si vous connaissez les Transformers, vous connaissez plus ou moins l’architecture de chaque LLM.

Les LLMs peuvent être considérés comme des ‘généralistes’, qui sont assez bons pour toute tâche mais pas exceptionnels. Une telle version d’un LLM est appelée LLM ‘pré-entraîné’, qui est formé sur un énorme corpus général. Pour faire d’un LLM un ‘spécialiste’ pour des tâches spécifiques, vous devez le ‘peaufiner’, c’est-à-dire entraîner un modèle pré-entraîné sur vos données spécifiques.

La plupart des LLMs existent en différentes tailles, comme petit, grand, xl, xxl, etc. Ces tailles concernent les paramètres de poids présents avec le moins de paramètres en petit à un maximum de paramètres en XXL. Pourquoi la taille varie-t-elle si l’architecture reste la même ? Cela peut aussi être dû à :

  • Une taille d’entrée accrue, entraînant un changement dans la dimension de la matrice de poids et une augmentation des paramètres de poids.
  • Une taille de matrice d’attention accrue (c’est-à-dire une dimension d’incorporation accrue par jeton)
  • Plus de blocs d’attention augmentés ou de petites modifications dans l’architecture

Vous avez peut-être aussi entendu parler de Llama-70B ou Llama-7B. Qu’est-ce que ce nombre dans le nom signifie ? Il indique le nombre de paramètres dans ce modèle. 70B signifie 70 milliards de paramètres. Certaines familles de LLMs ne suivent pas la terminologie petit, grand, ou XL mais mentionnent la taille des paramètres dans le nom lui-même. Des informations exactes sur les données d’entraînement ou l’architecture ne sont généralement pas divulguées pour chaque LLM. Par conséquent, nous pourrions avoir quelques vides en détaillant certaines familles de LLMs. Charger des LLMs en mémoire est généralement un défi en raison de leur taille énorme. Comme les LLMs sont des modèles génératifs, il y a toujours un élément de hasard dans la sortie finale. Ainsi, pour la même entrée, il est très peu probable que vous obteniez la même sortie.

Un de mes collègues m’a posé une question très intéressante…

 

Pourquoi avons-nous besoin de tant de LLMs ?

Pour répondre à cela, je ferai une référence à la machine Learning elle-même, c’est-à-dire à la classification. Vous êtes-vous déjà demandé pourquoi nous avons tant de modèles de classification ? C’est parce que :

Pour différents types de jeux de données, différents modèles peuvent être utiles et aucun modèle ne donnera de bons résultats pour tous les types de problèmes. Il en va de même pour les LLMs. Différents LLMs ont une expertise dans différents domaines. Certains peuvent être excellents pour les tâches de codage tandis que d’autres pour le TALN.

Cette différence d’expertise est due à a) Les jeux de données utilisés pour l’entraînement de ces LLMs 2) la taille du corpus 3) de petites modifications dans le processus d’entraînement

Vous pourriez ne pas toujours pouvoir utiliser le LLM le plus performant en raison de sa taille, de son coût, de lacunes en matière de sécurité, ou pour d’autres raisons. Dans de tels cas, vous devez avoir des alternatives. Ainsi, en fonction de votre cas d’utilisation, vous devez choisir le meilleur modèle.

Parfois, vous souhaitez accomplir une tâche facile qui peut être réalisée par un modèle plus petit plutôt que d’opter pour les gros calibres. Alors pourquoi gaspiller des ressources ?

Pour toutes ces raisons, nous devons avoir plusieurs modèles.

Maintenant que nous connaissons les LLMs à leur base, nous parlerons des différentes familles populaires de LLMs et de leurs membres significatifs. Bien qu’il existe de nombreuses variantes de chaque LLM de tailles différentes, nous considérerons la taille du modèle le plus significatif…

GPT (GPT3.5, GPT3.5 Turbo & GPT4)

Voici d’où tout a commencé. ChatGPT est basé sur l’une des variantes de cette famille, GPT3.5. Parlons rapidement de ses caractéristiques principales :

  • Architecture : Les GPTs sont basés sur la partie décodeur d’un Transformateur, d’où leurs capacités génératives.
  • Paramètres : GPT 3.5 = 175 milliards, GPT4 = 1760 milliards.
  • GPT3.5 Turbo est une version améliorée et plus optimisée de GPT3.5 avec seulement environ 20 milliards de paramètres spécifiques pour les tâches de TALN.
  • Parmi tous ces modèles, seul le GPT4 est multimodal, c’est-à-dire qu’il peut gérer différents formats d’entrée comme les images, l’audio, etc.

Llama (Llama & Llama-2)

Ce modèle représente Meta dans le monde de l’IA générative.

  • Architecture : Contrairement aux GPTs, Llama est basé sur l’architecture complète du Transformateur.
  • Paramètres : Llama : 65 milliards, Llama-2 : 70 milliards
  • Une caractéristique clé de cette famille est l’accent mis sur la sécurité et la sécurité, et elle présente un taux de violation inférieur par rapport aux autres modèles.
  • En termes de performance, Llama-2, le meilleur membre, est au même niveau que GPT3.5 mais pas mieux que GPT4.

Mistral (Mistral, Mixtral)

Mistral AI est une startup qui a fait parler d’elle avec son premier modèle, Mistral-7B, qui a battu certains grands noms du marché en termes de performance, et ce avec seulement 7 milliards de paramètres.

  • Architecture : Similaire à GPT, ces modèles sont basés sur la partie décodeur du Transformateur
  • Paramètres : Mistral : 7 milliards, Mixtral : 84 milliards.
  • Mixtral est désigné comme un modèle Mixture of Experts (MoE). De plus, bien qu’il dispose de 84 milliards de paramètres lors du chargement, il nécessite une puissance de calcul similaire à celle d’un modèle de 14 milliards de paramètres.

Qu’est-ce qu’une Mixture of Experts (MoE) ?

Une Mixture of Experts est une architecture de modèle d’apprentissage machine qui combine les capacités de plusieurs modèles « experts » pour améliorer la performance globale. L’idée de base est de diviser l’espace d’entrée en régions et d’assigner différents experts pour gérer chaque région. Chaque expert se spécialise dans un sous-ensemble de l’espace d’entrée et est responsable de faire des prédictions dans cette région. Un réseau de portes est utilisé pour déterminer quel expert est activé pour une entrée particulière.

Flan (Flan-T5, Flan-Alpaca)

Les modèles Flan sont un peu différents des autres familles de modèles que nous avons discutées car ils sont des LLMs affinés par instruction.

Qu’est-ce que l’Instruction Fine-Tuning ?

Dans l’Instruction Fine-Tuning, vous devez fournir une ‘instruction’ à côté de l’entrée et de la sortie lors de la formation du modèle. Ainsi, un exemple de formation classique pour un LLM pourrait ressembler à ceci :

  • Entrée : ‘Écrire une histoire sur les animaux et les humains’
  • Sortie : ‘……..’

L’instruction Fine-Tuning ressemblera à ceci :

  • Instruire : ‘écrire une histoire sur le sujet donné’

  • Entrée : ‘animaux et humains’

  • Sortie : ‘……..’

  • Instruire : ‘Extraire des entités de ce texte’

  • Entrée : ‘Il est un garçon’

  • Sortie : ‘…….’

Alors que Flan-T5 est une version affinée du modèle T5 de Google, Flan-Alpaca est une version affinée de Llama.

  • Architecture : Architectures de Transformateurs
  • Paramètres : Flan-T5-XXL → 11 milliards, Flan-Alpaca → 11 milliards

phi (phi-1, phi-1.5, phi-2)

phi de Microsoft est plus axé sur la livraison de bons résultats tout en gardant la taille du modèle relativement petite donc plus adaptée à la production.

  • Architecture : Ils suivent également les modèles de transformateurs à la base
  • Paramètres : phi-1 & phi-1.5 → 1.3 milliard, phi-2 → 2.7 milliards
  • On dit que phi-2 a battu des modèles qui sont presque 10 fois plus grands (comme Llama-13B) et même ChatGPT pour certaines tâches.

Cette liste de LLMs est presque inépuisable. Bien que je n’aie pas pu couvrir certains modèles importants que l’on devrait connaître en plus de ceux mentionnés, comme Claude (résultats similaires à GPT3.5 avec environ 130 milliards de paramètres), Cohere, PaLM & T5 (de Google), Falcon, etc. Explorez-les également !

 

Conclusion

Les modèles de langage à grande échelle (LLMs) représentent une avancée significative dans le domaine de l’intelligence artificielle, offrant des capacités impressionnantes de génération de texte et de compréhension du langage naturel. La diversité des familles de LLMs, comme GPT, Llama, Mistral, Flan, et phi, illustre la richesse de l’écosystème IA et la variété des approches possibles pour résoudre des problèmes complexes de traitement du langage.

Chaque famille de LLMs a été conçue avec des caractéristiques uniques, optimisées pour différents types de tâches ou pour fonctionner dans des conditions spécifiques de performance et d’efficacité. Cette diversité est cruciale car elle permet aux utilisateurs de choisir le modèle le plus adapté à leurs besoins spécifiques, que ce soit en termes de coût, de taille, de spécificité de la tâche ou de considérations éthiques et de sécurité.

En fin de compte, comprendre les capacités et les limites de chaque famille de LLMs est essentiel pour les praticiens de l’IA, les développeurs, et les chercheurs désireux de tirer le meilleur parti de ces technologies avancées. À mesure que le domaine continue d’évoluer, nous pouvons nous attendre à voir de nouvelles innovations et améliorations, rendant les LLMs encore plus efficaces et accessibles pour une gamme encore plus large d’applications.

Les LLMs ne sont pas simplement des outils puissants pour l’automatisation; ils sont également des catalyseurs pour une compréhension plus profonde des langues humaines et des interactions, ouvrant la voie à des avancées futures qui pourraient transformer de nombreux autres domaines au-delà du traitement du langage.