**Show HN:** Apple Silicon向けGemma 4マルチモーダルファインチューナー

2026/04/08 4:37

**Show HN:** Apple Silicon向けGemma 4マルチモーダルファインチューナー

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Gemma-tuner-multimodal は、Mac に優しいツールキットであり、ユーザーが Google の Gemma 言語モデルをテキスト、画像+テキスト(キャプション/VQA)、および音声+テキストでファインチューニングできるようにします。すべて Apple Silicon 上で直接実行され、NVIDIA GPU は不要です。arm64 Python と Metal Performance Shaders (MPS) バックエンドをネイティブに使用し、GPU を持つユーザー向けにはオプションの CUDA サポートも利用可能です。

ツールキットは LoRA ファインチューニングを Gemma 4 および Gemma 3n チェックポイント(例:

google/gemma-4-E2B-it
google/gemma-3n-E2B-it
)に対応しています。データはローカル CSV ファイルから取り込むか、Google Cloud Storage/BigQuery からストリーミングして、ラップトップにテラバイト級のコピーを避けることができます。トレーニング設定は階層構造の INI ファイル(
config/config.ini
)で定義され、各プロファイルはモダリティ、サブモード、トークン予算(キャプション/VQA の画像トークン予算値 70/140/280/560/1120)、およびデータセットパスを指定します。

画像のファインチューニングはキャプション(画像+指示)と VQA(画像+質問)をサポートしています。音声のファインチューニングは、Apple‑Silicon で唯一のネイティブ経路であり、医療や法務などのドメイン固有の音声→テキストタスクに最適です。

エクスポートでは LoRA アダプターを単一の Hugging Face/SafeTensors バンドルに統合し、Core ML と GGUF の推論ユーティリティが含まれます。プロジェクトはまた、テキストオーバーライド、ブラックリスト処理、および削除規則用の自動データパッチング(

data_patches/
)を提供します。プロファイルに
visualize=true
を設定すると、ローカル Flask サーバーが起動し、トレーニング進捗を可視化できるオプションのビジュアライザーを有効化できます。

CLI コマンドには

prepare
finetune
evaluate
export
blacklist
runs list
、および設定用のガイド付き
wizard
が含まれます。トラブルシューティングノートでは、非対応モデル、MPS 利用不可、OOM(メモリ不足)、遅いフォールバックなどの一般的な問題をカバーしています。ライセンスは Gemma の Hugging Face モデルカードへの同意が必要です。

Mac 上でオンプレミスのマルチモーダルトレーニングを可能にすることで、ツールキットはクラウド GPU への依存を減らし、音声–テキストモデルをカスタマイズしたい企業向けに効率的なワークフローを提供します。

本文

Gemmaをテキスト・画像・音声でファインチューニング – Mac上でローカルに収まりきらないデータも扱える

  • 🖼️ 画像+テキスト LoRA – ローカルCSVからキャプション生成&VQA
  • 🎙️ 音声+テキスト LoRA – Apple Silicon にネイティブ対応した唯一のパス
  • 📝 テキストのみ LoRA – CSV で指示/完了タスクを学習
  • ☁️ GCS / BigQuery からストリーム – SSD を埋めることなく数 TB のデータでトレーニング
  • 🍎 Apple Silicon 上で動作 – MPS 本格サポート、NVIDIA GPU 不要

ソース: https://github.com/mattmireles/gemma-tuner-multimodal(公開)


他ツールキットとの比較

機能Gemma TunerMLX‑LMUnslothaxolotl
テキストのみ CSV で Gemma をファインチューニング
画像+テキスト(キャプション/VQA CSV)で Gemma をファインチューニング⚠️ バリエーションあり⚠️ バリエーションあり⚠️ バリエーションあり
音声+テキストで Gemma をファインチューニング⚠️ CUDA み単独
Apple Silicon (MPS) 上で動作
クラウドからトレーニングデータをストリーム⚠️ 部分的
NVIDIA GPU 不要

Gemma をテキスト・画像・音声のいずれも Apple Silicon 上でファインチューニングしたい場合、これが唯一のツールキットです。


何を作れるか

  • ドメイン固有 ASR – 医療筆記、法廷証言、コールセンター録音など
  • ドメイン固有ビジョン – レシート・チャート・スクリーンショット・製造欠陥・医用画像のキャプション/VQA
  • 文書&画面理解 – UI エージェント、OCR 近接パイプライン、チャート QA 用にスクリーンショット → 構造化出力ペアを学習
  • アクセント・方言・低リソース言語適応 – 自身のラベル付き音声でベース Gemma を未代表の声・言語へ適応
  • マルチモーダルアシスタント – 画像や音声を基盤にしてテキスト推論を拡張(文字起こし、キャプション生成、Q&A パイプライン)
  • 完全ローカル・オンデバイスパイプライン – Mac 上でトレーニング&実行。データは機械外へ出ません

GCS や BigQuery にデータがある場合でも、ローカルに数 TB をコピーせずにラップトップだけで済ませられます。データローダーは必要に応じてシャードをストリームします。


対応モデル

config/config.ini
base_model
で Gemma マルチモーダルチェックポイントを指定します。デフォルトの設定ファイルには以下が含まれます(LoRA は Hub 重み上に乗せる):

モデルキーHugging Face base_model備考
gemma‑4‑e2b‑itgoogle/gemma-4-E2B-itGemma 4 instruct, 約 2B –
requirements/requirements-gemma4.txt
が必要
gemma‑4‑e4b‑itgoogle/gemma-4-E4B-itGemma 4 instruct, 約 4B – Gemma 4 スタックが必要
gemma‑4‑e2bgoogle/gemma-4-E2BGemma 4 base – Gemma 4 スタックが必要
gemma‑4‑e4bgoogle/gemma-4-E4BGemma 4 base – Gemma 4 スタックが必要
gemma‑3n‑e2b‑itgoogle/gemma-3n-E2B-itGemma 3n instruct, 約 2B – デフォルトで
pip install -e .
によってインストール
gemma‑3n‑e4b‑itgoogle/gemma-3n-E4B-itGemma 3n instruct, 約 4B

独自チェックポイントを追加したい場合は

[model:your-name]
セクションに
group = gemma
と互換性のある
base_model
を記述してください。Gemma 4 の 26B/31B など大きな重みは、現在このトレーナーがサポートする AutoModelForCausalLM の音声パスと別アーキテクチャになるため、未対応です。


アーキテクチャ概要

gemma_tuner/cli_typer.py          # 標準 CLI
gemma_tuner/core/ops.py           # prepare → scripts.prepare_data, finetune → scripts.finetune などをディスパッチ
gemma_tuner/scripts/finetune.py   # Gemma モデル用ルーター
gemma_tuner/utils/device.py       # MPS → CUDA → CPU 選択
gemma_tuner/utils/dataset_utils.py  # CSV 読み込み、パッチ適用、ブラックリスト意味論
gemma_tuner/wizard/               # Questionary + Rich UI;python -m gemma_tuner.main finetune … を起動

典型的な実行フォルダ構成:

output/
├── {id}-{profile}/
│   ├── metadata.json
│   ├── metrics.json
│   ├── checkpoint-*/
│   └── adapter_model/          # LoRA アーティファクト(該当時)

設定は階層型 INI で、デフォルト → グループ → モデル → データセット → プロファイルと順に読み込まれます。

gemma_tuner/core/config.py
が参照します。CLI をリポジトリ外から呼び出す場合は
GEMMA_TUNER_CONFIG
を設定してください。


要件

  • Python 3.10+(macOS 内蔵 Python は 3.9 → 古い)
  • macOS 12.3+(MPS 用); ARM64 ネイティブ Python を使用(Rosetta では不可)
  • RAM 小規模 Gemma 実行なら 16 GB 程度で十分。多めに取ると安定します
  • CUDA 必須なし;必要なら PyTorch の CUDA ビルドをインストール

インストール手順

  1. 仮想環境作成(最初に実行)

    python3.12 -m venv .venv
    source .venv/bin/activate
    
  2. ARM64 Python を確認

    python -c "import platform; print(platform.machine())"
    # arm64 が出力されるはず
    
  3. PyTorch インストール

    pip install torch torchaudio
    
  4. パッケージインストール

    pip install .
    
  5. Gemma 4(オプション)

    pip install -r requirements/requirements-gemma4.txt
    
  6. ウィザード実行

    ウィザードはモデル選択、データセット設定、トレーニングを対話形式で案内し、

    config/config.ini
    を自動生成します。

    事前に Hugging Face のライセンス同意と認証が必要です:

    huggingface-cli login
    

CLI チートシート

# データセット準備(プロファイル名は config.ini に記載)
gemma-macos-tuner prepare <dataset-profile>

# トレーニング
gemma-macos-tuner finetune <profile> --json-logging

# 評価
gemma-macos-tuner evaluate <profile-or-run>

# HF/SafeTensors ツリーをエクスポート(adapter_config.json があれば LoRA をマージ)
gemma-macos-tuner export <run-dir-or-profile>

# エラーからブラックリスト生成
gemma-macos-tuner blacklist <profile>

# 走行一覧表示
gemma-macos-tuner runs list

# ガイド付きセットアップ
gemma-macos-tuner wizard

テキストのみファインチューニング

ローカルに

data/datasets/<name>/
にある CSV(分割済み)で音声を使わずに学習します。プロファイル設定例:

modality = text
text_sub_mode = instruction  # または completion
prompt_column = prompt        # 指示モードの場合
text_column = response       # 完成モードの場合は `text`
max_seq_length = 2048

チェックポイントはマルチモーダル Gemma の AutoModelForCausalLM を保持し、音声トワーの重みは v1 でメモリに残ります。


画像ファインチューニング

ローカル CSV (

train.csv
/
validation.csv
) にある画像+テキストペアを学習します。サポートモード:キャプション(
image_sub_mode = caption
)と VQA(
image_sub_mode = vqa
)。

例(キャプション):

modality = image
image_sub_mode = caption
text_column = caption
image_path_column = image_path
image_token_budget = 280   # (70, 140, 280, 560, 1120 のいずれか)

例(VQA):

modality = image
image_sub_mode = vqa
prompt_column = question
text_column = answer
image_path_column = image_path
image_token_budget = 560

トークン予算を増やすと詳細度は上がりますが、MPS 上でメモリ消費・ステップ時間も増加します。


Apple Silicon での実行

  • エンドツーエンドノートは
    README/specifications/Gemma3n.md
    に記載
  • マルチモーダル Gemma 4 + MPS ガイド:
    README/guides/apple-silicon/gemma4-guide.md

典型的なワークフロー:

python -m gemma_tuner.scripts.gemma_preflight
python -m gemma_tuner.scripts.gemma_profiler --model google/gemma-3n-E2B-it
gemma-macos-tuner wizard

bf16
がサポートされている場合は推奨。デバッグ時のみ
PYTORCH_ENABLE_MPS_FALLBACK=1
を有効にしてください。


データ:CSV、GCS、BigQuery

ローカルに GCS 音声をコピーせずに済ませたいときは:

gemma-macos-tuner prepare <profile> --no-download

BigQuery からのインポートには

pip install .[gcp]
と Application Default Credentials(
gcloud auth application-default login
または
GOOGLE_APPLICATION_CREDENTIALS
)が必要です。ウィザードで
_prepared.csv
を作成し、
config/config.ini
にデータセットセクションを追加できます。

パッチディレクトリ構造:

data_patches/{source}/
├── override_text_perfect/
├── do_not_blacklist/
└── delete/

オプションのトレーニングビジュアライザー

visualize=true
をプロファイルに設定し、表示された URL(デフォルト 127.0.0.1:8080)を開くとトレーニング進行状況が確認できます。Flask が未インストールの場合は警告のみでトレーニングは継続します。


トラブルシューティング

症候推奨対処
ファインチューニング時に「Unsupported model」
gemma
を含むモデル ID / パスを使用
MPS が利用できないmacOS 12.3+、arm64 Python、最新 PyTorch を確認
OOM / スワップ激増バッチサイズを小さく、勾配チェックポイント化、
PYTORCH_MPS_HIGH_WATERMARK_RATIO
を下げる
Fallback 環境が遅いデバッグ後は
PYTORCH_ENABLE_MPS_FALLBACK
を無効に
設定ファイルが見つからない
GEMMA_TUNER_CONFIG
を設定、またはリポジトリ内で実行(
config/config.ini
が存在)
401 / ガテッドモデル / 重みダウンロード不可Hugging Face のライセンス同意を済ませ、
huggingface-cli login
または
HF_TOKEN
を設定

コントリビューション

詳細は

docs/CONTRIBUTING.md
を参照。
cli_typer.py
gemma_tuner/core/
内の共通ヘルパー拡張を優先してください。


謝辞

Google の Gemma チーム、Hugging Face Transformers & PEFT、PyTorch MPS メンテナ、および Activity Monitor が赤くなるまで問題報告してくださったすべての方へ感謝します。

ライセンス

MIT ライセンスで公開。

同じ日のほかのニュース

一覧に戻る →

2026/04/08 3:09

**プロジェクト・グラスウィング:AI時代における重要ソフトウェアの保護**

## Japanese Translation: Project Glasswingは、AWS、Microsoft、Google、Cisco、Apple、Broadcom、JPMorgan Chase、NVIDIA、Palo Alto Networks、およびLinux Foundationを含む主要なクラウド・ソフトウェア・金融企業を結集し、Anthropicの未公開Claude Mythos Preview AIを用いて高重大性のソフトウェア脆弱性を発見・修正することを目的としています。Mythos PreviewはすでにOpenBSD、FFmpeg、およびLinuxカーネルで重要なバグを検出し、その後メンテナがパッチを適用しました。Anthropicはパートナー向けに最大1億ドルの使用クレジットと、オープンソースセキュリティグループへの追加400万ドルの寄付を提供しており、40社以上の組織もモデルアクセスを受け取ります。参加者は90日以内に調査結果を公開し、ベストプラクティスを共有し、脆弱性開示、自動パッチング、安全な開発ライフサイクル、およびサプライチェーンセキュリティに関する推奨事項を策定する予定です。このイニシアチブは米国政府担当者と協力してツールの攻撃および防御機能を評価し、最終的には独立した組織が業界・公共部門全体で継続的な大規模サイバーセキュリティ作業を調整する可能性があります。研究プレビュー後、AnthropicはMythos PreviewをClaude API、Amazon Bedrock、Google Vertex AI、およびMicrosoft Foundry経由で参加者に対し1百万トークンあたり25ドル/125ドルで提供する予定です。

2026/04/08 0:03

「月のフライバイ」

## Japanese Translation: オリオン宇宙船は、NASA のアーテミス II ミッションに乗組みされ、2026年4月6日に月を周回しながら一連の写真を撮影しました。クルー(パイロット・ビクター・グローバー、指揮官リード・ウィスメン、ミッションスペシャリストジェレミー・ハーネスとクリスティーナ・コック(さらにカナダ宇宙機関のアストロノート・ハーネス))はオリオンの窓から、EDT 18:41に地球沈没、ET 19:22に地球昇起、および月面の詳細な映像を記録しました。1枚の画像ではオリオンの前景から月と地球の両方が同時に写っており、別のクローズアップは周回の終盤(約3:41)に撮影されました。ハーネスは観測期間中に窓2にカメラシャードを装着し、いくつかのショットでは日食時に太陽が月面を背光し、左端で太陽が昇り、ほぼ1時間続いたシーケンスの終わりまで撮影されました。午後2:19には画像の左半分が月表面で満たされました。オリオン自体は複数の写真で日光を浴び、その輪郭が宇宙空間に浮かぶ姿が際立っています。 この改訂された要約は、将来の設計への影響について推測的な結論を避けつつ、すべての主要ポイントを網羅しています。

2026/04/08 4:44

S3ファイル

## Japanese Translation: Andy Warfield のチームは **S3 Files** を構築しました。これは、ユーザーが Amazon S3 バケットまたはプレフィックスを EC2、コンテナ、または Lambda 上の NFS スタイルネットワークファイルシステムとしてマウントできるシステムです。この設計では EFS がステージングに使用されます。ファイル変更はローカルで書き込まれ、その後約 60 秒ごとに自動的に S3 に *コミット* されます(起動時には手動コミット制御はありません)。複数のクライアントが同じオブジェクトを修正した場合、conflict‑resolved コピーが lost+found ディレクトリに保持されます。メタデータは遅延でハイドレーションされ、小さなファイルは即時ロードされ、大きなファイルは読み込み時にストリーミングされるため、数百万オブジェクトを持つバケットでも迅速にマウントできます。大規模な連続読み取りはローカルキャッシュをバイパスし、並列 GET を介して直接 S3 にアクセスすることで、クライアントあたり約 3 GB/s の速度を実現し、多数のクライアントにわたって拡張可能です。システムは S3 の IAM ポリシー、オブジェクトの不可変性、および命名セマンティクスを保持しつつ、完全な NFS スタイルファイル操作(パーミッション、原子リネーム、ディレクトリトラバーサル)を公開します。ただし、S3 にはネイティブなリネームがないため、リネーム操作は高コストであり、有効な POSIX ファイル名にマッピングできないキーはマウントから除外されます。 Warfield の以前の **S3 Tables** と **S3 Vectors** に関する研究は、構造化データ・ベクトル・ファイルを S3 で一等のプリミティブとして扱うというより広範な戦略を示しています。UBC でのゲノム研究では、大規模データセットをローカルファイルシステムとオブジェクトストア間で移動する際の苦労が明らかになり、この統一アクセスレイヤーへの動機付けとなりました。ベータ版からの早期フィードバックは、パフォーマンス制限(例:5,000 万オブジェクトを超えるマウントに対する警告)、コミットウィンドウ、および問題キーの処理方法を形作っています。目標は Amazon のデータレイクポートフォリオを拡張し、開発者が配管よりもドメインロジックに集中できるようにすることであり、エンタープライズ向けにはデータサイエンス、機械学習、メディア処理などで、コストの高いマイグレーションや新しいツールを必要とせずにローカルとオブジェクトストアへのアクセスを統一することで恩恵をもたらします。

**Show HN:** Apple Silicon向けGemma 4マルチモーダルファインチューナー | そっか~ニュース