Affinage du modèle Gemma

L'ajustement d'un modèle d'intelligence artificielle (IA) générative tel que Gemma modifie le comportement du modèle. Vous affinez généralement Gemma dans le but d'améliorer ses performances sur une tâche ou un domaine spécifique, ou de mieux remplir un rôle, comme le service client. Les modèles Gemma sont publiés avec des pondérations ouvertes, ce qui signifie que vous pouvez les modifier, ce qui modifie ensuite le comportement du modèle. Pour affiner un modèle Gemma, procédez comme suit:

Choisir un framework

Les modèles Gemma sont compatibles avec divers frameworks de réglage de l'IA. Chaque framework offre divers avantages et est généralement limité à un format de modèle spécifique. Voici des guides pour régler les modèles Gemma avec différents frameworks:

Assurez-vous que le format de modèle de déploiement que vous prévoyez d'utiliser, tel que le format Keras, Safetensors ou GGUF, est accepté en sortie par le framework de votre choix.

Collecter des données

Le réglage du modèle nécessite des données. Les données de réglage se composent généralement de paires de données d'entrée avec la réponse attendue. De nombreux jeux de données publics sont disponibles en ligne pour l'entraînement sur diverses tâches ou sorties. Par exemple, si vous souhaitez entraîner un modèle Gemma pour traduire les descriptions de pièces automobiles en numéros de pièces, votre ensemble de données peut inclure les éléments suivants:

training_data = [
  {"input_text": "Part number for A4 brake caliper", "output_text": "4M0615107BS"},
  {"input_text": "Part number for Beetle fuel pump", "output_text": "6A127026H"},
  {"input_text": "Part number for Camaro cylinder head", "output_text": "12711770"},
]

Si vous souhaitez qu'un modèle Gemma effectue un ensemble spécifique de tâches ou de rôles, vous devez généralement compiler un ensemble de données illustrant plusieurs variantes de cette tâche. La quantité de données dont vous avez besoin pour régler un modèle dépend de vos objectifs, en particulier du degré de changement de comportement que vous souhaitez du modèle et de la qualité de ses performances en fonction de la tâche à accomplir et du niveau de variation des données d'entrée.

En règle générale, vous devez commencer par un petit ensemble de données pour le réglage de la tâche, ajuster les paramètres d'entraînement et ajouter des données jusqu'à ce que vous obteniez les performances de la tâche qui répondent à vos besoins. Certains de nos exemples d'applications montrent que vous pouvez influencer le comportement d'un modèle Gemma avec seulement 20 paires de requêtes et de réponses. Pour en savoir plus, consultez Créer un assistant d'IA pour les e-mails professionnels avec Gemma et Tâches dans les langues parlées avec Gemma.

Régler et tester le modèle

Une fois que vous avez mis en place un framework de réglage et des données de réglage, vous pouvez commencer le processus de réglage du modèle Gemma. Lorsque vous effectuez un réglage, vous avez le choix entre plusieurs options, ce qui a une incidence sur les ressources dont vous avez besoin pour le réaliser. Vous devez également disposer d'un plan de test pour votre modèle affiné afin d'évaluer s'il fonctionne comme vous le souhaitez après l'ajustement.

Réglage des paramètres avec optimisation

Lorsque vous affinez un modèle de pondérations ouvertes tel que Gemma, vous avez la possibilité d'ajuster tous les paramètres du modèle ou d'utiliser une technique d'ajustement efficace des paramètres moins gourmande en ressources, qui met à jour un sous-ensemble d'entre eux. Une approche de réglage complète signifie que lorsque vous appliquez vos données de réglage, vous calculez de nouveaux poids pour tous les paramètres du modèle. Cette approche est gourmande en calculs et en mémoire, car vous effectuez ces calculs pour des milliards de paramètres. L'utilisation d'approches de réglage moins gourmandes en ressources, appelées affinage efficace des paramètres (PEFT), y compris des techniques telles que l'adaptation de rang faible (LoRA), peut produire des résultats similaires avec moins de ressources de calcul. Pour savoir comment effectuer un réglage avec moins de ressources à l'aide de LoRA, consultez Affiner les modèles Gemma dans Keras à l'aide de LoRA et Affiner les modèles Gemma dans Hugging Face.

Tester des modèles ajustés

Une fois que vous avez configuré un modèle pour une tâche spécifique, vous devez tester ses performances par rapport à l'ensemble de tâches que vous souhaitez qu'il effectue. Vous devez tester votre modèle avec des tâches ou des requêtes pour lesquelles il n'a pas été spécifiquement entraîné. La manière dont vous testez votre modèle affiné dépend de la tâche que vous souhaitez qu'il effectue et de la précision avec laquelle vous gérez les entrées et les sorties du modèle. Une méthode courante pour gérer les tests de modèles génératifs consiste à utiliser des cas de réussite, d'échec et de limite:

  • Tests de réussite: requêtes que le modèle affiné doit toujours pouvoir effectuer avec succès.
  • Tests de défaillance: requêtes que le modèle affiné ne doit jamais pouvoir effectuer ou refuser explicitement d'effectuer, si nécessaire.
  • Tests de limites: requêtes que le modèle affiné doit pouvoir effectuer, si elles se situent dans une limite définie, ou un ensemble de limites, de comportement de sortie acceptable.

Lorsque vous testez les conditions de défaillance ou de limite de votre application d'IA générative, vous devez également appliquer les approches, techniques et outils de sécurité de l'IA générative, comme décrit dans le kit d'outils pour une IA générative responsable.

Déployer le modèle

Une fois le réglage terminé et les tests réussis, il est temps de déployer votre modèle. Vous pouvez généralement consulter la documentation du framework de votre choix pour savoir comment déployer un modèle optimisé.

Si vous déployez un modèle avec des pondérations ajustées LoRA, notez qu'avec cette technique, vous déployez généralement à la fois le modèle d'origine et ses pondérations avec les pondérations LoRA en tant que couche de calcul supplémentaire pour le modèle.