モデル / データセット
hiyouga/LlamaFactory avatar
hiyouga/LlamaFactory

LlamaFactory で 100 種超の LLM を統一微調整する:実務導入の視点から

100 以上の LLM および VLM の統合された効率的な微調整 (ACL 2024)。 **スケーラブルなリソース**: 16 ビットのフルチューニング、フリーズチューニング、LoRA、および AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 経由の 2/3/4/5/6/8 ビット QLoRA。

スター 74,791フォーク 9,161PythonApache-2.0

ひと目でわかる

これは何?
LlamaFactory は 100 種以上の LLM と VLM を対象に、フルチューニングから 8bit QLoRA までを単一の CLI と Web UI で扱える統一微調整フレームワークです。本稿ではその実装の仕組み、導入手順、制約、代替案を整理し、採用判断に必要な情報を提供します。
誰に向いている?
LlamaFactory は、多様なモデルと学習手法を一つのツールで扱いたい研究チームやプロトタイプ開発者に向いています。一方、本番運用で厳密なバージョン管理や独自のデータパイプラインを持つ組織には、Transformers と PEFT を直接使う方が安全です。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 2 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

何を解決するのか:微調整の断片化問題

ただし、この「100 種以上」という数字は、各モデルが完全に同一の品質でサポートされていることを意味しません。サポートリストには Qwen3、Llama 4、Gemma 3 などが含まれますが、モデルごとに動作確認の深度は異なると考えるべきです。導入前に、自分の使いたいモデルが README の表に載っているか、そしてそのモデルが「Day 0」サポートなのか「Day 1」なのかを確認する必要があります。

内部構造:学習手法と量子化の統合レイヤー

さらに、GaLore、BAdam、APOLLO、Adam-mini、Muon、OFT、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA といった高度なアルゴリズムも統合されています。これは単なる「LoRA が使える」というレベルではなく、メモリ効率や収束速度に関する研究レベルの選択肢を、設定ファイルの一行で試せることを意味します。データフローは、入力データをモデル固有のテンプレートに変換し、指定した学習手法で勾配を更新し、チェックポイントを保存するという流れです。README にはデータセットの前処理やテンプレートの詳細は明記されていませんが、一般的な Transformers の Trainer を拡張した構造であると推測できます。

導入手順:インストールから Web UI 起動まで

Docker イメージも提供されており、`docker pull hiyouga/llamafactory` で取得可能です。また、OpenAI スタイルの API と vLLM または SGLang ワーカーを使った推論デプロイもサポートされています。これは、微調整したモデルをすぐに API として公開したい場合に便利です。ただし、README のクイックスタートには具体的なコマンド例が省略されているため、実際の利用には公式ドキュメント(llamafactory.readthedocs.io)の参照が必須です。

制約と失敗モード:過剰な抽象化の代償

また、README には「Day-N Support」という概念があり、新モデルのサポートがリリース直後(Day 0)か翌日(Day 1)かで分かれています。これは開発速度の速さを示す一方で、モデル追加のたびにフレームワーク自体のアップデートが必要になることを意味します。v0.9.5 では Transformers v5 に対応していますが、このようなメジャーアップデートは既存の学習スクリプトやカスタムデータセットに影響を与える可能性があります。さらに、量子化方式の多様性は、特定の GPU アーキテクチャ(例:AMD や Ascend NPU)ではドキュメントが別途必要であり、NVIDIA GPU 以外での動作は保証されていません。

代替案:Transformers + PEFT との比較

もう一つの代替は、Unsloth です。Unsloth は LlamaFactory の「Practical tricks」としても統合されていますが、単体では LoRA と QLoRA に特化し、より高速な学習を謳っています。しかし、Unsloth は対応モデルが限定的で、LlamaFactory のような多モデル統合の範囲は持ちません。つまり、LlamaFactory は「広さ」を、Unsloth は「速さ」を優先する選択肢です。どちらを選ぶかは、モデル数と性能要件のどちらを重視するかで決まります。

メンテナンスとライセンスの実務的注意点

メンテナンス面では、リリースサイクルが活発で、v0.9.3 から v0.9.5 まで約 1 年で 2 回のメジャーアップデートがあります。これは新モデルへの追随が速いという利点ですが、逆にバージョンアップに伴う設定ファイルの互換性変更が発生するリスクも意味します。特に、Transformers v5 への移行は、既存のカスタムデータセットや評価スクリプトに影響する可能性が高いため、アップグレード前にリリースノートを精読する必要があります。

編集部の結論

LlamaFactory は、多様なモデルと学習手法を一つのツールで扱いたい研究チームやプロトタイプ開発者に向いています。一方、本番運用で厳密なバージョン管理や独自のデータパイプラインを持つ組織には、Transformers と PEFT を直接使う方が安全です。採用する前に、対象モデルがサポートリストに含まれるか、量子化方式が自分の GPU メモリで実用的か、v0.9.5 の Transformers v5 対応が既存コードと互換性を持つかを確認してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート