Home
Login

Dépôt officiel Hugging Face pour un démarrage rapide avec le modèle Gemma, offrant divers scripts et notebooks pratiques pour l'inférence, le fine-tuning, etc.

MITPython 11huggingfacehuggingface-gemma-recipes Last Updated: 2025-06-26

Présentation détaillée du projet Hugging Face Gemma Recipes

Aperçu du projet

huggingface-gemma-recipes est un projet open source maintenu officiellement par Hugging Face, conçu pour fournir aux utilisateurs des exemples de code et des tutoriels minimaux liés à la famille de modèles Google Gemma. L'objectif principal de ce projet est d'aider les développeurs à démarrer rapidement avec l'inférence, le fine-tuning et divers cas d'utilisation pratiques des modèles Gemma.

Caractéristiques du projet

🚀 Démarrage rapide

  • Fournit des exemples de code simplifiés au maximum, réduisant ainsi la barrière à l'entrée
  • Prend en charge le traitement d'entrées multimodales (texte, image, audio)
  • Intègre les dernières fonctionnalités de la bibliothèque Transformers

🎯 Prise en charge multimodale

Le projet prend en charge les capacités multimodales des modèles Gemma 3 :

  • Traitement de texte pur : génération de texte et questions-réponses traditionnelles
  • Compréhension d'image : description d'image, questions-réponses visuelles
  • Traitement audio : transcription vocale, analyse audio
  • Interaction multimodale : entrées mixtes de texte, d'image et d'audio

Fonctionnalités principales

1. Inférence de modèle

Le projet fournit une interface d'inférence de modèle unifiée, permettant de charger et d'utiliser rapidement les modèles Gemma :

from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

model_id = "google/gemma-3n-e4b-it"  # ou google/gemma-3n-e2b-it
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(model_id).to(device)

def model_generation(model, messages):
    inputs = processor.apply_chat_template(
        messages,
        add_generation_prompt=True,
        tokenize=True,
        return_dict=True,
        return_tensors="pt",
    )
    input_len = inputs["input_ids"].shape[-1]
    inputs = inputs.to(model.device, dtype=model.dtype)
    
    with torch.inference_mode():
        generation = model.generate(**inputs, max_new_tokens=32, disable_compile=False)
        generation = generation[:, input_len:]
        decoded = processor.batch_decode(generation, skip_special_tokens=True)
        print(decoded[0])

2. Exemples d'utilisation

Traitement de texte pur

# Questions-réponses textuelles
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "What is the capital of France?"}
        ]
    }
]
model_generation(model, messages)

Traitement audio

# Transcription vocale
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "Transcribe the following speech segment in English:"},
            {"type": "audio", "audio": "https://huggingface.co/datasets/ariG23498/demo-data/resolve/main/speech.wav"},
        ]
    }
]
model_generation(model, messages)

Compréhension d'image

# Description d'image
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "https://huggingface.co/datasets/ariG23498/demo-data/resolve/main/airplane.jpg"},
            {"type": "text", "text": "Describe this image."}
        ]
    }
]
model_generation(model, messages)

3. Fine-tuning de modèle

Le projet propose diverses solutions et scripts de fine-tuning :

Ressources de fine-tuning

  • [Fine tuning Gemma 3n on T4]: Tutoriel de fine-tuning spécifiquement pour le GPU T4
  • [Fine tuning Gemma 3n on images]: Script de fine-tuning pour les tâches de compréhension d'image
  • [Fine tuning Gemma 3n on audio]: Script de fine-tuning pour les tâches de traitement audio
  • [Fine tuning Gemma 3n on images using TRL]: Solution de fine-tuning d'image basée sur la bibliothèque TRL

Configuration de l'environnement de fine-tuning

# Installation des dépendances
$ pip install -U -q -r requirements.txt

Installation et utilisation

Configuration système requise

  • Python 3.8+
  • PyTorch 2.0+
  • GPU compatible CUDA (recommandé)

Installation rapide

# Installation des dépendances principales
$ pip install -U -q transformers timm

# Installation des dépendances complètes (pour le fine-tuning)
$ pip install -U -q -r requirements.txt

Flux d'utilisation de base

  1. Cloner le dépôt du projet
  2. Installer les paquets de dépendances
  3. Choisir le modèle Gemma approprié
  4. Choisir le script d'inférence ou de fine-tuning en fonction des besoins
  5. Exécuter le code correspondant

Structure du projet

huggingface-gemma-recipes/
├── notebooks/                 # Tutoriels Jupyter Notebook
│   └── fine_tune_gemma3n_on_t4.ipynb
├── scripts/                   # Scripts de fine-tuning
│   ├── ft_gemma3n_image_vt.py
│   ├── ft_gemma3n_audio_vt.py
│   └── ft_gemma3n_image_trl.py
├── requirements.txt           # Liste des dépendances
└── README.md                 # Description du projet

Avantages techniques

1. Facilité d'utilisation

  • Exemples de code minimaux, pour une prise en main rapide
  • Conception d'interface unifiée, réduisant les coûts d'apprentissage
  • Documentation et exemples complets

2. Flexibilité

  • Prise en charge du traitement d'entrées multimodales
  • Offre diverses stratégies de fine-tuning
  • Compatible avec différentes configurations matérielles

3. Utilité

  • Basé sur la bibliothèque officielle Transformers
  • Intègre les dernières techniques d'optimisation de modèle
  • Fournit une qualité de code de niveau production

Scénarios d'application

Recherche et développement

  • Recherche en IA multimodale
  • Évaluation des performances du modèle
  • Exploration de nouveaux cas d'utilisation

Applications commerciales

  • Système de service client intelligent
  • Outils de création de contenu
  • Plateforme d'analyse multimédia

Éducation et formation

  • Enseignement des cours d'IA
  • Pratique du fine-tuning de modèle
  • Validation de concepts techniques

Communauté et support

Ce projet, en tant que projet open source maintenu officiellement par Hugging Face, présente les avantages suivants :

  • Support communautaire actif
  • Mises à jour et maintenance régulières
  • Synchronisation avec les dernières versions de modèles
  • Documentation et exemples riches

Conclusion

huggingface-gemma-recipes est un projet open source de haute qualité qui fournit une solution complète pour l'utilisation des modèles Gemma. Que ce soit pour les débutants ou les développeurs expérimentés, chacun peut y trouver les ressources et les conseils appropriés. La prise en charge multimodale du projet et ses solutions de fine-tuning flexibles en font l'un des outils importants dans le domaine du développement de l'IA actuel.

Star History Chart