Comment choisir son modèle de langage Open Source - Rock Robot
Capacités techniques (on peut trouver ces informations facilement):
- Taille du modèle : Le nombre de paramètres du modèle par exemple: 30B, 8B ou B signifie millards (Billion en anglais). Les modèles plus grands ont généralement une meilleure compréhension du langage et peuvent générer des réponses plus cohérentes et contextuellement appropriées. Cependant, ils nécessitent plus de mémoire (RAM) pour fonctionner. Le modèle de 30B sont bon mais il faut du matériel haut de gamme, les 8B sont un bon compromis pour les tâches pas trop exigentes.
- Mixture of experts : Les modèles mixture of expert (MOE) prennent beaucoup de RAM mais sont plus rapides car seul une partie des paramètres est utilisé à chaque passe. C'est souvent un bon compromis.
- Formats de données acceptés : on parle de multi modale, certains modèles acceptent des images, très rarement on peut leur donner de l'audio ou des videos.
- Quantification : un même modèle peut être livré avec des tailles paramètres différents, par exemple l'encodage "q4" permet de diminuer la RAM nécéssaire par 4 mais en perdant un peu de pertinence.
- Reflexion/réponse flash : c'est la capacité à réfléchir et structurer sa réponse avant de répondre, ça améliore grandement la pertinence de la réponse au détriment de la vitesse.
- Utilisation d'outils : la plupart des modèles récents sont capable d'appeler des fonctions, par exemple pour faire des recherches Internet, connaitre la date, envoyer des mails. C'est une fonctionnalité indispensable pour les agents IA
- Taille de contexte : C'est la quantité de données (souvent texte) que le modèle peut retenir (exprimé en token). Pour des agents, ils faut de modèles capables de retenir un maximum d'informations, 32K est un minimum. Je vous ferai un article dédié.
Capacités opérationneles (là il faut un peu de recherche):
- Performance : La capacité du modèle à accomplir des tâches spécifiques comme la génération de texte, la traduction, la réponse à des questions, etc. Les métriques de performance peuvent inclure la précision, la fluidité et la cohérence des réponses.
- Données d'entraînement : La qualité et la diversité des données utilisées pour entraîner le modèle. Un modèle entraîné sur un large éventail de données sera généralement plus polyvalent.
- Date de cutoff : Date à laquelle on a arrété de moisonner les données d'entrainement, le modèle ne connaitra pas d'information passé cette date.
- Licence : Les conditions d'utilisation et de distribution du modèle. Certaines licences open source permettent une utilisation libre comme Apache, tandis que d'autres peuvent imposer des restrictions par exemple sur le nombre de clients de l'entreprise (Llama).
- Facilité d'utilisation : La simplicité avec laquelle le modèle peut être intégré et utilisé dans des applications. Cela inclut la disponibilité sur des moteurs d'inférence (comme ollama).
- Coût et ressources nécessaires : Les ressources informatiques nécessaires pour exécuter le modèle, y compris la mémoire, la puissance de calcul et le stockage. Les modèles plus grands peuvent nécessiter des ressources plus importantes.
- Spécialisation : Certains modèles sont spécialisés dans des domaines spécifiques (par exemple, la médecine, le droit) et peuvent être plus performants dans ces domaines que des modèles généralistes. On peut avoir des informations en s'interessant aux benchs existant. Je ferais prochainement un article sur les bench pertinent selon votre metier, suivez-moi pour ne pas le rater
- Biais : Les modèles peuvent reproduire des stéréotypes sociaux et raciaux.
- Filtres et modération : certains modèles comme Grok sont connus pour ne pas avoir de filtres, on peut leur demander n'importe quoi.