✨Gemma 3 - Guide d'exécution
Comment exécuter Gemma 3 efficacement avec nos GGUF sur llama.cpp, Ollama, Open WebUI et comment affiner avec Unsloth !
Google publie Gemma 3 avec un nouveau modèle 270M et les tailles précédentes 1B, 4B, 12B et 27B. Les modèles 270M et 1B sont uniquement textuels, tandis que les modèles plus grands gèrent à la fois le texte et la vision. Nous fournissons des GGUF, ainsi qu'un guide sur la façon de l'exécuter efficacement, et comment affiner et faire RL avec Gemma 3 !
NOUVEAU 14 août 2025 Mise à jour : Essayez notre affinement Notebook Gemma 3 (270M) et GGUFs à exécuter.
Voir aussi notre Guide Gemma 3n.
Tutoriel d'exécutionTutoriel de fine-tuning
Unsloth est le seul framework qui fonctionne sur des machines en float16 pour l'inférence et l'entraînement de Gemma 3. Cela signifie que les notebooks Colab avec les GPU Tesla T4 gratuits fonctionnent également !
Affinez Gemma 3 (4B) avec prise en charge de la vision en utilisant notre notebook Colab gratuit
Selon l'équipe Gemma, la configuration optimale pour l'inférence est
temperature = 1.0, top_k = 64, top_p = 0.95, min_p = 0.0
Uploads Unsloth Gemma 3 avec configurations optimales :
⚙️ Paramètres d'inférence recommandés
Selon l'équipe Gemma, les paramètres officiels recommandés pour l'inférence sont :
Température de 1.0
Top_K de 64
Min_P de 0,00 (optionnel, mais 0,01 fonctionne bien, la valeur par défaut de llama.cpp est 0,1)
Top_P de 0.95
Pénalité de répétition de 1.0. (1.0 signifie désactivé dans llama.cpp et transformers)
Modèle de chat :
<bos><start_of_turn>user\nHello!<end_of_turn>\n<start_of_turn>model\nHey there!<end_of_turn>\n<start_of_turn>user\nWhat is 1+1?<end_of_turn>\n<start_of_turn>model\nModèle de chat avec
\nretours à la ligne rendus (sauf pour le dernier)
llama.cpp et d'autres moteurs d'inférence ajoutent automatiquement un <bos> - NE PAS ajouter DEUX jetons <bos> ! Vous devez ignorer le <bos> lors de l'envoi d'invite au modèle !
✨Exécuter Gemma 3 sur votre téléphone
Pour exécuter les modèles sur votre téléphone, nous recommandons d'utiliser toute application mobile capable d'exécuter des GGUF localement sur des appareils en périphérie comme les téléphones. Après l'affinement, vous pouvez l'exporter en GGUF puis l'exécuter localement sur votre téléphone. Assurez-vous que votre téléphone dispose de suffisamment de RAM/puissance pour traiter les modèles car il peut surchauffer, nous recommandons donc d'utiliser Gemma 3 270M ou les modèles Gemma 3n pour ce cas d'utilisation. Vous pouvez essayer le projet open-source AnythingLLM's application mobile que vous pouvez télécharger sur Android ici ou ChatterUI, qui sont d'excellentes applications pour exécuter des GGUFs sur votre téléphone.
N'oubliez pas, vous pouvez changer le nom du modèle 'gemma-3-27b-it-GGUF' pour n'importe quel modèle Gemma comme 'gemma-3-270m-it-GGUF:Q8_K_XL' pour tous les tutoriels.
🦙 Tutoriel : Comment exécuter Gemma 3 dans Ollama
Installez
ollamasi vous ne l'avez pas encore fait !
Exécutez le modèle ! Notez que vous pouvez appeler
ollama servedans un autre terminal s'il échoue ! Nous incluons toutes nos corrections et paramètres suggérés (température, etc.) dansparamsdans notre upload Hugging Face ! Vous pouvez changer le nom du modèle 'gemma-3-27b-it-GGUF' pour n'importe quel modèle Gemma comme 'gemma-3-270m-it-GGUF:Q8_K_XL'.
📖 Tutoriel : Comment exécuter Gemma 3 27B dans llama.cpp
Obtenez le dernier
llama.cppsur GitHub ici. Vous pouvez suivre les instructions de compilation ci-dessous également. Changez-DGGML_CUDA=ONen-DGGML_CUDA=OFFsi vous n'avez pas de GPU ou si vous voulez simplement une inférence CPU.
Si vous voulez utiliser
llama.cppdirectement pour charger des modèles, vous pouvez faire ce qui suit : (:Q4_K_XL) est le type de quantification. Vous pouvez aussi télécharger via Hugging Face (point 3). Ceci est similaire àollama run
OU télécharger le modèle via (après avoir installé
pip install huggingface_hub hf_transfer). Vous pouvez choisir Q4_K_M, ou d'autres versions quantifiées (comme BF16 pleine précision). Plus de versions sur : https://huggingface.co/unsloth/gemma-3-27b-it-GGUF
Exécuter le test Flappy Bird d'Unsloth
éditer
--threads 32pour le nombre de threads CPU,--ctx-size 16384pour la longueur de contexte (Gemma 3 prend en charge une longueur de contexte de 128K !),--n-gpu-layers 99pour le déchargement GPU sur le nombre de couches. Essayez de l'ajuster si votre GPU manque de mémoire. Supprimez-le également si vous n'avez qu'une inférence CPU.Pour le mode conversation :
Pour le mode non conversationnel pour tester Flappy Bird :
L'entrée complète de notre https://unsloth.ai/blog/deepseekr1-dynamic blog 1.58bit est :
N'oubliez pas de retirer <bos> car Gemma 3 ajoute automatiquement un <bos> !
🦥 Affinage de Gemma 3 dans Unsloth
Unsloth est le seul framework qui fonctionne sur des machines en float16 pour l'inférence et l'entraînement de Gemma 3. Cela signifie que les notebooks Colab avec les GPU Tesla T4 gratuits fonctionnent également !
Essayez notre nouveau Notebook Gemma 3 (270M) qui rend le modèle de 270M paramètres très intelligent pour jouer aux échecs et peut prédire le prochain coup aux échecs.
Ou affinez Gemma 3n (E4B) avec Texte • Vision • Audio
Lorsqu'on essaie un affinement complet (FFT) de Gemma 3, toutes les couches passent par défaut en float32 sur des appareils float16. Unsloth attend du float16 et procède à un upcast dynamique. Pour corriger, exécutez model.to(torch.float16) après le chargement, ou utilisez un GPU avec prise en charge du bfloat16.
Corrections d'affinage Unsloth
Notre solution dans Unsloth est triple :
Conserver toutes les activations intermédiaires en format bfloat16 - elles peuvent être en float32, mais cela utilise 2x plus de VRAM ou de RAM (via le checkpointing asynchrone des gradients d'Unsloth)
Effectuer toutes les multiplications matricielles en float16 avec les tensor cores, mais en procédant manuellement à l'upcast / downcast sans l'aide de l'autocast de précision mixte de Pytorch.
Upcaster toutes les autres options qui n'ont pas besoin de multiplications matricielles (layernorms) en float32.
🤔 Analyse des corrections Gemma 3

D'abord, avant d'affiner ou d'exécuter Gemma 3, nous avons constaté que lors de l'utilisation de la précision mixte float16, les gradients et les activations deviennent infinis malheureusement. Cela se produit sur les GPU T4, la série RTX 20x et les GPU V100 où ils n'ont que des tensor cores float16.
Pour les GPU plus récents comme les RTX 30x ou supérieurs, les A100, H100, etc., ces GPU ont des tensor cores bfloat16, donc ce problème n'arrive pas ! Mais pourquoi ?
Le float16 ne peut représenter que des nombres allant jusqu'à 65504, tandis que le bfloat16 peut représenter des nombres énormes jusqu'à 10^38 ! Mais notez que les deux formats numériques n'utilisent que 16 bits ! Cela s'explique par le fait que le float16 alloue davantage de bits pour mieux représenter les décimales plus petites, tandis que le bfloat16 ne représente pas bien les fractions.
Mais pourquoi le float16 ? Utilisons simplement le float32 ! Mais malheureusement, le float32 sur GPU est très lent pour les multiplications matricielles - parfois 4 à 10x plus lent ! Nous ne pouvons donc pas faire cela.
Mis à jour
Ce contenu vous a-t-il été utile ?


