技術 約4分で読めます

【生成AI】仕事でLLM / RAG導入するので空き時間でLoRA作ってみる2025(前編)

なぜLoRAを作ろうと思ったのか

仕事でヘルプデスクの自動返信システムを作ることになった。既存のSaaSを使う選択肢もあったんだけど、社内の機密情報を扱う関係で外部サービスには出せない。そこでLAN内にRAGを構築する方針になった。

このプロジェクトのためにMac mini M4 Proを購入することが決まった。ただ、仕様がまとまるまでまだ時間がある。

項目スペック
チップApple M4 Pro
CPU12コア
GPU16コア
Neural Engine16コア
メモリ24GB(ユニファイドメモリ)
ストレージ512GB SSD

M4 Pro最小構成。ユニファイドメモリなのでGPUメモリとして24GB全部使える(はず)。

じゃあその間、せっかくのApple SiliconマシンでLoRAの学習でも回してみるか!という流れ。

ちゃんと仕事もするよ。

今回の目標

このキャラクターを生成できるようになりたい。

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メモリで学習を完走させるための「軽量化設定」。これが重要。

設定項目推奨値理由
OptimizerAdamW8bitメモリ節約
Mixed Precisionbf16M4はbf16対応なので推奨
Cache LatentsオンVRAM節約
Gradient Checkpointingオン必須。メモリ使用量を大幅に削減

3. 運用フロー

  1. 教師画像を用意(15〜30枚程度)
  2. Kohya_ssで学習開始
  3. 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で生成してみた結果

届いたら試してみる。