【2026年最新】LoRAの作り方完全ガイド:キャラクターをAIに学習させる手順と推奨設定

当ページのリンクには広告が含まれています。
LoRAの作り方完全ガイド:キャラクターをAIに学習させる手順と推奨設定
🤖 Claude Code・ChatGPT・Gemini最新モデル日常利用
🎨 画像生成AI活用
🔧 インフラエンジニア歴12年(2026年時点)

LoRA作りで最初に決めるのはベースモデルだ。必要なVRAM・学習ツール・使ってよい範囲(ライセンス)がそこで決まる。SDXLとFLUX.1はKohyaのsd-scripts、FLUX.2はAI-Toolkitが対応している(2026年10月5日に各公式で確認)。設定は学習ツールの公式の例から始め、エポックごとに保存して見比べるのが近道だ。

「自分のキャラクターをAIで描かせたい」。その悩みを解決するのがLoRAだ。本記事はsd-scripts・AI-Toolkit・Prodigy・DoRAの論文・各モデルのライセンスなどの一次情報(2026年10月5日に確認)をもとに、データセット・VRAM・パラメータ・ベースモデルの選び方をまとめる。当サイトはLoRAの学習を実測していないので、数値は公式の記載か、一般的な目安として書く。

キャラクターの画像から学習してキャラLoRAを作り、一貫したバリエーションを生成するイメージ
キャラクターLoRAは参照画像から学習し、同じキャラの絵を安定して生成できるようにします(イメージ図)
目次

LoRAとは?2026年の最新トレンド

LoRA(Low-Rank Adaptation)は、ベースモデル本体を書き換えずに小さな追加の重みだけを学習して、特定のキャラクターや画風を描けるようにする技術だ。ベースモデルはSD1.5 → SDXL → FLUXへと移ってきた。Kohyaの学習スクリプトsd-scriptsの最新版(0.12.0・2026年9月24日)がLoRAの学習に対応するのはSD1.x/2.x・SDXL・SD3/3.5・FLUX.1・LUMINA・HunyuanImage-2.1・Animaで、FLUX.2は含まれない。ベースモデルが変わると、学習ツールも設定も変わる。

データセット構築の極意——枚数より偏りと画質

画像の枚数と解像度

キャラクターLoRAは数十枚(20〜40枚程度)から始める例が多い。ただしsd-scriptsの文書に推奨の枚数は無く、当サイトも枚数ごとの仕上がりは測っていない。枚数を増やす前に、表情・角度・服装・背景が偏っていないか、圧縮ノイズや極端な照明の画像が混じっていないかを見るほうが先だ。解像度は、SDXLでは高解像度のデータとアスペクト比のバケット(enable_bucket = true)を使うのが一般的だと公式の文書にある。

着せ替えを可能にするキャプション設計

キャプション(画像ごとの説明文)に書いた語は、学習のときにその語と結び付けて覚えられる。逆に、どの画像にも写っているのにキャプションに書かなかった要素は、トリガーワード(キャラクター名の語)の側に吸収されやすい。後から服を着せ替えたいなら、服の語(例:「white dress」)をキャプションに書いておく、という考え方が使われる。公式の文書に決まりがあるわけではないので、迷ったら服の語を書いた版と書かない版を少数の画像で作り、生成して比べるのが確実だ。キャプションを並べ替えて学習するときは、先頭のトリガーワードを固定するkeep_tokensの指定がsd-scriptsにある。

正則化画像は必要か?

単一キャラクターのLoRAでは、正則化画像を使わずに学習する例も多い。使うべきケースと逆効果になる条件はLoRA学習に正則化画像は必要か?にまとめている。

VRAM容量別の最適化設定(2026年版)

必要なVRAMは、ベースモデルと設定で大きく変わる。ここではsd-scriptsの公式の文書に書かれている目安と、VRAMを減らす設定をまとめる(当サイトは学習を実測していない)。

FLUX.1は、公式の文書にVRAM別の設定の表がある(--fp8_baseを使う前提)。

VRAM 公式の文書の設定(FLUX.1・sd-scripts)
24GB 基本の設定で動く(バッチサイズ2)
16GB バッチサイズ1+--blocks_to_swap
12GB --blocks_to_swap 16+8bit AdamW
10GB --blocks_to_swap 22・T5XXLはfp8形式を推奨
8GB --blocks_to_swap 28・T5XXLはfp8形式を推奨

--blocks_to_swapはモデルの一部をCPUとGPUの間で入れ替えてVRAMを減らす実験的な機能で、数を増やすほどVRAMは減るが学習は遅くなる。SDXLは公式の文書に必要量の目安が無く、「24GBでも設定によってはメモリが足りなくなる」と書かれている。減らす手段として挙げられているのは、混合精度(bf16かfp16)・--gradient_checkpointing・VAEとテキストエンコーダーの出力のキャッシュ(--cache_latents・--cache_text_encoder_outputs)・--fused_backward_pass(SDXLで使える実験的な機能・Adafactorだけ対応・勾配の累積とは併用できない)だ。

📘 VRAMを減らす設定が速度をどう変えるかを数字で知りたい方へ:当サイト運営者がZennで公開している電子書籍『画像生成AI・ローカルLLMを“安く速く”動かす実測ガイド』(有料・500円/第1〜2章は無料公開)で、量子化・オフロード・スライスがVRAMと速度をどう変えるかを実機で実測しています(画像生成と推論の実測で、LoRAの学習は測っていません)。節約テクの多くはVRAMを時間で買う取引で、効く場面と効かない場面がはっきり分かれました。

設定を詰めても学習が遅い・待ち時間を減らしたいなら、GPUの選び方とクラウドの使い分けをLoRA学習を高速化する方法にまとめている。

高VRAMのGPUを用意できない場合は、クラウドでLoRA学習する方法もあります。ConoHa AI Canvasはスタンダードプラン(月額4,378円・税込)以上ならブラウザからKohya SSを使え、GPUを買わずにLoRA学習からテスト生成までこなせます(月額1,100円のエントリープランではLoRA学習は使えません)。

クラウドのKohya SSでLoRA学習を始める|ConoHa AI Canvas※ 高価なGPU不要・LoRA学習(Kohya SS)はスタンダードプラン以上=月額4,378円(税込・WebUI 50時間込み)

💡 毎月の課金より手元のGPUで回したいなら:上の表のとおり、FLUX.1は24GBなら基本の設定、16GB以下はブロックの入れ替えで速度と引き換えになる。GPUごとの構成と公式の価格はローカルAI画像生成のおすすめBTO PC構成、GPUの価格の推移はRTX 5070 Ti搭載PCの価格推移と買い時にまとめている。

サイコムでLoRA学習用のPCを見積もる※ 構成はパーツ単位でカスタマイズ可・PC本体の梱包発送料は3,850円(税込・2026年10月1日以降の注文)

Kohya_ssの学習手順と重要パラメータ

「10_name」フォルダ命名規則とステップ数の計算

sd-scriptsでは、学習用の画像フォルダの名前で繰り返し回数を指定できる(公式の文書の形は<繰り返し回数>_<identifier> <class>)。「10_chara」なら「1エポックの中でその画像を10回ずつ使う」という意味だ。データセットの設定ファイル(.toml)を使う場合は、num_repeatsで同じ指定ができる。

# 学習用の画像フォルダの名前(sd-scripts の文書の形)
<繰り返し回数>_<identifier> <class>

# 例: 1エポックの中でその画像を10回ずつ使う場合
10_chara girl

# .toml のデータセット設定で指定する場合
num_repeats = 10

総ステップ数 = (画像数 × 繰り返し回数 ÷ バッチサイズ) × エポック数

例:画像30枚・繰り返し10・バッチ1・10エポック → 3,000ステップ

何ステップが適正かは、データセットと学習率で変わるので決まった値は無い。sd-scriptsの公式の例は--max_train_epochs=10と--save_every_n_epochs=1(1エポックごとに保存)で、エポックごとのLoRAを同じプロンプトで生成して並べ、崩れる手前のものを選ぶのが確実だ。

推奨パラメータ設定

sd-scriptsの公式の文書にあるSDXLのLoRAの例はnetwork_dim 32・network_alpha 16・学習率 1e-4・10エポックだ。alphaはdimの半分くらいにするのが一般的と書かれており、テキストエンコーダーの学習率はU-Netより小さい値が推奨されている。ここから始めて、仕上がりを見ながら1つずつ変えるのが基本になる。

学習率の調整に迷うなら、学習率を自動で推定するProdigyオプティマイザという選択肢がある。公式のREADMEは学習率を1.0にすることを勧め、拡散モデルではsafeguard_warmup=True・use_bias_correction=True・weight_decay=0.01を勧めている。推定される学習率を大きく(小さく)したいときはd_coef(既定1.0)を変える。なお、sd-scriptsのLoRA+(loraplus_lr_ratio)は、LoRAの上向きの重みの学習率を下向きの何倍にするかの指定で(論文の推奨は16)、ProdigyやDAdaptationとは併用できない。

# SDXL の LoRA(sd-scripts の公式の文書の例・2026年10月5日に確認)
--network_dim=32
--network_alpha=16
--learning_rate=1e-4
--max_train_epochs=10
--save_every_n_epochs=1

# Prodigy を使う場合(Prodigy の公式 README の推奨)
--optimizer_type=Prodigy
--learning_rate=1.0
--optimizer_args "safeguard_warmup=True" "use_bias_correction=True" "weight_decay=0.01"

Kohya_ssのパラメータ設定を体系的に学びたい場合は、Udemyの動画講座でハンズオン形式でも学べます。

DoRAとは?LoRAとの違い

DoRA(Weight-Decomposed Low-Rank Adaptation)は、元の重みを「大きさ」と「方向」に分け、方向の更新にLoRAを使う手法だ。論文は、全体の学習(フルファインチューニング)の学習能力に近づけることを狙い、推論の負担を増やさずにLoRAの学習能力と安定性を高めたとし、LLaMA・LLaVA・VL-BARTの調整でLoRAを上回ったと報告している。画像生成のキャラクターLoRAで再現性がどれだけ上がるかは、論文の評価の範囲外で、当サイトも測っていない。sd-scriptsでは、LyCORISを使って--network_module lycoris.kohyaと--network_args "algo=lora" "dora_wd=True"で有効にできる(LyCORISの文書)。

学習失敗のトラブルシューティング

ブリード現象(顔が他キャラに混入)

まず生成時のLoRAの強さ(ウェイト)を下げて様子を見るのが手軽だ。学習し直すなら、sd-scriptsの--network_dropout(LoRAの中のドロップアウト・公式の文書は過学習を抑えるのに効くことがあるとしている)を試し、キャプションに書く語を見直す。

白黒・茶色への変色(オーバートレーニング)

学習しすぎ(過学習)で色や形が崩れることがある。1エポックごとに保存し(--save_every_n_epochs=1)、同じプロンプトで並べて、崩れる手前のエポックを使おう。学習中にメモリが足りなくなる場合はCUDA OOMエラーの解決方法も参照。

2026年、キャラクターLoRAはどのベースモデルで学習する?

LoRAはベースモデルを決めた時点で、必要VRAMも学習ツールもライセンスも決まる。ここを先に選ばないと、集めたデータセットごと作り直しになる。2026年10月5日時点の各公式で確かめた選択肢を並べる。

ベースモデル 学習のVRAM(公式の記載) 主な学習ツール モデルのライセンス 向いている場面
SDXL 目安の記載なし(24GBでも設定次第で不足) sd-scripts CreativeML Open RAIL++-M(商用利用可・利用の制限あり) 情報量が多い。まず1本作って手順を覚えるならここ
FLUX.1 [dev] 8GB〜(ブロックの入れ替え・fp8が前提)/24GBで基本の設定 sd-scripts 非商用(FLUX.1 [dev] Non-Commercial License) 個人の制作・検証
FLUX.2 [klein] 4B 学習の目安の記載なし(推論は約13GBとモデルカード) AI-Toolkit(klein-base 4B) Apache 2.0 仕事で使う画像を出すならここ
FLUX.2 [klein] 9B / [dev] 学習の目安の記載なし AI-Toolkit(klein-base 9B/dev) 非商用(FLUX Non-Commercial License) 個人の制作・検証

⚠️ 一番はまるのは「学習できたのに仕事で使えない」パターン: FLUXの非商用ライセンス(FLUX.1 [dev]・FLUX.2 [klein] 9B・[dev])では、モデルとLoRAなどの派生物を使えるのは非商用の目的に限られ、事業や仕事に関わる使い方・報酬が生じる使い方は含まれない。生成した画像そのものは「商用を含むどんな目的にも使える」と条文にあるが、仕事として生成するなら、モデルの使い方が非商用の範囲を外れる=Black Forest Labsの商用ライセンスが要る。軽いklein 4BだけがApache 2.0だ。案件用のキャラクターLoRAを作るつもりなら、データセットを集める前にベースモデルとライセンスを決め、条文を自分で確かめておく(当サイトは法的な助言はしない)。

FLUX.2で学習するならツールが変わる

SDXLとFLUX.1はsd-scriptsで学習できるが、sd-scriptsの対応モデルにFLUX.2は無い(0.12.0・2026年9月24日)。FLUX.2系を学習するなら、AI-Toolkit(FLUX.2 [dev]・klein-base 4B・klein-base 9Bに対応・GUIとコマンドラインの両方で使える)が選択肢になる。学習には蒸留していないbase版(klein-base)を使う点にも注意したい。

逆に言えば、本記事のsd-scripts向けの設定(Prodigy・fused_backward_pass・blocks_to_swapなど)はSDXL/FLUX.1の話だ。FLUX.2へ移るときはツールごと乗り換える前提で読んでほしい。

結局どれを選ぶか

①はじめての1本=SDXL+sd-scripts(情報が多く、詰まっても答えが見つかる)/②個人の制作でFLUXを使いたい=FLUX.1 [dev]+sd-scripts(非商用)/③仕事で使う=FLUX.2 [klein] 4B(klein-base 4BをAI-Toolkitで学習・Apache 2.0)。③を選ぶ人が②を経由する必要はありません。

まとめ:LoRA作りで迷わないための5つの手順

  1. ベースモデルとライセンスを先に決める(仕事で使うならFLUX.2 [klein] 4BかSDXL)
  2. データは枚数より、表情・角度・服装の偏りと画質を先に整える
  3. キャプションには後から変えたい要素(服など)を書く
  4. 学習ツールの公式の例(SDXLならdim 32・alpha 16・学習率 1e-4・10エポック)から始める
  5. 1エポックごとに保存し、並べて比べて崩れる手前を選ぶ

学習はVRAMと時間を使う。手元のGPUで回すならGPUごとの構成と公式の価格を、学習の待ち時間を減らしたいならLoRA学習を高速化する方法も参考にしてほしい。

LoRA学習に最適なBTOパソコン【サイコム】で構成を見る※ 購入前の相談窓口あり・構成はモデルごとのカスタマイズページで選べます
2026年はどのベースモデルでLoRAを学習すべきですか?▼
用途とライセンスで決まります。はじめての1本なら情報の多いSDXL(sd-scripts)。仕事で使う画像を出すならApache 2.0のFLUX.2 [klein] 4B(学習はAI-Toolkitでklein-base 4B)。FLUX.1 [dev]とFLUX.2 [klein] 9B・[dev]は非商用ライセンスで、仕事として使うにはBlack Forest Labsの商用ライセンスが要ります。
FLUX.2でキャラクターLoRAは学習できますか?▼
できます。ただしツールが変わります。Kohyaのsd-scripts(0.12.0・2026年9月24日)の対応モデルにFLUX.2は無く、AI-ToolkitがFLUX.2 [dev]・klein-base 4B・klein-base 9Bに対応しています(2026年10月5日に各公式で確認)。本記事のsd-scripts向けの設定はそのままFLUX.2には持ち込めません。
LoRAの学習に最低何枚の画像が必要ですか?▼
公式の推奨枚数はありません。キャラクターLoRAでは数十枚(20〜40枚程度)から始める例が多く、枚数を増やすより、表情・角度・服装の偏りと画質を先に整えるのが近道です。当サイトは枚数ごとの仕上がりを測っていません。
VRAM 8GBのパソコンでLoRAは作れますか?▼
FLUX.1なら、sd-scriptsの公式の文書に8GB向けの設定があります(blocks_to_swap 28・T5XXLはfp8形式・fp8_base前提で、学習は遅くなります)。SDXLは公式に必要量の目安が無く、24GBでも設定によっては足りないと書かれているので、混合精度・gradient checkpointing・キャッシュ・fused_backward_pass(Adafactorのみ)などの節約設定から試してください。
DoRAとLoRAの違いは何ですか?▼
DoRAは重みを「大きさ」と「方向」に分け、方向の更新にLoRAを使う手法です。論文ではLLaMA・LLaVA・VL-BARTの調整でLoRAを上回ったと報告されています。画像生成のキャラクターLoRAで再現性がどれだけ上がるかは、論文の評価の範囲外で、当サイトも測っていません。sd-scriptsではLyCORISのdora_wd=Trueで使えます。
生成画像が白黒やセピア色になってしまいます▼
学習しすぎ(過学習)で色や形が崩れることがあります。1エポックごとに保存し(save_every_n_epochs=1)、同じプロンプトで並べて、崩れる手前のエポックを使ってください。生成時のLoRAの強さを下げるのも手軽な対処です。
Prodigyオプティマイザの基本設定を教えてください▼
公式のREADMEは学習率を1.0にすることを勧め、拡散モデルではsafeguard_warmup=True・use_bias_correction=True・weight_decay=0.01を勧めています。推定される学習率を大きく(小さく)したいときはd_coef(既定1.0)を変えます。sd-scriptsのLoRA+とは併用できません。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITインフラエンジニア歴12年、クラウド(AWSがメイン、一部Azure)の実務は4年目(いずれも2026年時点)。社会人向けの3DCGスクールを2026年9月に卒業。Windows 11 + RTX 4070 Ti SUPER の自宅環境で実際に手を動かしながら、インフラ・クラウド・AI・3DCGの技術記事を書いています。

コメント

コメントする

CAPTCHA


目次