【生成AI】仕事でLLM / RAG導入するので空き時間でLoRA作ってみる2025(前編)
なぜLoRAを作ろうと思ったのか
仕事でヘルプデスクの自動返信システムを作ることになった。既存のSaaSを使う選択肢もあったんだけど、社内の機密情報を扱う関係で外部サービスには出せない。そこでLAN内にRAGを構築する方針になった。
このプロジェクトのためにMac mini M4 Proを購入することが決まった。ただ、仕様がまとまるまでまだ時間がある。
| 項目 | スペック |
|---|---|
| チップ | Apple M4 Pro |
| CPU | 12コア |
| GPU | 16コア |
| Neural Engine | 16コア |
| メモリ | 24GB(ユニファイドメモリ) |
| ストレージ | 512GB SSD |
M4 Pro最小構成。ユニファイドメモリなのでGPUメモリとして24GB全部使える(はず)。
じゃあその間、せっかくのApple SiliconマシンでLoRAの学習でも回してみるか!という流れ。
ちゃんと仕事もするよ。
今回の目標
このキャラクターを生成できるようになりたい。

自分の絵柄(ではないが)でLoRAを作って、ComfyUIで自由にポーズや構図を変えて生成できるようになるのがゴール。後編で結果を報告する予定なので、お楽しみに。
「この娘だれ?」と思った方はAboutをどうぞ。
前編の内容
この記事では「こうやる予定」という計画をまとめている。実際にMac miniが届いて検証した結果は後編で報告する予定。
フェーズ1:環境構築(共通基盤)
Macを買って最初にやるセットアップ。RAG構築にもLoRA学習にも必要な共通基盤になる。
Homebrewのインストール
ターミナルでコマンド一発。macOSでの開発環境構築の基本。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Python環境の整備
ここが一番の落とし穴。 最新のPython 3.12や3.13だと、PyTorchなどのライブラリが対応しておらず動かないことが多い。
画像生成AI界隈はPython 3.10または3.11が安定している。pyenvでバージョン管理して、仮想環境を作ることを強く推奨。
brew install pyenv
pyenv install 3.10.13
pyenv global 3.10.13
フェーズ2:画像生成AI(LoRA学習)の導入
学習にはKohya_ss GUIを使う。現在の画像生成界隈でLoRA学習のデファクトスタンダードになっているツール。
1. 学習ツールの導入(Kohya_ss)
LoRAを作るためのGUIツール。ブラウザ上で操作できる。
公式READMEにmacOS向けのインストール手順がある: bmaltais/kohya_ss
# リポジトリのクローン
git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
# セットアップ
./setup.sh
# 起動
./gui.sh
セットアップ中にAccelerate configの質問が出てくる。ここでプラットフォームにmps (Metal Performance Shaders) を選ぶのがポイント。
起動するとブラウザに学習用インターフェースが立ち上がる。
2. M4 Pro向けの設定ポイント
24GBメモリで学習を完走させるための「軽量化設定」。これが重要。
| 設定項目 | 推奨値 | 理由 |
|---|---|---|
| Optimizer | AdamW8bit | メモリ節約 |
| Mixed Precision | bf16 | M4はbf16対応なので推奨 |
| Cache Latents | オン | VRAM節約 |
| Gradient Checkpointing | オン | 必須。メモリ使用量を大幅に削減 |
3. 運用フロー
- 教師画像を用意(15〜30枚程度)
- Kohya_ssで学習開始
- Macを放置して完了を待つ
学習時間については、NVIDIA GPUと比べてMPS(Metal Performance Shaders)バックエンドは遅い傾向がある。SDXLのLoRA学習だと数時間かかる可能性もあるので、寝る前に回すのが良さそう。
フェーズ3:生成環境(ComfyUI)の導入
学習したLoRAを使って画像を生成するにはComfyUIを使う。ノードベースのUIで、柔軟なワークフローが組める。
1. ComfyUIのインストール
公式READMEに「Installing on macOS」セクションがある: comfyanonymous/ComfyUI
# リポジトリのクローン
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
# 依存パッケージのインストール
pip install -r requirements.txt
# 起動
python main.py
Apple Siliconの場合、PyTorchのMetal対応により、CUDAなしでGPUアクセラレーションが効く。
2. ComfyUI-Managerの導入
ComfyUIを入れたら、まずComfyUI-Managerを入れる: ltdrdata/ComfyUI-Manager
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
これを入れると、足りない機能(カスタムノード)をGUIからボタン一つでインストールできるようになる。必須。
3. モデルの配置
- チェックポイント →
models/checkpoints/ - VAE →
models/vae/ - LoRA →
models/loras/
学習したLoRAファイルはmodels/loras/に配置すれば、ComfyUIから読み込める。
参考リンク
- AICU media (Note) - 画像生成AIの最新技術やComfyUIのワークフロー解説が充実
後編の予定
- 実際にMac mini M4 Proでセットアップしてみた結果
- Kohya_ssが動くのか検証
- 学習にかかった時間
- ComfyUIで生成してみた結果
届いたら試してみる。