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 Gemma exécuter et 2) quel framework d'exécution d'IA utiliser. Un problème majeur pour prendre ces deux décisions est lié au 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 à utiliser les modèles Gemma. Voici les étapes générales pour exécuter un modèle Gemma :

Choisir un framework

Les modèles Gemma sont compatibles avec une grande variété d'outils d'écosystème. Le choix du bon outil dépend du matériel dont vous disposez (GPU Cloud ou ordinateur portable local) et de votre préférence d'interface (code Python ou application de bureau).

Utilisez le tableau suivant pour identifier rapidement l'outil le mieux adapté à vos besoins :

Objectif Framework recommandé Application idéale
Exécuter localement avec une interface utilisateur de chat - LM Studio
- Ollama
Débutants ou utilisateurs qui souhaitent bénéficier d'une expérience "semblable à Gemini" sur leur ordinateur portable.
Exécuter efficacement en périphérie - LiteRT-LM
- llama.cpp
- API d'inférence LLM MediaPipe
- MLX
Inférence locale hautes performances avec un minimum de ressources.
Créer/entraîner en Python - Bibliothèque Gemma pour JAX
- Transformers Hugging Face
- Keras
- Unsloth
Chercheurs et développeurs qui créent des applications personnalisées ou affinent des modèles.
Déployer en production / entreprise - Google Cloud Kubernetes Engine (GKE)
- Google Cloud Run
- Vertex AI
- vLLM
Déploiement cloud géré et évolutif avec sécurité d'entreprise et prise en charge de MLOps.

Détails du framework

Vous trouverez ci-dessous des guides pour exécuter des modèles Gemma, classés par environnement de déploiement.

1. Inférence locale et sur ordinateur de bureau (haute efficacité)

Ces outils vous permettent d'exécuter Gemma sur du matériel grand public (ordinateurs portables, ordinateurs de bureau) en utilisant des formats optimisés (comme GGUF) ou des accélérateurs matériels spécifiques.

2. Développement Python (recherche et affinage)

Frameworks standards pour les développeurs d'IA qui créent des applications, des pipelines ou des modèles d'entraînement.

3. Déploiement mobile et en périphérie (sur l'appareil)

Frameworks conçus pour exécuter des LLM directement sur les appareils des utilisateurs (Android, iOS, Web) sans connectivité Internet, en utilisant souvent des NPU (Neural Processing Units).

4. Déploiement cloud et en production

Services gérés pour faire évoluer votre application vers des milliers d'utilisateurs ou accéder à une puissance de calcul massive.

  • Vertex AI : plate-forme d'IA entièrement gérée de Google Cloud. Idéale pour les applications d'entreprise nécessitant des SLA et une mise à l'échelle.
  • Google Cloud Kubernetes Engine (GKE) : pour orchestrer vos propres clusters de diffusion.
  • vLLM

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

Sélectionner une variante Gemma

Les modèles Gemma sont disponibles en plusieurs variantes et tailles, y compris les modèles Gemma de base ou principaux, et des variantes de modèles plus spécialisées telles que PaliGemma et DataGemma, ainsi que de nombreuses variantes créées par la communauté des 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 Gemma de base adapté aux instructions (IT) avec le plus petit nombre de paramètres. Ce type de modèle Gemma a de faibles exigences de calcul et peut répondre à une grande variété de prompts sans nécessiter de développement supplémentaire.

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

  • Gemma de base et autres familles de variantes telles que PaliGemma, CodeGemma: Recommandez Gemma (de base). Les variantes Gemma au-delà de la version de base ont la même architecture que le modèle de base et sont entraînées pour mieux exécuter 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 Gemma de base.
  • Adapté aux instructions (IT), pré-entraîné (PT), affiné (FT), mixte (mix) : Recommandez IT.
    • Les variantes Gemma adaptées aux instructions (IT) 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 prompts sans nécessiter d'entraînement supplémentaire.
    • Les variantes Gemma pré-entraînées (PT) sont des modèles qui ont été entraînés pour faire 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 affinage 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 (FT) 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 obtenir de bons résultats sur un benchmark d'IA générative spécifique. La famille de variantes PaliGemma comprend un certain nombre de variantes FT.
    • Les variantes Gemma mixtes (mix) sont des versions de modèles PaliGemma qui ont été adaptées aux instructions avec diverses instructions et qui conviennent à un usage général.
  • Paramètres : Recommandez 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. À moins que vous n'ayez déjà déterminé qu'un modèle Gemma plus petit ne peut pas répondre à vos besoins, choisissez-en un avec un petit nombre de paramètres.
  • Niveaux de quantification : Recommandez la demi-précision (16 bits), sauf pour l'affinage. 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 est entraîné avec des données de haute précision, qui sont généralement des données à virgule flottante de 32 bits, les modèles tels que Gemma peuvent être modifiés pour utiliser des données de précision inférieure, telles que des tailles de 16, 8 ou 4 bits. Ces modèles Gemma quantifiés 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 d'affinage des modèles quantifiés 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 en pleine précision, puis quantifier le modèle obtenu.

Pour obtenir la liste des principaux modèles Gemma publiés par Google, consultez la page 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 lui demander de générer du contenu ou d'effectuer des tâches. Pour en savoir plus sur l'exécution de Gemma avec un framework spécifique, consultez les guides associés dans la section Choisir un framework.

Formatage des prompts

Toutes les variantes Gemma adaptées aux instructions ont des exigences de formatage spécifiques. Certaines de ces exigences de formatage sont gérées automatiquement par le framework que vous utilisez pour exécuter les modèles Gemma, mais lorsque vous envoyez des données de prompt directement à un tokenizer, vous devez ajouter des tags spécifiques. Les exigences de tagging peuvent varier en fonction de la variante Gemma que vous utilisez. Pour en savoir plus sur le formatage des prompts et les instructions système des variantes Gemma, consultez les guides suivants :