Les concepts : le réglage précis des modèles de langage pour les flux de travail avec l’IA et l’apprentissage automatique
Dans cet article, vous allez découvrir le réglage précis des modèles de langage, notamment certaines méthodes courantes et comment l’application des résultats de ce réglage améliore les performances de vos flux de travail avec l’IA et l’apprentissage automatique sur Azure Kubernetes Service (AKS).
Modèles de langage préentraînés
Les modèles de langage préentraînés (PLM) offrent un moyen accessible de bien démarrer avec l’inférence de l’IA et sont largement utilisés dans le traitement du langage naturel (NLP). Les PML 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. Ces modèles se composent généralement de milliards de paramètres, ou poids, qui sont appris pendant le processus de préentraînement.
Les PLM peuvent apprendre des représentations linguistiques universelles qui capturent les propriétés statistiques du langage naturel, telles que la probabilité de mots ou de séquences de mots apparaissant dans un contexte donné. Ces représentations peuvent être transférées à des tâches en aval, telles que la classification de texte, la reconnaissance d’entités nommées et la réponse aux questions, en réglant le modèle sur des jeux de données spécifiques à la tâche.
Avantages et inconvénients
Le tableau suivant répertorie certains avantages et inconvénients de l’utilisation des PLM dans vos flux de travail avec l’IA et l’apprentissage automatique :
Avantages | Inconvénients |
---|---|
• Commencez rapidement avec le déploiement dans votre cycle de vie d’apprentissage automatique. • Évitez les coûts de calcul élevés associés à l’entraînement des modèles. • Réduit la nécessité de stocker des jeux de données volumineux et étiquetés. |
• Peut fournir des réponses généralisées ou obsolètes basées sur des sources de données de préentraînement. • Peut ne pas convenir à toutes les tâches ou domaines. • Les performances peuvent varier en fonction du contexte d’inférence. |
Méthodes de réglage précis
Réglage précis efficace des paramètres
Le réglage précis efficace des paramètres (PEFT) est une méthode permettant d’affiner les PLM sur des jeux de données relativement petits avec des ressources de calcul limitées. Le PEFT utilise une combinaison de techniques, comme les méthodes additives et sélectives, pour mettre à jour les poids, afin d’améliorer les performances du modèle sur des tâches spécifiques. PEFT nécessite des ressources de calcul minimales et des quantités flexibles de données, ce qui le rend adapté aux environnements à faibles ressources. Cette méthode conserve la plupart des poids du modèle préentraîné d’origine et met à jour les poids restants pour s’adapter aux données étiquetées spécifiques au contexte.
Adaptation de faible rang
L’adaptation de faible rang (LoRA) est une méthode PEFT couramment utilisée pour personnaliser les grands modèles de langage pour de nouvelles tâches. Cette méthode suit les modifications apportées aux poids du modèle et stocke efficacement des matrices de poids plus petites qui représentent uniquement les paramètres entraînables du modèle, réduisant ainsi l’utilisation de la mémoire et la puissance de calcul nécessaire au réglage précis. LoRA crée des résultats de réglage précis, appelés couches d’adaptateur, qui peuvent être temporairement stockés et intégrés dans l’architecture du modèle pour de nouvelles tâches d’inférence.
L’adaptation quantifiée de faible rang (QLoRA) est une extension de LoRA qui réduit davantage l’utilisation de la mémoire en introduisant la quantification dans les couches d’adaptateur. Pour plus d’informations, veuillez consulter Accessibilité accrue des LLM grâce à bitsandbites, la quantification en 4 bits et QLoRA.
Expérimentation avec le réglage précis des modèles de langage 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 du gestionnaire de chaîne d’outils IA tire parti de KAITO pour simplifier l’intégration, économiser sur les coûts d’infrastructure et réduire le délai d’inférence pour les modèles open source sur un cluster AKS. Le module complémentaire approvisionne automatiquement les nœuds GPU de taille appropriée et configure le serveur d’inférence associé en tant que serveur de point de terminaison sur votre modèle choisi.
Avec la version 0.3.0 ou ultérieure de KAITO, vous pouvez ajuster efficacement les modèles sous licence MIT et Apache 2.0 pris en charge avec les fonctionnalités suivantes :
- Stockez vos données de réentraînement sous forme d’image conteneur dans un registre de conteneurs privé.
- Hébergez la nouvelle image de couche d’adaptateur dans un registre de conteneurs privé.
- Récupérez efficacement l’image pour l’inférence avec des couches d’adaptateur dans de nouveaux scénarios.
Pour obtenir des conseils sur la prise en main du réglage précis avec KAITO, veuillez consulter la documentation de l’API de l’espace de travail de réglage de Kaito. Pour en savoir plus sur le déploiement de modèles de langage avec KAITO dans vos clusters AKS, veuillez consulter le référentiel GitHub du modèle KAITO.
Important
Les logiciels open source sont mentionnés dans la documentation et les exemples AKS. Le logiciel que vous déployez est exclu 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 personnes en charge des projets respectives pour développer un plan.
Par exemple, le référentiel GitHub Ray décrit plusieurs plateformes dont le temps de réponse, l’objectif et le niveau de support varient.
Microsoft assume la responsabilité de la création des packages open source que nous déployons sur AKS. Cette responsabilité comprend la maîtrise totale des processus de création, d’analyse, de signature, de validation et de correction, ainsi que le contrôle des binaires contenus dans les images conteneurs. 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