>_Reeboot
Gemma 4 31B : le modèle multimodal de Google avec 256K de contexte et mode thinking
IA

Gemma 4 31B : le modèle multimodal de Google avec 256K de contexte et mode thinking

Gemma 4 31B est un modèle multimodal dense de 30,7 milliards de paramètres signé Google, supportant texte, images et vidéo avec une fenêtre de contexte de 256K tokens, un mode thinking natif, le funct

Qu'est-ce que Gemma 4 31B ?

Gemma 4 31B (variante instruction-tuned : gemma-4-31B-it) est le dernier modèle multimodal open weights de Google, avec 30,7 milliards de paramètres. Il traite du texte, des images et de la vidéo, supporte une fenêtre de contexte de 256K tokens et est publié sous licence Apache 2.0.

Par rapport à la génération Gemma 3, Gemma 4 apporte une fenêtre de contexte nettement plus longue (de 128K à 256K), un mode thinking natif, l'entrée vidéo et des améliorations significatives sur les benchmarks de raisonnement, de code et de vision.


Architecture

Décisions architecturales clés :

  • Attention hybride — alterne entre attention locale à fenêtre glissante (1024 tokens) et attention globale complète, équilibrant efficacité et cohérence longue portée.
  • Proportional RoPE — encodage de position adapté aux très longs contextes, permettant au modèle de maintenir sa cohérence sur 256K tokens.
  • Encodeur visuel — ~550M paramètres, supportant des ratios d'aspect variables et des budgets de tokens configurables (70 à 1120 tokens par image), utile aussi bien pour le captioning rapide que pour l'OCR dense.
  • Architecture dense — 30,7B paramètres, pas un modèle Mixture of Experts, ce qui simplifie le déploiement et les besoins en mémoire.

Total : 33B paramètres avec les embeddings.


Modalités et capacités

Modalité Support
Texte entrée / sortie Oui
Images Ratio variable, jusqu'à 1120 tokens/image
Vidéo Jusqu'à 60 secondes à 1 fps
Audio Non (disponible sur les variantes E2B/E4B uniquement)
Capacité Détails
Mode thinking Raisonnement étape par étape via enable_thinking=True
Function calling Utilisation native d'outils structurés
Multilingue 140+ langues
Analyse de documents/PDF OCR, reconnaissance de l'écriture manuscrite
Prompts système Support natif du rôle system
Fenêtre de contexte 256K tokens

Résultats des benchmarks

Benchmark Score
MMLU Pro 85,2 %
AIME 2026 89,2 %
LiveCodeBench v6 80,0 %
Codeforces ELO 2150
GPQA Diamond 84,3 %
MMMU Pro (Vision) 76,9 %
MATH-Vision 85,6 %
Contexte long (128K) 66,4 %

AIME 2026 à 89,2 % et Codeforces ELO à 2150 sont particulièrement remarquables pour un modèle open weights à cette taille.


Utilisation

Installation des dépendances :

pip install -U transformers torch accelerate

Génération de texte basique :

from transformers import AutoProcessor, AutoModelForCausalLM

MODEL_ID = "google/gemma-4-31B-it"

processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
    MODEL_ID,
    dtype="auto",
    device_map="auto"
)

messages = [
    {"role": "system", "content": "Tu es un assistant utile."},
    {"role": "user", "content": "Explique la différence entre RAG et fine-tuning."},
]

text = processor.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False
)
inputs = processor(text=text, return_tensors="pt").to(model.device)
input_len = inputs["input_ids"].shape[-1]

outputs = model.generate(**inputs, max_new_tokens=1024)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
processor.parse_response(response)

Avec le mode thinking activé :

text = processor.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=True  # Raisonnement étape par étape avant la réponse
)

Compréhension d'images :

from transformers import AutoProcessor, AutoModelForMultimodalLM

processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
    MODEL_ID,
    dtype="auto",
    device_map="auto"
)

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://example.com/graphique.png"},
            {"type": "text", "text": "Quelle tendance ce graphique montre-t-il ?"}
        ]
    }
]

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    add_generation_prompt=True,
).to(model.device)
input_len = inputs["input_ids"].shape[-1]

outputs = model.generate(**inputs, max_new_tokens=512)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
processor.parse_response(response)

Paramètres d'échantillonnage recommandés :

temperature = 1.0
top_p = 0.95
top_k = 64

Budgets de tokens image

L'encodeur visuel supporte des budgets de tokens configurables par image, permettant d'ajuster la qualité à la vitesse :

Budget Usage recommandé
70–140 tokens Classification rapide, captioning général
280 tokens Compréhension d'image standard
560 tokens Scènes denses, petit texte
1120 tokens OCR, analyse de documents, détails fins

Pour la vidéo, des budgets plus faibles (70–280) sont recommandés en raison du nombre d'images.


Déploiement

26 variantes quantifiées sont disponibles sur le Hub pour llama.cpp, LM Studio, Jan et Ollama.

Installation pour le support vidéo :

pip install -U transformers torch torchvision torchcodec librosa accelerate

Limites

  • Précision factuelle — peut produire des informations incorrectes ou obsolètes ; connaissance arrêtée en janvier 2025
  • Pas d'audio — l'audio n'est disponible que sur les variantes E2B/E4B
  • Dégradation sur contexte long — le score de contexte long chute à 128K+ tokens (66,4 %) ; les très longs documents peuvent présenter des problèmes de cohérence
  • Nuances linguistiques — le langage figuré, le sarcasme et les références culturelles peuvent être traités de façon inégale

Conclusion

Gemma 4 31B représente une avancée significative pour les modèles multimodaux open weights. La combinaison d'une fenêtre de contexte de 256K, d'un mode thinking, du function calling natif et de forts benchmarks en code et raisonnement — sous Apache 2.0 — en fait l'un des modèles ouverts les plus capables disponibles à cette taille.

Le système de résolution d'image variable est un ajout pratique : on peut ajuster les budgets de tokens selon la tâche, en gardant l'inférence rapide pour le captioning simple et en passant à haute fidélité pour l'OCR ou l'analyse de documents.

Modèle : google/gemma-4-31B-it