Comprendre les LLM

Le nombre de modèles de LLM ne cesse de proliférer, mais que veulent dire tous ces mots obscurs ?

Qu'est ce que mistral 7B Q6 veux dire ?

Pour cela, explorons le vocabulaire technique du domaine des LLM puis regardons en techniques comment cela fonctionne.

Définitions

Training: processus d'apprentissage du LLM, des données "d'entrainement" lui sont fournies pour qu'il comprenne et génère du langage naturel. Il ajuste ses poids et ses paramètres pour minimiser une fonction de perte spécifique.

Fine-tuning: ajustement du LLM pré-entrainé sur des données spécifiques à une tâche ou à un domaine particulier. Permet d'adapter le modèle à un domaine particulier, tout en conservant les connaissances générales acquises lors du training.

Contexte: ensemble d'informations entourant un mot, une phrase ou un passage de texte, qui donne du sens à celui-ci. Les modèles de LLM utilisent le contexte pour comprendre et générer du langage de manière plus précise.

Tokens: unités de base utilisées par les modèles de LLM pour représenter les éléments de texte, tels que les mots, les sous-mots ou les caractères. Chaque token est associé à un vecteur de représentation dans l'espace latent du modèle. Ex : "token1", " ", "ok", "!"

Inférence: processus par lequel un modèle de LLM génère des prédictions ou du langage à partir de données en entrée, après avoir été entraîné. Le temps entre la requête de l'utilisateur et la sortie produite par le LLM. L'inférence est souvent utilisée dans des applications en temps réel telles que la traduction automatique ou la génération de texte. C'est en quelque sorte le temps de réflexion du modèle

Architecture: structure interne d'un modèle de LLM, comprenant les couches de neurones, les mécanismes d'attention et d'autres composants qui déterminent son fonctionnement et sa capacité à comprendre et à générer du langage naturel.

Quantification: la quantification est utilisée pour réduire la taille des modèles en convertissant les valeurs de paramètres de haute précision en valeurs de précision inférieure, ce qui permet d'économiser de l'espace de stockage et de mémoire et d'améliorer l'efficacité des calculs. C’est l’équivalent de la compression que l’on connaît pour les fichiers classiques.

Prunning: technique d'optimisation consistant à enlever les poids les moins importants des paramètres du modèle.

Température: un paramètre permettant d'influencer la distribution des probabilités de mots. À température basse, les probabilités seront plus élevées sur les tokens proches, tandis qu'à haute température, les probabilités sont dispersées plus uniformément.

Paramètres: les paramètres d'un modèle de traitement du langage naturel sont les composants clés qui déterminent sa capacité à comprendre et à générer du langage. Un modèle avec un grand nombre de paramètres peut offrir des performances plus élevées, mais nécessitera également des ressources plus importantes. Souvent indiqué par le nombre de B du modèle (ex : Mistral 7 B).

Mixtures of Experts (MoE): Technique d'apprentissage automatique qui décompose une tâche en sous-tâches, entraîne un modèle expert sur chacune des sous-tâches, puis entraîne un modèle de triage qui apprend à quel expert faire confiance en fonction de l'entrée, et finalement combine les résultats des différents experts. Ces modèles demandent beaucoup de VRAM ou de RAM (selon si on utilise un GPU ou un CPU), mais ils disposent d'un temps d'inférence inférieur à des modèles possédant autant de paramètres. Pour en apprendre plus

Comment sont mesurées ces valeurs ?

Inférence: on évalue le temps nécessaire au modèle pour traiter une nouvelle entrée et produire une sortie.

Quantification: optimisation des performances et des coûts du modèle en réduisant la taille des paramètres. Chaque paramètre passera de 32 bits à 6 bits pour du Q8 par exemple. Ce processus améliore les performances, le matériel supporté, mais en échange, il perd en précision et est complexe à mettre en œuvre.

Point clé lors de la sélection du modèle

Benchmark des modèles

Pour évaluer les performances des modèles, il faut définir les besoins auxquels doit répondre le modèle, puis utiliser les tests spécialisés dans chaque besoin pour trouver le meilleur modèle.

De nombreux tests existent avec chacun sa spécialisation sur les compétences du modèle. Les sites ci-dessous permettent de comparer les modèles selon ces tests.

Sources:

Bon tuto expliquant comment choisir son LLM

Étude de marché auprès d'entreprises pour l'intégration de LLM

Apprendre le deeplearning de A à Z