Home
Login

Hugging Face公式のGemmaモデルのクイックスタートチュートリアルライブラリ。推論、ファインチューニングなど、さまざまな実用的なスクリプトとノートブックを提供します。

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

Hugging Face Gemma Recipes プロジェクト詳細紹介

プロジェクト概要

huggingface-gemma-recipes は、Hugging Face が公式にメンテナンスしているオープンソースプロジェクトであり、Google Gemma シリーズモデルに関連する最小限のサンプルコードとチュートリアルをユーザーに提供することを目的としています。このプロジェクトの主な目標は、開発者が Gemma モデルの推論、微調整、およびさまざまな実際のアプリケーションシナリオを迅速に開始できるようにすることです。

プロジェクトの特徴

🚀 迅速な入門

  • 最も簡素化されたコード例を提供し、学習の敷居を下げます。
  • 複数のモダリティの入力処理をサポートします(テキスト、画像、音声)。
  • 最新の Transformers ライブラリ機能を統合しています。

🎯 マルチモーダルサポート

このプロジェクトは、Gemma 3 シリーズモデルのマルチモーダル機能をサポートしています。

  • 純粋なテキスト処理: 従来のテキスト生成と質疑応答
  • 画像理解: 画像の説明、視覚的な質疑応答
  • 音声処理: 音声テキスト変換、音声分析
  • マルチモーダルインタラクション: テキスト、画像、音声の混合入力

コア機能

1. モデル推論

このプロジェクトは、統一されたモデル推論インターフェースを提供し、Gemma モデルの迅速なロードと使用をサポートします。

from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

model_id = "google/gemma-3n-e4b-it"  # または 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. 使用例

純粋なテキスト処理
# テキスト質疑応答
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "What is the capital of France?"}
        ]
    }
]
model_generation(model, messages)
音声処理
# 音声テキスト変換
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)
画像理解
# 画像の説明
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 Gemma 3n on T4]: T4 GPU 専用の微調整チュートリアル
  • [Fine tuning Gemma 3n on images]: 画像理解タスクの微調整スクリプト
  • [Fine tuning Gemma 3n on audio]: 音声処理タスクの微調整スクリプト
  • [Fine tuning Gemma 3n on images using TRL]: TRL ライブラリに基づく画像微調整ソリューション
微調整環境設定
# 依存関係のインストール
$ pip install -U -q -r requirements.txt

インストールと使用

システム要件

  • Python 3.8+
  • PyTorch 2.0+
  • CUDA をサポートする GPU (推奨)

迅速なインストール

# コア依存関係のインストール
$ pip install -U -q transformers timm

# 完全な依存関係のインストール (微調整用)
$ pip install -U -q -r requirements.txt

基本的な使用フロー

  1. プロジェクトリポジトリをクローンします。
  2. 依存関係パッケージをインストールします。
  3. 適切な Gemma モデルを選択します。
  4. 要件に応じて、推論または微調整スクリプトを選択します。
  5. 対応するコードを実行します。

プロジェクト構造

huggingface-gemma-recipes/
├── notebooks/                 # Jupyter ノートブックチュートリアル
│   └── fine_tune_gemma3n_on_t4.ipynb
├── scripts/                   # 微調整スクリプト
│   ├── ft_gemma3n_image_vt.py
│   ├── ft_gemma3n_audio_vt.py
│   └── ft_gemma3n_image_trl.py
├── requirements.txt           # 依存関係リスト
└── README.md                 # プロジェクトの説明

技術的優位性

1. 使いやすさ

  • 最小限のコード例、迅速な開始
  • 統一されたインターフェース設計、学習コストの削減
  • 完全なドキュメントと例

2. 柔軟性

  • 複数のモダリティの入力処理をサポート
  • さまざまな微調整戦略を提供
  • さまざまなハードウェア構成と互換性があります

3. 実用性

  • 公式の Transformers ライブラリに基づく
  • 最新のモデル最適化技術を統合
  • 生産レベルのコード品質を提供

適用可能なシナリオ

研究開発

  • マルチモーダル AI 研究
  • モデル性能評価
  • 新しいアプリケーションシナリオの探索

ビジネスアプリケーション

  • インテリジェントなカスタマーサービスシステム
  • コンテンツ作成ツール
  • マルチメディア分析プラットフォーム

教育訓練

  • AI コースの教育
  • モデル微調整の実践
  • 技術コンセプトの検証

コミュニティとサポート

このプロジェクトは、Hugging Face が公式にメンテナンスしているオープンソースプロジェクトとして、次の利点があります。

  • アクティブなコミュニティサポート
  • 定期的な更新とメンテナンス
  • 最新のモデルバージョンとの同期
  • 豊富なドキュメントと例

まとめ

huggingface-gemma-recipes は、Gemma モデルの使用に完全なソリューションを提供する高品質のオープンソースプロジェクトです。初心者でも経験豊富な開発者でも、適切なリソースとガイダンスを見つけることができます。プロジェクトのマルチモーダルサポートと柔軟な微調整ソリューションにより、現在の AI 開発分野における重要なツールの 1 つとなっています。

Star History Chart