この記事のポイント
- AIのカスタマイズは「プロンプトの工夫 → RAG → ファインチューニング」の順に試すのが鉄則
- RAG(検索拡張生成)を使えば、AIモデルを変更せずに独自データをもとにした回答が可能
- LLMの学習は「事前学習 → SFT → RLHF」の3ステップで行われる
はじめに
「AIを自社のデータに合わせてカスタマイズしたいけど、何から始めればいい?」「ファインチューニングって聞くけど、難しそう」
そんな疑問を持つ方に向けて、この記事ではLLMを自分の目的に合わせてカスタマイズする3つの方法と、AIの学習の仕組みを初心者向けにやさしく解説します。
前編ではLLMの基本的な仕組みやローカルLLMの始め方を解説しました。まだ読んでいない方は、先にそちらをご覧いただくとスムーズです。
AIをカスタマイズする3つの方法
LLMを自分の目的に合わせたいとき、いきなり難しい方法に手を出す必要はありません。簡単な方法から順番に試すのが鉄則です。
Step 1: プロンプトエンジニアリング(すぐできる・無料)
↓ それでも足りなければ...
Step 2: RAG(少し手間・低コスト)
↓ それでも足りなければ...
Step 3: ファインチューニング(大変・高コスト)
この順番を守るだけで、無駄なコストと時間を大幅に節約できます。
Step 1: プロンプトエンジニアリング
プロンプト(指示文)の書き方を工夫するだけで、AIの回答は大きく変わります。モデル自体を変更する必要がないので、最もお手軽な方法です。
悪いプロンプト:
「プログラミングについて教えて」
良いプロンプト:
「あなたはプログラミングの先生です。
中学生にもわかるように、Pythonの変数について
具体例を3つ使って説明してください。」
主なテクニックは以下の4つです。
| テクニック | 説明 | 例 |
|---|---|---|
| 役割を与える | AIに特定の専門家役を演じさせる | 「あなたは数学の先生です」 |
| 具体的に指示する | 曖昧さをなくして詳細に伝える | 「3つの箇条書きで」「100文字以内で」 |
| 例を示す | 期待する回答の形式を見せる | 「例: りんご → 果物」 |
| ステップで考えさせる | 段階的に考えるよう指示する | 「ステップごとに考えてください」 |
プロンプトの工夫だけで解決できることは意外と多いので、まずはここから始めましょう。
Step 2: RAG(検索拡張生成)
RAGはRetrieval-Augmented Generation(検索拡張生成)の略です。AIに質問するとき、関連する資料を一緒に渡してあげる仕組みです。
教科書にたとえるとわかりやすいでしょう。
普通のAI:
先生(AI)に質問 → 先生の記憶だけで回答(知らないことは答えられない)
RAGを使ったAI:
先生(AI)に質問 → 本棚から関連する教科書を探す → 教科書を見ながら回答
たとえば、「うちの学校の文化祭はいつ?」と聞くと、RAGはまず学校のお知らせPDFから「文化祭は11月3日」という情報を見つけ出し、その情報とあわせてAIに質問を渡します。結果、AIは正確に「文化祭は11月3日です」と答えられるわけです。
RAGのメリット
RAGには4つの大きなメリットがあります。
- ドキュメントを更新するだけでAIの知識も更新できる(最新情報に対応)
- 「この資料にこう書いてあります」と出典を示せる(根拠を提示)
- 資料に基づいて回答するのでハルシネーション(AIのウソ)が減る
- ファインチューニングと違い、AIモデル自体を変更しなくてよい
社内マニュアルをAIに答えさせたい場合や、最新ニュースについて質問したい場合、特定の資料の内容について聞きたい場合に向いています。
どの方法を選ぶべきか
| 方法 | コスト | 難易度 | 向いている場面 |
|---|---|---|---|
| プロンプトエンジニアリング | 無料 | 簡単 | 回答の形式・口調・精度を改善したい |
| RAG | 低い | 普通 | 独自のデータや最新情報をもとに回答させたい |
| ファインチューニング | 高い | 難しい | モデルの根本的な振る舞いや専門性を変えたい |
迷ったときは、次のフローチャートで判断できます。
プロンプトの工夫で解決できる?
→ YES → プロンプトエンジニアリングでOK
→ NO → 外部の資料を参照させれば解決する?
→ YES → RAGを導入しよう
→ NO → ファインチューニングを検討しよう
ファインチューニングは最終手段です。プロンプトとRAGで解決できるなら、わざわざモデルを再学習する必要はありません。コストも時間も節約できます。
ファインチューニングとは
ファインチューニング(Fine-tuning)は、すでに学習済みのAIモデルに追加で学習させて、特定の分野に強くする方法です。
料理でたとえるなら、基本のカレー(学習済みモデル)にスパイスを追加(ファインチューニング)して、自分好みの特製カレー(特化モデル)にするイメージです。
汎用LLM(何でもそこそこ答えられる)
↓ 医学の教科書データで追加学習
医療特化LLM(医学の質問にとても強い)に変化
ファインチューニングの目的は多岐にわたります。法律・医療・プログラミングなどの専門知識を教えること、敬語や関西弁など話し方を変えること、要約・翻訳・コード生成など特定のタスクに強くすること、会社独自のマニュアルやFAQを学習させることなどが代表的な例です。
フルファインチューニングとLoRA
ファインチューニングには大きく2つの方法があります。
フルファインチューニングはモデル全体のパラメータを更新する方法です。精度は高いものの、非常に多くの計算資源(GPU)が必要です。
一方、LoRA(Low-Rank Adaptation)/ QLoRAはモデルの一部だけを効率的に更新する方法です。少ない計算資源でもできるので、個人でも挑戦しやすくなっています。
フルファインチューニング: モデル全体を書き換え → GPUがたくさん必要
LoRA: 一部だけ書き換え → 家庭用GPUでも可能
個人で試すなら、LoRA / QLoRAから始めるのが現実的です。
GPUがなくても大丈夫 ― Google Colab
ファインチューニングや学習にはGPUが必要ですが、高価なGPUを持っていなくても大丈夫です。Google Colabを使えば、ブラウザだけでGPUを借りて学習を試せます。
Google Colab(Google Colaboratory)は、Googleが提供するブラウザ上でPythonを実行できるサービスです。ノートブック形式でコードを書いて実行でき、GPUも利用できます。
普通の学習環境:
高性能PCを買う(数十万円〜)→ 環境を構築 → 学習を実行
Google Colab:
ブラウザを開く → コードを書く → 学習を実行(GPUはGoogleが貸してくれる)
料金プラン
| プラン | 料金 | GPU | 使用時間の目安 |
|---|---|---|---|
| 無料 | 0円 | Tesla T4(VRAM 15GB) | 連続数時間程度 |
| Colab Pro | 月額約1,500円 | T4 / V100(VRAM 16GB) | より長時間使える |
| Colab Pro+ | 月額約7,500円 | V100 / A100(VRAM 40〜80GB) | バックグラウンド実行可 |
無料プランでも7BクラスのモデルをQLoRAでファインチューニングできます。
使い方
1. GoogleアカウントでGoogle Colabにログイン
2. 「ノートブックを新規作成」をクリック
3. メニューから「ランタイム」→「ランタイムのタイプを変更」
4. 「T4 GPU」に変更
5. コードを書いて実行
注意点と対策
| 注意点 | 対策 |
|---|---|
| 無料版は使用時間に制限がある | 小さいモデル・少ないデータで試す |
| 一定時間操作しないと切断される | こまめにモデルを保存する |
| 無料のGPUは性能が限られる | QLoRA(4bit量子化)で軽量化する |
| セッションが切れるとデータが消える | Google Driveにこまめに保存する |
まずは無料プランで十分です。慣れてきて長時間の学習が必要になったらProを検討しましょう。
AIはどうやって学習するのか
ここからは少し技術的な話になりますが、LLMがどうやって「賢く」なるのか、その学習プロセスを見ていきましょう。LLMの学習は大きく分けて3つのステップで行われます。
ステップ1: 事前学習(Pre-training)
インターネット上の大量のテキスト(Wikipediaの記事、ニュースサイト、書籍、プログラムのソースコードなど)を読ませて、言語の基本を覚えさせます。文法のルール、言葉の意味や関係、世界の一般常識といったことを学びます。
この段階では「次の単語を予測する」という練習を何兆回も繰り返します。
ステップ2: 教師ありファインチューニング(SFT)
人間が作った「質問と理想の回答」のペアを使って、会話ができるように訓練します。
{
"質問": "日本の首都はどこですか?",
"回答": "日本の首都は東京です。"
}
このような例を何万〜何十万件も学習させます。事前学習で言語の知識を身につけたAIに、「人間との会話の仕方」を教えるステップです。
ステップ3: 人間のフィードバックによる強化学習(RLHF)
人間がAIの回答に「良い・悪い」の評価をつけて、より良い回答ができるように調整します。
AIの回答A: 「東京です」 → 人間の評価: ★★★☆☆
AIの回答B: 「日本の首都は東京です」 → 人間の評価: ★★★★★
→ AIは回答Bのような答え方を学ぶ
学習の全体像
ステップ1 ステップ2 ステップ3
事前学習 → SFT → RLHF
(言語を覚える) (会話を覚える) (より良い回答を学ぶ)
大量のテキスト Q&Aペア 人間の評価
数TBのデータ 数万〜数十万件 数千〜数万件
学習に使うデータは、人間が質問と回答を書く方法(品質が高い)、WikipediaやWebのデータを加工する方法、別のAIにデータを作らせる方法(合成データ)、多数の人にクラウドソーシングで作業を依頼する方法などで用意します。
LLMを一から作るには
LLMをゼロから作るのはとても大変ですが、仕組みを知っておくことは大切です。
必要な要素は5つあります。数TB(テラバイト)のテキストデータ、数百〜数千台のGPU、Transformerアーキテクチャによるモデル設計、Python + 深層学習フレームワークによる学習プログラム、そして数週間〜数ヶ月の時間と数億〜数百億円の資金です。
プログラミング言語とフレームワーク
AI開発のメインはPythonです。高速な計算処理にはC / C++が使われ、GPU並列計算にはCUDA(NVIDIA製GPU用)が使われます。
主要なフレームワークとしては、研究で最も使われているMeta製のPyTorch、Google製のTensorFlowとJAX、モデルの利用・学習を簡単にするHugging Face Transformersがあります。
イメージコード(Python)
実際のLLMはもっと複雑ですが、雰囲気を掴むためのイメージです。
# ※雰囲気を掴むためのイメージコードです
# ※実際に動かすにはもっと多くのコードが必要です
import torch
from transformers import AutoModelForCausalLM, Trainer, TrainingArguments
# 1. モデルの準備(既存の小さいモデルを使う例)
model = AutoModelForCausalLM.from_pretrained("small-model")
# 2. 学習データの準備
dataset = load_dataset("学習データのパス")
# 3. 学習の設定
training_args = TrainingArguments(
output_dir="./my-model", # 保存先
num_train_epochs=3, # 学習を何周するか
per_device_train_batch_size=4, # 一度に学習するデータ数
)
# 4. 学習を実行
trainer = Trainer(model=model, args=training_args, train_dataset=dataset)
trainer.train()
# 5. できあがったモデルを保存
trainer.save_model("./my-custom-model")
LLMの心臓部にあたる技術がTransformer(トランスフォーマー)です。2017年にGoogleが発表した論文「Attention Is All You Need」で提案されました。文章の中の「どの単語がどの単語と関係しているか」を計算し、長い文章でも効率よく処理できるのが特徴です。
個人でLLMを作れるか
| 規模 | 現実的? | 備考 |
|---|---|---|
| 超小型(〜1B) | 可能 | 高性能GPU 1台で数日〜数週間 |
| 小型(1〜7B) | 厳しい | 複数のGPUが必要、数十万〜数百万円 |
| 中型(7〜70B) | 非現実的 | GPUクラスタが必要、数千万〜数億円 |
| 大型(70B〜) | 不可能 | 大企業の資金力と設備が必要 |
まずは既存のオープンソースモデルをファインチューニングして、自分好みにカスタマイズするところから始めるのがおすすめです。
まとめ
AIのカスタマイズは、プロンプトエンジニアリング → RAG → ファインチューニングの順に試すのが鉄則です。多くの場合、プロンプトの工夫やRAGで十分な成果が得られます。
ファインチューニングが必要な場合でも、LoRA / QLoRAを使えば個人レベルでも挑戦でき、Google Colabを使えば高価なGPUがなくても始められます。
LLMの学習プロセス(事前学習 → SFT → RLHF)を理解しておくと、AIの得意・不得意がわかり、より適切なカスタマイズ方法を選べるようになります。
学習ロードマップ
前編・後編の内容をふまえて、ローカルLLMからAI開発までのステップをまとめます。
Step 1: LM StudioでローカルLLMを動かしてみる
↓
Step 2: Ollamaをコマンドラインで使ってみる
↓
Step 3: Pythonの基礎を学ぶ
↓
Step 4: Hugging FaceのモデルをPythonから使ってみる
↓
Step 5: LoRAでファインチューニングに挑戦する
↓
Step 6: 小さな言語モデルを一から学習させてみる
関連記事
- LLM入門ガイド【前編】― 仕組みからローカルで動かす方法まで
- 「AIエージェント」って結局何? ― 2026年の注目トレンドをやさしく解説
- 無料で使えるAIツール5選 ― 用途別おすすめガイド(2026年最新版)
AI導入でお困りですか?
「AIを自社のデータでカスタマイズしたい」「RAGやファインチューニングの導入を検討している」
そんなご要望がありましたら、AI DARUMAにご相談ください。AIカスタマイズの検討から導入までをお手伝いします。
〒723-0062 広島県三原市本町 1丁目7-29 2階 コワーキングスペースarica内