ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿は ファインチューニング(Fine-tuning) に関する記事です。
| この記事の要点 |
|---|
|
ファインチューニングとは?
ファインチューニング (Fine-tuning) は、事前学習済みのモデル(基盤モデル)を小規模なタスク特化データで追加学習し、特定の用途・文体・タスクに最適化する手法です。「微調整」と訳されることもあります。
巨大モデルをゼロから学習するのは数千〜数万 GPU × 数ヶ月かかりますが、ファインチューニングは個人 GPU でも数時間〜数日で完了するため、業務へのカスタマイズ手段として広く使われます。
主な種類
| 種類 | 目的 | データ形式 |
|---|---|---|
| SFT (Supervised Fine-Tuning) | 指示と理想の応答を教える | (入力, 出力)ペア |
| Instruction Tuning | 指示への従順さを獲得 | (指示, 入力, 出力) 3 つ組 |
| ドメイン適応 (Continual Pretraining) | 専門分野のテキストで知識を吸収 | 大量の生テキスト |
| RLHF | 人間の好みで応答品質を整える | (プロンプト, 応答A, 応答B, 選好) |
| DPO (Direct Preference Optimization) | RLHF の簡略版・現代主流 | (プロンプト, chosen, rejected) |
| 分類器ファインチューニング | BERT 等で分類タスク | (テキスト, ラベル) |
軽量ファインチューニング(PEFT)
フルファインチューニングは数十 GB の VRAM を必要とするため、一部のパラメータだけ更新する PEFT (Parameter-Efficient Fine-Tuning) が広く使われます。
| 手法 | 概要 | 特徴 |
|---|---|---|
| LoRA (Low-Rank Adaptation) | 低ランク行列のみ学習 | VRAM 1/10、学習速度速い、複数 LoRA を切替可能 |
| QLoRA | 4-bit 量子化 + LoRA | 7B モデルが 8GB GPU で学習可能に |
| Adapter Tuning | 各層に小さなアダプタ層を追加 | LoRA の前身 |
| Prefix / Prompt Tuning | 埋め込み Prefix を学習 | 非常に軽量だが品質はやや劣る |
| IA³ | 少数のスケーリング係数のみ学習 | 超軽量 |
| DoRA | LoRA の改良。方向とノルムを分離 | LoRA より高精度 |
典型ワークフロー
| ステップ | 内容 |
|---|---|
| 1. 課題定義 | 「何ができるようになって欲しいか」を明確に |
| 2. ベースライン | Prompt + RAG で達成可能か試す(多くはここで十分) |
| 3. データ収集 | 1k〜10k 件程度を目安に良質な (入力, 出力) ペアを集める |
| 4. データクリーニング | 重複削除・形式統一・PII マスキング |
| 5. ベースモデル選定 | Llama / Mistral / Qwen / Gemma など。サイズ・ライセンス考慮 |
| 6. 学習設定 | LoRA ランク・学習率・エポック数 |
| 7. 学習実行 | GPU + Hugging Face TRL / Unsloth / Axolotl |
| 8. 評価 | 保持データで自動評価 + 人手評価 |
| 9. デプロイ | マージしたモデルを推論サーバへ。LoRA のまま切替も可 |
| 10. 監視・再学習 | 本番ログをサンプリングして次回データに |
主要ツール
| ツール | 役割 |
|---|---|
| Hugging Face TRL | SFT / DPO / RLHF の高レベル API |
| Hugging Face PEFT | LoRA / QLoRA / IA³ 等の実装 |
| Hugging Face Transformers + Accelerate | 学習の土台と分散補助 |
| Unsloth | 軽量・高速ファインチューニング(個人 GPU 向け) |
| Axolotl | 設定ファイルベースの実装フレームワーク |
| LLaMA-Factory | GUI 付き OSS ファインチューニング |
| OpenAI Fine-tuning API | GPT 系を SaaS でファインチューニング |
| Anthropic / Google | 限定的に API 経由のファインチューニング |
| AWS Bedrock / Vertex AI | マネージドファインチューニング |
QLoRA 最小サンプル
|
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig |
ファインチューニング vs RAG vs プロンプト
| 課題 | 推奨手段 |
|---|---|
| 最新情報・社内文書の参照 | RAG |
| 出力形式・口調の固定 | プロンプト または ファインチューニング |
| 特定の専門領域の深い知識 | ドメイン適応 + RAG |
| 応答の安全性 / 偏りの抑制 | RLHF / DPO |
| 特殊な構造化出力(JSON 厳密) | ファインチューニング または Structured Output |
| レイテンシ削減(小モデル化) | 蒸留 + ファインチューニング |
| 軽い試行錯誤・短納期 | プロンプト最優先 |
業務開発の鉄則は「プロンプト → RAG → ファインチューニング」の順に試すこと。多くは前 2 段で十分です。
運用上のヒント
| Tips |
|---|
|
注意点
| よくある落とし穴 |
|---|
|
関連
- 親カテゴリ: AIの基礎概念
- 関連: LLM / Transformer / Embedding / RAG / Prompt Engineering
- 実装: Hugging Face Transformers / PyTorch
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 【Javascript】base urlを取得する方法
- 4 YouTube Data API (v3) のエラー一覧|403系エラーの確認ポイント
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravelのエラー一覧|原因と対処の入口ページ
- 7 3D グラフィックスとは?Unity・OpenGL・DirectX の基礎
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- AIの基礎概念:LLM/Transformer/Attention/RAG/エージェント など必須キーワード NEW 2026-05-13 12:19:18
- Diffusion Model とは?画像生成 AI の仕組み・Stable Diffusion NEW 2026-05-13 12:18:15
- マルチモーダル AI とは?GPT-4o・Gemini・Claude の使い方 NEW 2026-05-13 12:18:14
- トークン / コンテキストウィンドウとは?料金・上限・最適化 NEW 2026-05-13 12:18:14
- ファインチューニングとは?LoRA・QLoRA・SFT・RLHF/DPO NEW 2026-05-13 12:18:13
- AIエージェントとは?Tool Use・LangGraph・MCP・実装例 NEW 2026-05-13 12:18:13
- RAG (検索拡張生成) とは?仕組み・実装・LangChain 例 NEW 2026-05-13 12:18:12
- Prompt Engineering とは?技法・Chain-of-Thought・実践例 NEW 2026-05-13 12:18:12
- Attention (注意機構) とは?Q/K/V・Multi-Head の仕組み NEW 2026-05-13 12:18:11
- Embedding (埋め込み) とは?ベクトル化・類似検索・RAG NEW 2026-05-13 12:18:11
- Transformer とは?仕組み・Self-Attention・LLM の基礎 NEW 2026-05-13 12:18:10
- LLM (大規模言語モデル) とは?仕組み・代表モデル・使い方 NEW 2026-05-13 12:18:10
- ディープラーニングとは?CNN・RNN・Transformer・LLM の入門 2026-05-13 10:24:07
- 機械学習とは?教師あり・教師なし・強化学習・代表アルゴリズム 2026-05-13 10:24:07
- AIに必要な数学:線形代数・微積分・確率統計・情報理論・最適化 2026-05-13 10:20:39
コメントを削除してもよろしいでしょうか?