10月4日、opensourceprojects.devが「Fine-tune Gemma models on text, images, and audio with LoRA」と題した記事を公開した。この記事では、Apple Silicon Mac上でLoRAを使いGemmaモデルをテキスト・画像・音声でファインチューニングできるOSSツール「Gemma Multimodal Fine-Tuner」について詳しく紹介されている。
フルファインチューニングなしで、手元のMacからGemmaを鍛える
フルファインチューニングはメモリを大量に消費する。GPUサーバーを持たない個人開発者にとって、大規模モデルを自前データに適応させるのはハードルが高かった。
そこで使えるのがLoRA(Low-Rank Adaptation)だ。モデル全体のパラメータを更新するのではなく、少数の追加パラメータだけを学習することでメモリと計算量を大幅に抑えられる手法である。Hugging Faceが提供するPEFTライブラリ(Parameter-Efficient Fine-Tuning)を通じて広く普及しており、QLoRAなどの派生手法も含めてローカル環境でのファインチューニングの標準的な選択肢となっている。
今回紹介するGemma Multimodal Fine-Tunerは、このLoRAを使ったGemmaのファインチューニングをCLIワークフローに包んだOSSプロジェクトだ。Apple Siliconを明示的なターゲットとしており、CLIエントリーポイントの名前が gemma-macos-tuner であることがその意図をストレートに示している。
3モダリティを1つのパイプラインで
このプロジェクトの特徴はテキスト・画像・音声の3モダリティを単一のツールで扱える点だ。LoRAを使ったファインチューニングツールは数多く存在するが、テキスト特化のものが多く、マルチモーダルデータに対応したものは少ない。混合モダリティのデータセットを扱う場合、複数のパイプラインを手作業でつなぎ合わせる必要があったが、このツールはその手間を省く。
Gemmaファミリーは2025年3月にリリースされたGemma 3においてマルチモーダル対応を果たしており、本ツールはその方向性に沿った実装となっている。類似の用途に使われるツールとしてはLLaMA-FactoryやAxolotlがあるが、これらはApple Siliconをプライマリターゲットとはしておらず、マルチモーダル対応の幅も異なる。
CLIとsystem-checkコマンドが地味に効く
リポジトリには2つの主要コンポーネントが含まれる。
- CLIウィザード(
gemma-macos-tuner): ファインチューニングのパラメータが多い中、対話形式で設定を進める形式を採用。設定ミスによる無駄な実行を減らせる。 system-checkコマンド: 学習を開始する前に環境を検証する。「20分走らせてから環境エラーに気づく」という典型的な失敗を未然に防げる。
実装は gemma_tuner/ パッケージに収められており、追加ツールは tools/ ディレクトリに置かれている。pyproject.toml で依存関係とエントリーポイントが管理されており、標準的なPythonパッケージングの慣習に従っている。
セットアップ手順
標準的なPython仮想環境の手順で動く。
# リポジトリをクローン
git clone https://github.com/mattmireles/gemma-tuner-multimodal
# 仮想環境のセットアップとインストール
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
cp config/config.ini.example config/config.ini
学習を開始する前に config/config.ini を確認することが強く推奨されている。GemmaモデルのダウンロードにはHugging Faceの認証とモデルライセンスへの同意が必要なため、事前に済ませておく必要がある。HuggingFaceのアクセストークンの取得方法については公式ドキュメントを参照されたい。
環境確認は以下のコマンドで実行できる。
gemma-macos-tuner system-check
gemma-macos-tuner --help
注意点:READMEは簡潔すぎる
率直に言うと、READMEの情報量は多くない。インストール方法と概要は書かれているが、実際のトレーニング例やサポートするモデルバリアントの一覧はない。実装の詳細を知りたければ gemma_tuner/ のソースを読むことになる。コードを自分で読み進められる開発者向けのツールである。
また、リポジトリにはパブリックなコードと利用ドキュメントのみが含まれており、メンテナーの研究ノートや実験記録は意図的に別管理されている。コントリビュートする際は、プライベートな開発履歴を含まないクリーンなコード変更が期待されている。
CUDAボックスを前提にしたチュートリアルに疲れた、手元のMacでマルチモーダルなファインチューニングを試したい、という開発者にとって、現時点で選択肢の一つとなりうるツールである。
詳細はFine-tune Gemma models on text, images, and audio with LoRAを参照していただきたい。