Home
Login

Offizielle Hugging Face Gemma Modell-Schnellstart-Tutorial-Bibliothek, die verschiedene praktische Skripte und Notebooks für Inferenz, Feinabstimmung usw. bereitstellt.

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

Detaillierte Vorstellung des Hugging Face Gemma Recipes Projekts

Projektübersicht

huggingface-gemma-recipes ist ein von Hugging Face offiziell gepflegtes Open-Source-Projekt, das darauf abzielt, Benutzern minimierte Beispielcode und Tutorials im Zusammenhang mit der Google Gemma Modellfamilie bereitzustellen. Das Kernziel des Projekts ist es, Entwicklern einen schnellen Einstieg in die Inferenz, das Fine-Tuning und verschiedene praktische Anwendungsszenarien von Gemma-Modellen zu ermöglichen.

Projektmerkmale

🚀 Schneller Einstieg

  • Bereitstellung von einfachsten Codebeispielen zur Senkung der Lernhürde
  • Unterstützung der Verarbeitung von Eingaben verschiedener Modalitäten (Text, Bild, Audio)
  • Integration der neuesten Funktionen der Transformers-Bibliothek

🎯 Multimodale Unterstützung

Das Projekt unterstützt die multimodalen Fähigkeiten der Gemma 3 Modellfamilie:

  • Reine Textverarbeitung: Traditionelle Textgenerierung und Frage-Antwort
  • Bildverständnis: Bildbeschreibung, visuelles Frage-Antwort
  • Audioverarbeitung: Spracherkennung, Audioanalyse
  • Multimodale Interaktion: Gemischte Eingabe von Text, Bild und Audio

Kernfunktionen

1. Modellinferenz

Das Projekt bietet eine einheitliche Modellinferenz-Schnittstelle, die das schnelle Laden und Verwenden von Gemma-Modellen unterstützt:

from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

model_id = "google/gemma-3n-e4b-it"  # Oder 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. Anwendungsbeispiele

Reine Textverarbeitung

# Text-Frage-Antwort
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "What is the capital of France?"}
        ]
    }
]
model_generation(model, messages)

Audioverarbeitung

# Spracherkennung
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)

Bildverständnis

# Bildbeschreibung
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. Modell-Feinabstimmung

Das Projekt bietet verschiedene Feinabstimmungsschemata und -skripte:

Feinabstimmungsressourcen

  • [Fine tuning Gemma 3n on T4]: Spezielles Tutorial zur Feinabstimmung auf der T4 GPU
  • [Fine tuning Gemma 3n on images]: Feinabstimmungsskript für Bildverständnisaufgaben
  • [Fine tuning Gemma 3n on audio]: Feinabstimmungsskript für Audioverarbeitungsaufgaben
  • [Fine tuning Gemma 3n on images using TRL]: Bildfeinabstimmungsschema basierend auf der TRL-Bibliothek

Konfiguration der Feinabstimmungsumgebung

# Abhängigkeiten installieren
$ pip install -U -q -r requirements.txt

Installation und Verwendung

Systemanforderungen

  • Python 3.8+
  • PyTorch 2.0+
  • CUDA-fähige GPU (empfohlen)

Schnelle Installation

# Kernabhängigkeiten installieren
$ pip install -U -q transformers timm

# Vollständige Abhängigkeiten installieren (für Feinabstimmung)
$ pip install -U -q -r requirements.txt

Grundlegender Arbeitsablauf

  1. Klonen des Projekt-Repositorys
  2. Installation der Abhängigkeitspakete
  3. Auswahl des geeigneten Gemma-Modells
  4. Auswahl des Inferenz- oder Feinabstimmungsskripts je nach Bedarf
  5. Ausführung des entsprechenden Codes

Projektstruktur

huggingface-gemma-recipes/
├── notebooks/                 # Jupyter Notebook Tutorials
│   └── fine_tune_gemma3n_on_t4.ipynb
├── scripts/                   # Feinabstimmungsskripte
│   ├── ft_gemma3n_image_vt.py
│   ├── ft_gemma3n_audio_vt.py
│   └── ft_gemma3n_image_trl.py
├── requirements.txt           # Abhängigkeitsliste
└── README.md                 # Projektbeschreibung

Technische Vorteile

1. Benutzerfreundlichkeit

  • Minimierte Codebeispiele, schneller Einstieg
  • Einheitliches Schnittstellendesign, Reduzierung der Lernkosten
  • Vollständige Dokumentation und Beispiele

2. Flexibilität

  • Unterstützung der Verarbeitung von Eingaben verschiedener Modalitäten
  • Bereitstellung verschiedener Feinabstimmungsstrategien
  • Kompatibilität mit verschiedenen Hardwarekonfigurationen

3. Praktikabilität

  • Basierend auf der offiziellen Transformers-Bibliothek
  • Integration der neuesten Modelloptimierungstechniken
  • Bereitstellung von Codequalität auf Produktionsniveau

Anwendungsbereiche

Forschung und Entwicklung

  • Multimodale KI-Forschung
  • Modellleistungsbewertung
  • Erkundung neuer Anwendungsszenarien

Kommerzielle Anwendungen

  • Intelligente Kundendienstsysteme
  • Tools zur Inhaltserstellung
  • Multimedia-Analyseplattformen

Aus- und Weiterbildung

  • KI-Kursunterricht
  • Modellfeinabstimmung in der Praxis
  • Technischer Konzeptnachweis

Community und Support

Das Projekt wird als offiziell von Hugging Face gepflegtes Open-Source-Projekt mit folgenden Vorteilen angeboten:

  • Aktiver Community-Support
  • Regelmäßige Aktualisierungen und Wartung
  • Synchronisierung mit den neuesten Modellversionen
  • Umfangreiche Dokumentation und Beispiele

Zusammenfassung

huggingface-gemma-recipes ist ein qualitativ hochwertiges Open-Source-Projekt, das eine vollständige Lösung für die Verwendung von Gemma-Modellen bietet. Sowohl Anfänger als auch erfahrene Entwickler finden hier geeignete Ressourcen und Anleitungen. Die multimodale Unterstützung und die flexiblen Feinabstimmungsschemata des Projekts machen es zu einem wichtigen Werkzeug im aktuellen Bereich der KI-Entwicklung.

Star History Chart