Lorsque vous souhaitez exécuter un modèle Gemma, vous devez prendre deux décisions clés : 1) quelle variante de Gemma souhaitez-vous exécuter ? 2) Quel framework d'exécution d'IA allez-vous utiliser pour l'exécuter ? Un problème clé pour prendre ces deux décisions concerne le matériel dont vous et vos utilisateurs disposent pour exécuter le modèle.
Cette présentation vous aidera à prendre ces décisions et à commencer à travailler avec 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 un large éventail d'outils de l'écosystème. Le choix de la bonne option 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 qui répond le mieux à vos besoins :
| Objectif | Framework recommandé | Appareils recommandés |
|---|---|---|
| Exécuter localement avec une UI Chat | - LM Studio - Ollama |
Les débutants ou les utilisateurs qui souhaitent bénéficier d'une expérience semblable à Gemini sur leur ordinateur portable. |
| Exécuter efficacement sur Edge | - Gemma.cpp - LiteRT-LM - llama.cpp - API MediaPipe LLM Inference - MLX |
Inférence locale hautes performances avec un minimum de ressources. |
| Compiler/Entraîner en Python | - Bibliothèque Gemma pour JAX - Hugging Face Transformers - Keras - PyTorch - Unsloth |
Chercheurs et développeurs qui créent des applications personnalisées ou affinent des modèles. |
| Déployer en production / Enterprise | - 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 les modèles Gemma, classés par environnement de déploiement.
1. Inférence sur ordinateur et locale (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 pour ordinateur qui vous permet de télécharger des modèles Gemma et de discuter avec eux dans une interface conviviale. Aucun codage n'est nécessaire.
- llama.cpp : portage C++ Open Source populaire de Llama (et Gemma) qui s'exécute incroyablement rapidement sur les processeurs et le silicon Apple.
- LiteRT-LM : offre une interface de ligne de commande (CLI) pour exécuter des modèles Gemma
.litertlmoptimisés sur ordinateur (Windows, Linux, macOS), optimisé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.
- Gemma.cpp : moteur d'inférence C++ léger et autonome, spécifiquement de Google.
- Ollama : outil permettant d'exécuter des LLM ouverts en local, souvent utilisé pour alimenter d'autres applications.
2. Développement Python (recherche et ajustement)
Frameworks standards pour les développeurs d'IA qui créent des applications, des pipelines ou des modèles d'entraînement.
- Hugging Face Transformers : la référence du secteur pour accéder rapidement aux modèles et aux pipelines.
- Unsloth : bibliothèque optimisée pour l'affinage des LLM. Il vous permet d'entraîner des modèles Gemma deux à cinq fois plus rapidement avec beaucoup moins de mémoire, ce qui permet de les affiner sur des GPU grand public (par exemple, les niveaux Google Colab sans frais).
- Keras / JAX / PyTorch : bibliothèques de base pour la recherche sur le deep learning et l'implémentation d'architectures personnalisées.
3. Déploiement mobile et Edge (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, offrant des performances maximales et un contrôle précis, avec une compatibilité directe pour l'accélération CPU, GPU et NPU sur Android et iOS.
- API MediaPipe LLM Inference : le moyen le plus simple d'intégrer Gemma dans des applications multiplates-formes. Il offre une API de haut niveau qui fonctionne sur Android, iOS et le Web.
4. Déploiement dans le 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éal pour les applications d'entreprise nécessitant des SLA et un scaling.
- Google Cloud Kubernetes Engine (GKE) : pour orchestrer vos propres clusters de diffusion.
- vLLM : moteur d'inférence et de diffusion à haut débit et économe en mémoire, souvent utilisé dans les déploiements cloud.
Assurez-vous que le format de modèle Gemma prévu pour le déploiement, tel que le format Keras intégré, Safetensors ou GGUF, est compatible avec le framework de votre choix.
Sélectionner une variante de Gemma
Les modèles Gemma sont disponibles dans plusieurs variantes et tailles, y compris les modèles Gemma de base ou Core, 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é des développeurs d'IA sur des sites tels que Kaggle et Hugging Face. Si vous ne savez pas quelle variante choisir, sélectionnez le dernier modèle core Gemma ajusté aux instructions (IT) avec le plus petit nombre de paramètres. Ce type de modèle Gemma présente de faibles exigences de calcul et peut répondre à une grande variété de requêtes 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 : Recommandez Gemma Core. Les variantes de Gemma au-delà de la version principale ont la même architecture que le modèle principal 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 Gemma de base.
- Instruction-tuned (IT), pre-trained (PT), fine-tuned (FT), mixed
(mix) : recommandation : 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 requêtes 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 pas 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 (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 inclut plusieurs variantes FT.
- Les variantes Gemma mixte sont des versions des 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. Sauf si vous avez 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 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 de haute précision (généralement des données à virgule flottante sur 32 bits), des modèles comme Gemma peuvent être modifiés pour utiliser des données de précision inférieure, comme des tailles de 16, 8 ou 4 bits. Ces modèles Gemma quantifiés peuvent toujours être performants, en fonction de la complexité des tâches, tout en utilisant beaucoup moins de ressources de calcul et de mémoire. Toutefois, les outils permettant d'ajuster les 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 avec une précision maximale, 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
Après avoir 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'accomplir des tâches. Pour savoir comment exécuter Gemma avec un framework spécifique, consultez les guides associé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 spécifiques concernant la mise en forme des requêtes. Certaines de ces exigences de mise en forme sont gérées automatiquement par le framework que vous utilisez pour exécuter les modèles Gemma. Toutefois, lorsque vous envoyez des données d'invite directement à un tokenizer, vous devez ajouter des tags spécifiques. Les exigences de taggage peuvent varier en fonction de la variante Gemma que vous utilisez. Pour en savoir plus sur la mise en forme des requêtes et les instructions système pour les variantes Gemma, consultez les guides suivants :