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 pour l'exécution
- Sélectionner une variante Gemma
- Exécuter des requêtes de génération et d'inférence
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.
- LM Studio: application de bureau qui vous permet de télécharger des modèles Gemma et de discuter avec eux dans une interface conviviale. Aucun codage n'est requis.
- llama.cpp : port C++ Open Source populaire de Llama (et ) qui s'exécute incroyablement rapidement sur les processeurs et Apple Silicon.
- LiteRT-LM : offre une interface de ligne de commande
(CLI) pour exécuter des modèles Gemma optimisés
.litertlmsur ordinateur de bureau (Windows, Linux, macOS), alimentés par LiteRT (anciennement TFLite). MLX: framework conçu spécifiquement pour le machine learning sur Apple Silicon, idéal pour les utilisateurs de Mac qui souhaitent bénéficier de performances intégrées.
Ollama : outil permettant d'exécuter des LLM ouverts localement, souvent utilisé pour alimenter d'autres applications.
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.
- Transformers Hugging Face : norme du secteur pour un accès rapide aux modèles et aux pipelines.
- Unsloth : bibliothèque optimisée pour l'affinage des LLM. Elle vous permet d'entraîner des modèles Gemma deux à cinq fois plus rapidement avec beaucoup moins de mémoire, ce qui permet d'affiner les GPU grand public (par exemple, les niveaux sans frais de Google Colab).
- Keras / JAX: bibliothèques de base pour la recherche sur le deep learning et l'implémentation d'architectures personnalisées.
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).
- LiteRT-LM : framework entièrement Open Source pour le développement de LLM sur l'appareil qui offre des performances maximales et un contrôle précis, avec une prise en charge directe de l'accélération du processeur, du GPU et du NPU sur Android et iOS.
- API d'inférence LLM MediaPipe: moyen le plus simple d'intégrer Gemma dans des applications multiplateformes. Elle offre une API de haut niveau qui fonctionne sur Android, iOS et le Web.
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 :