Concepts – Modèles de langage petits et volumineux
Dans cet article, vous allez découvrir les modèles de langage petits et volumineux, notamment quand les utiliser et comment les utiliser avec vos flux de travail IA et Machine Learning sur Azure Kubernetes Service (AKS).
En quoi consistent les modèles de langage ?
Les modèles de langage sont des modèles Machine Learning puissants utilisés pour les tâches de traitement du langage naturel, telles que la génération de texte et l’analyse des sentiments. Ces modèles représentent le langage naturel en fonction de la probabilité de mots ou de séquences de mots qui apparaissent dans un contexte donné.
Les modèles de langage conventionnels ont été utilisés dans des paramètres supervisés à des fins de recherche où les modèles sont entraînés sur des jeux de données de texte bien étiquetés pour des tâches spécifiques. Les modèles de langage préentraînés offrent un moyen accessible de commencer à utiliser l’IA et sont devenus plus largement utilisés ces dernières années. Ces modèles sont entraînés sur des corpus de texte à grande échelle à partir d’Internet à l’aide de réseaux neuronaux profonds et peuvent être affinés sur des jeux de données plus petits pour des tâches spécifiques.
La taille d’un modèle de langage est déterminée par son nombre de paramètres ou de pondérations, qui déterminent la façon dont le modèle traite les données d’entrée et génère la sortie. Les paramètres sont appris pendant le processus d’apprentissage en ajustant les pondérations au sein des couches du modèle pour réduire la différence entre les prédictions du modèle et les données réelles. Plus un modèle a de paramètres, plus il est complexe et expressif, mais aussi plus il est coûteux en calcul pour son apprentissage et son utilisation.
En général, les petits modèles de langage ont moins de 10 milliards de paramètres, les modèles de langage volumineux ont plus de 10 milliards de paramètres. Par exemple, la nouvelle famille de modèles Microsoft Phi-3 a trois versions avec différentes tailles : mini (3,8 milliards de paramètres), petite (7 milliards de paramètres) et moyenne (14 milliards de paramètres).
Quand utiliser de petits modèles de langage
Avantages
Les petits modèles de langage sont un bon choix si vous souhaitez des modèles qui sont :
- Plus rapides et plus économiques pour l’apprentissage et l’exécution : ils nécessitent moins de données et de puissance de calcul.
- Faciles à déployer et à gérer : ils présentent des empreintes de stockage et de mémoire plus petites.
- Moins sujets au surajustement, c’est-à-dire lorsqu’un modèle apprend le bruit ou des modèles spécifiques des données d’apprentissage et ne parvient pas à généraliser de nouvelles données.
- Interprétables et explicables : ils ont moins de paramètres et de composants à comprendre et analyser.
Cas d’utilisation
Les modèles de langage de petite taille conviennent aux cas d’usage qui nécessitent :
- Des données ou ressources limitées, et vous avez besoin d’une solution rapide et simple.
- Des tâches bien définies ou étroites, et vous n’avez pas besoin d’une grande créativité dans la sortie.
- Des tâches de haute précision et de rappel faible, et vous valorisez la précision et la qualité plutôt que la couverture et la quantité.
- Des tâches sensibles ou réglementées, et vous devez garantir la transparence et la responsabilité du modèle.
Le tableau suivant répertorie certains petits modèles de langage populaires et hautes performances :
Famille de modèles | Tailles de modèle (nombre de paramètres) | Licence logicielle |
---|---|---|
Microsoft Phi-3 | Phi-3-mini (3,8 milliards), Phi-3-small (7 milliards) | Licence MIT |
Microsoft Phi-2 | Phi-2 (2,7 milliards) | Licence MIT |
Falcon | Falcon-7B (7 milliards) | Licence Apache 2.0 |
Quand utiliser des modèles de langage volumineux
Avantages
Les modèles de langage volumineux sont un bon choix si vous souhaitez des modèles qui sont :
- Puissants et expressifs : ils peuvent capturer des modèles et des relations plus complexes dans les données.
- Généraux et adaptables : ils peuvent gérer un plus large éventail de tâches et transférer des connaissances entre les domaines.
- Robustes et cohérents : ils peuvent gérer les entrées bruyantes ou incomplètes et éviter les erreurs et les biais courants.
Cas d’utilisation
Les modèles de langage volumineux conviennent aux cas d’usage qui nécessitent :
- Des données et des ressources abondantes, et vous avez le budget pour créer et gérer une solution complexe.
- Des tâches de faible précision et de rappel élevé, et vous valorisez la couverture et la quantité plutôt que la précision et la qualité.
- Des tâches difficiles ou exploratoires, et vous souhaitez tirer parti de la capacité du modèle à apprendre et à s’adapter.
Le tableau suivant répertorie certains modèles de langage volumineux populaires et hautes performances :
Famille de modèles | Tailles de modèle (nombre de paramètres) | Licence logicielle |
---|---|---|
Microsoft Phi-3 | Phi-3-medium (14 milliards) | Licence MIT |
Falcon | Falcon-40B (40 milliards) | Licence Apache 2.0 |
Tester des modèles de langage petits et volumineux sur AKS
Kubernetes AI Toolchain Operator (KAITO) est un opérateur open source qui automatise les déploiements de modèles de langage petits et volumineux dans des clusters Kubernetes. Le module complémentaire KAITO pour AKS simplifie l’intégration et réduit le délai d’inférence pour les modèles open source sur vos clusters AKS. Le module complémentaire approvisionne automatiquement les nœuds GPU de taille appropriée et configure le serveur d’interférence associé en tant que serveur de point de terminaison sur votre modèle choisi.
Pour plus d’informations, consultez Déployer un modèle IA sur AKS avec l’opérateur de chaîne d’outils IA. Pour commencer à utiliser une gamme de modèles de langage petits et volumineux pris en charge pour vos flux de travail d’inférence, consultez le référentiel GitHub du modèle KAITO.
Important
Les logiciels open source sont mentionnés dans la documentation et les exemples AKS. Les logiciels que vous déployez sont exclus des contrats de niveau de service AKS, de la garantie limitée et du support Azure. Quand vous utilisez une technologie open source avec AKS, consultez les options de support disponibles auprès des communautés et responsables de projet respectifs pour élaborer un plan.
Par exemple, le dépôt GitHub Ray décrit plusieurs plateformes qui varient en fonction du temps de réponse, de la finalité et du niveau de support.
Microsoft assume la responsabilité de la génération des packages open source que nous déployons sur AKS. Cette responsabilité comprend la maîtrise complète des processus de génération, d’analyse, de signature et de validation ainsi que l’application de correctifs logiciels et le contrôle des fichiers binaires présents dans les images conteneur. Pour plus d’informations, consultez Gestion des vulnérabilités pour AKS et Couverture du support AKS.
Étapes suivantes
Pour en savoir plus sur les charges de travail d’IA en conteneur et de Machine Learning sur AKS, consultez les articles suivants :
Azure Kubernetes Service