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.
Das Projekt unterstützt die multimodalen Fähigkeiten der Gemma 3 Modellfamilie:
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])
# Text-Frage-Antwort
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "What is the capital of France?"}
]
}
]
model_generation(model, messages)
# 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)
# 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)
Das Projekt bietet verschiedene Feinabstimmungsschemata und -skripte:
# Abhängigkeiten installieren
$ pip install -U -q -r requirements.txt
# Kernabhängigkeiten installieren
$ pip install -U -q transformers timm
# Vollständige Abhängigkeiten installieren (für Feinabstimmung)
$ pip install -U -q -r requirements.txt
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
Das Projekt wird als offiziell von Hugging Face gepflegtes Open-Source-Projekt mit folgenden Vorteilen angeboten:
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.