この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。LoRAの原論文、MoRAの研究論文、Hugging Face PEFTの現行ドキュメントを確認し、旧記事にあった未検証の性能比較や断定を整理しました。検証ステータス:✅ 論文・公式ドキュメント確認済み/個別モデルでの学習実験は未実施
LLMにキャラクターらしさを持たせる方法は、指示・学習・外部知識の3つに分けて考えると整理しやすくなります。
役割を3つに分ける
- プロンプト:口調、禁止事項、応答方針などを実行時の指示として与える。
- LoRAなどのPEFT:ベースモデル全体を再学習せず、追加パラメータを学習して振る舞いを適応させる。
- RAG:設定資料、履歴、人物関係などを外部データから検索し、必要な文脈を推論時に与える。
この3つは競合するものではありません。組み合わせれば必ず品質が上がるわけでもないため、評価データを用意して比較します。
LoRAの位置づけ
LoRAは、事前学習済みモデルの重みを固定したまま、低ランク行列として表現した学習可能な更新を追加するPEFT手法です。Hugging FaceのPEFTでも LoraConfig を使ってアダプターを構成できます。
from peft import LoraConfig, TaskType
config = LoraConfig(
task_type=TaskType.CAUSAL_LM,
inference_mode=False,
r=8,
lora_alpha=32,
lora_dropout=0.1,
)
実際の対象モジュール、ランク、学習率、データ量はモデルによって調整が必要です。
MoRAは用途ごとに評価する
MoRAは、同程度の学習可能パラメータ数でより高ランクの更新を可能にすることを狙った研究手法です。論文の結果から、キャラクター用途で常にLoRAより優れると一般化することはできません。
RAGに向いている情報
人物関係、世界設定、過去の出来事など、後から更新したい事実は外部データとして管理すると更新しやすくなります。検索結果が適切かどうかも評価対象です。
小さく比較する
- ベースモデル + 短いSystem Prompt
- プロンプトを整理した版
- RAGを追加した版
- 必要ならLoRAアダプターを追加した版
同じ質問セットを使い、口調の一貫性、設定への忠実さ、根拠のない設定を作らないかなどを比較します。
公式・一次情報
- LoRA: Low-Rank Adaptation of Large Language Models
- MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning
- Hugging Face Transformers ― Parameter-efficient fine-tuning
この記事の更新履歴
- 2026-09-14 追加:プロンプト・PEFT・RAGを役割別に比較する考え方を追加。
- 2026-09-14 変更:LoRA/MoRAの説明を論文と現行PEFTドキュメントに合わせて再構成。
- 2026-09-14 削除:内部執筆指示、重複H1、根拠のない性能向上率と未検証の比較表を削除。

