Exécuter la génération et les inférences de contenu Gemma

Lorsque vous souhaitez exécuter un modèle Gemma, vous devez prendre deux décisions clés : 1) quelle variante de Gemma vous souhaitez exécuter et 2) quel framework d'exécution d'IA vous allez utiliser pour l'exécuter. Un problème clé pour prendre ces deux décisions concerne le matériel dont vous et vos utilisateurs disposez pour exécuter le modèle.

Cette présentation vous aide à prendre ces décisions et à commencer à travailler avec les modèles Gemma. Pour exécuter un modèle Gemma, procédez comme suit:

Choisir un framework

Les modèles Gemma sont compatibles avec divers frameworks d'exécution d'IA générative. L'un des principaux facteurs de prise de décision lors de l'exécution d'un modèle Gemma est les ressources de calcul dont vous disposez (ou que vous aurez) pour exécuter le modèle. La plupart des frameworks d'IA compatibles nécessitent du matériel spécialisé, tel que des GPU ou des TPU, pour exécuter efficacement un modèle Gemma. Des outils tels que Google Colab peuvent fournir ces ressources de calcul spécialisées de manière limitée. Certains frameworks d'exécution d'IA, tels que Ollama et Gemma.cpp, vous permettent d'exécuter Gemma sur des processeurs plus courants utilisant des architectures ARM ou compatibles x86.

Voici des guides pour exécuter des modèles Gemma avec différents frameworks d'exécution d'IA:

Assurez-vous que le format de modèle Gemma de déploiement prévu, tel que le format natif Keras, Safetensors ou GGUF, est compatible avec le framework que vous avez choisi.

Sélectionner une variante Gemma

Les modèles Gemma sont disponibles dans plusieurs variantes et tailles, y compris les modèles Gemma de base ou fondamentaux, ainsi que des variantes de modèles plus spécialisées telles que PaliGemma et DataGemma, et de nombreuses variantes créées par la communauté de développeurs d'IA sur des sites tels que Kaggle et Hugging Face. Si vous ne savez pas par quelle variante commencer, sélectionnez le dernier modèle IT (instruction-tuned) du noyau Gemma avec le moins de paramètres. Ce type de modèle Gemma nécessite peu de ressources de calcul et peut répondre à une grande variété d'invites sans nécessiter de développement supplémentaire.

Tenez compte des facteurs suivants lorsque vous choisissez une variante Gemma:

  • Gemma (core) et d'autres familles de variantes telles que PaliGemma et CodeGemma : Nous vous recommandons Gemma (core). Les variantes Gemma en dehors de la version de base ont la même architecture que le modèle de base et sont entraînées pour être plus performantes dans des tâches spécifiques. À moins que votre application ou vos objectifs ne correspondent à la spécialisation d'une variante Gemma spécifique, il est préférable de commencer par un modèle de base Gemma.
  • Ajustement par instruction (IT), pré-entraînement (PT), ajustement fin (FT), mix: Nous vous recommandons d'utiliser IT.
    • Les variantes Gemma adaptées aux instructions sont des modèles qui ont été entraînés pour répondre à diverses instructions ou requêtes en langage humain. Ces variantes de modèle sont le meilleur point de départ, car elles peuvent répondre aux requêtes sans entraînement supplémentaire du modèle.
    • Les variantes Gemma pré-entraînées sont des modèles qui ont été entraînés pour effectuer des inférences sur le langage ou d'autres données, mais qui n'ont pas été entraînés pour suivre des instructions humaines. Ces modèles nécessitent un entraînement ou un réglage supplémentaires pour pouvoir effectuer des tâches efficacement. Ils sont destinés aux chercheurs ou aux développeurs qui souhaitent étudier ou développer les capacités du modèle et de son architecture.
    • Les variantes Gemma affinées peuvent être considérées comme des variantes IT, mais elles sont généralement entraînées pour effectuer une tâche spécifique ou pour obtenir de bons résultats sur un benchmark d'IA générative spécifique. La famille de variantes PaliGemma inclut un certain nombre de variantes FT.
    • Les variantes Gemma mixtes sont des versions de modèles PaliGemma qui ont été adaptées aux instructions avec diverses instructions et qui sont adaptées à une utilisation générale.
  • Parameters: Recommend smallest number available (Recommander le plus petit nombre disponible). En général, plus un modèle comporte de paramètres, plus il est performant. Toutefois, l'exécution de modèles plus volumineux nécessite des ressources de calcul plus importantes et plus complexes, et ralentit généralement le développement d'une application d'IA. Sauf si vous avez déjà déterminé qu'un modèle Gemma plus petit ne répond pas à vos besoins, choisissez-en un avec un petit nombre de paramètres.
  • Niveaux de quantification:nous recommandons la demi-précision (16 bits), sauf pour le réglage. La quantification est un sujet complexe qui se résume à la taille et à la précision des données, et par conséquent à la quantité de mémoire qu'un modèle d'IA générative utilise pour les calculs et la génération de réponses. Une fois qu'un modèle a été entraîné avec des données à haute précision, qui sont généralement des données à virgule flottante sur 32 bits, des modèles tels que Gemma peuvent être modifiés pour utiliser des données à précision inférieure, telles que des tailles de 16, 8 ou 4 bits. Ces modèles Gemma quantiques peuvent toujours fonctionner correctement, en fonction de la complexité des tâches, tout en utilisant beaucoup moins de ressources de calcul et de mémoire. Toutefois, les outils de réglage des modèles quantiques sont limités et peuvent ne pas être disponibles dans le framework de développement d'IA que vous avez choisi. En règle générale, vous devez affiner un modèle comme Gemma avec une précision maximale, puis quantizer le modèle obtenu.

Pour obtenir la liste des principaux modèles Gemma publiés par Google, consultez la section Premiers pas avec les modèles Gemma, liste des modèles Gemma.

Exécuter des requêtes de génération et d'inférence

Une fois que vous avez sélectionné un framework d'exécution d'IA et une variante Gemma, vous pouvez commencer à exécuter le modèle et l'inviter à générer du contenu ou à effectuer des tâches. Pour en savoir plus sur l'exécution de Gemma avec un framework spécifique, consultez les guides indiqués dans la section Choisir un framework.

Mise en forme des requêtes

Toutes les variantes Gemma adaptées aux instructions sont soumises à des exigences de formatage des requêtes spécifiques. Certaines de ces exigences de mise en forme sont gérées automatiquement par le framework que vous utilisez pour exécuter des modèles Gemma. Toutefois, lorsque vous envoyez des données d'invite directement à un tokenizer, vous devez ajouter des balises spécifiques. Les exigences de balisage peuvent changer en fonction de la variante Gemma que vous utilisez. Pour en savoir plus sur la mise en forme des requêtes de variante Gemma et les instructions système, consultez les guides suivants: