ふくふくHukuhuku Inc.
EP.19Toolbox 14分公開: 2026-09-01

手元のモデルを自分のデータに合わせる ── その前に試すこと

追加学習は最後の手段です。多くの場合、プロンプトの調整か検索の併用で足ります。それでも必要な場面と、手元で回すときの現実的な手順を扱います。

#ローカルLLM#ファインチューニング#MLX#判断軸
執筆 / 監修
松尾 亮合同会社ふくふく 代表社員

データ基盤・データパイプライン構築 / BI / 生成 AI 活用支援を専門とするエンジニア (28 年)。 本記事は AI 利用ポリシーに基づき、生成 AI の補助で執筆 → 人間が監修・編集して公開しています。

プロフィール詳細
シェア

EP.14 以降、手元で を動かす話を扱ってきました。次に出てくるのが「自社のデータに合わせられないか」という要望です。

この回は を扱いますが、結論から言うと最後の手段です。まず、それ以外で足りないかを確認します。

1. 何を解決したいのかを分ける

「自社に合わせたい」という要望は、中身が3種類に分かれます。手段がまったく違うので、まず切り分けます。

要望の切り分け
やりたいこと適した手段追加学習の適性
自社の情報を答えさせたい検索して渡す向かない
出力の形式を揃えたいプロンプト → 効かなければ追加学習向く
口調・文体を揃えたい同上向く
専門用語を正しく扱わせたい用語集を渡す → 追加学習場合による
判断の基準を覚えさせたい基準を明示して渡す限定的

1行目が最も多い要望で、最も向かない組み合わせです。追加学習で事実を覚えさせようとすると、更新のたびに学習し直しになりますし、覚えたつもりで間違えるようになります。検索して渡すほうが、正確で更新も容易です。

知識は「渡す」、形式は「教える」

この区別が実務上いちばん効きます。事実は毎回渡せばよく、覚えさせる必要はありません。一方、出力の形式や口調は毎回指示すると長くなるので、教えてしまうほうが効率的です。

2. 追加学習の前に試すこと

形式や口調の問題でも、まずプロンプトで試します。多くの場合、ここで足ります。

  1. 1求める形式を明示する — 「必ずJSONで、この項目を含めて」
  2. 2例を2〜3件見せる — 説明するより例のほうが伝わる
  3. 3やってほしくないことも書く — 「前置きを書かない」
  4. 4出力を検証して、外れたら再試行する — 形式は機械的に確認できる

2番目が効きます。望む出力の例を数件見せるだけで、形式はかなり揃います。追加学習を検討する前に、例を増やして改善するかを確認してください。

4番目も現実的です。LLM時代のテスト戦略 EP.07 で扱ったとおり、形式は決定的に検証できます。外れたら再試行する仕組みを入れれば、多少のばらつきは吸収できます。

対処の比較
対処手間効果更新のしやすさ
プロンプトの調整小さいすぐ変えられる
例を増やす小さい大きいすぐ変えられる
検証と再試行大きい変えやすい
追加学習大きい大きい学習し直しが要る

3. それでも追加学習が要る場面

上を試して足りない場合、追加学習の出番です。該当するのは限られた条件です。

  • プロンプトが長くなりすぎる — 例を大量に入れないと揃わない
  • 毎回同じ指示を繰り返している — 固定化したほうが効率的
  • 小さいモデルで動かしたい — 指示への追従が弱いぶんを学習で補う
  • 独特の形式が必要 — 一般的でない出力形式

3番目が実務的な動機になりやすい。大きいモデルなら指示だけで揃うが、手元で動かすには重い。小さいモデルに追加学習して、必要な用途だけを揃えるという使い方です。

2番目も効率の観点で正当です。毎回同じ長い指示を送っていると、その分の処理時間と資源を毎回消費します。固定化すれば、指示を短くできます。

4. 差分だけを学習させる

手元で回す場合、モデル全体を学習させるのは現実的ではありません。代わりに使うのが です。

小さな追加部分だけを学習させる方式で、必要な計算資源とメモリが大幅に減ります。元のモデルは変えないため、切り替えも破棄も容易です。

2つの方式
方式必要な資源元のモデル用途ごとの切り替え
全体を学習非常に大きい書き換わるモデルごと持つ必要がある
差分だけ学習現実的変わらない差分を差し替えるだけ

最下行の切り替えのしやすさは運用で効きます。「要約用」「分類用」と用途ごとに差分を作り、同じモデルに付け替えて使うという形が取れます。

Apple Silicon 上で差分学習を回す(MLX の例)
Bash
# 必要なものを入れるpip install mlx-lm
# 学習データを用意する(JSONL 形式)# data/train.jsonl に1行1件で置く#   {"prompt": "...", "completion": "..."}
# 差分だけを学習させるpython -m mlx_lm.lora \  --model mlx-community/Qwen2.5-7B-Instruct-4bit \  --train \  --data ./data \  --batch-size 2 \  --iters 600 \  --adapter-path ./adapters/summarize
# 学習した差分を付けて試すpython -m mlx_lm.generate \  --model mlx-community/Qwen2.5-7B-Instruct-4bit \  --adapter-path ./adapters/summarize \  --prompt "次の議事録を3行で要約してください: ..."

モデル名やオプションは版によって変わります。実行前に、使っている版の説明を確認してください。ここで示したいのは、差分の置き場所を分けておく(`./adapters/summarize`)という運用の形です。

5. データの作り方

追加学習の成否は、データの質でほぼ決まります。件数より、揃っていることが重要です。

  1. 1望む出力の形を揃える — ばらついていると、ばらついた出力を学ぶ
  2. 2実際に使う入力に近づける — 想定と違う入力では効かない
  3. 3機微な情報を除く — 学習させると取り出せなくなる
  4. 4少数から始めて効果を見る — いきなり大量に作らない

1番目が最も効きます。「だいたいこんな感じ」で集めたデータは、だいたいの出力しか生みません。形式を揃えたいなら、学習データの形式が完全に揃っている必要があります。

機微な情報は入れない

学習させた内容は、後から取り出すのが困難です。個人情報や顧客固有の情報を含めると、その差分を配布できなくなります家庭の運用設計 EP.08 で扱った と同じで、入れないのが最も確実です。

6. 効果の確認と、やめる判断

学習したら、本当に良くなったかを確認します。感覚ではなく、比較で判断してください。

確認する観点
比較の対象見るもの
学習前 vs 学習後同じ入力で、形式が揃ったか
学習前(例を増やしたもの) vs 学習後追加学習の追加分の効果
得意な入力 vs 苦手な入力学習データから外れた入力でどうか
他の用途学習前にできていたことが劣化していないか

2行目が重要です。「プロンプトを工夫した状態」と比較しないと、追加学習の効果が分かりません。学習前の素の状態と比べると、実際にはプロンプトで得られたはずの改善まで、追加学習の効果に見えてしまいます。

4行目も見落とされます。特定の用途に合わせると、他が劣化することがあります。用途を絞って使うなら問題ありませんが、汎用に使うつもりなら確認が要ります。

そして、効果が小さければやめる。差分を破棄すれば元に戻ります。元のモデルを変えていないという利点が、ここで効きます。

ここまでのまとめ

知識は渡す、形式は教える。事実を覚えさせる用途には向かない。追加学習の前に、例を2〜3件見せることを試す(これで足りることが多い)。手元で回すなら LoRA で差分だけを学習し、用途ごとに差し替える形にする。データは件数より揃っていること。効果はプロンプトを工夫した状態と比較して判断し、小さければ破棄してください。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp