ファインチューニング

ファインチューニング

ファインチューニング(Fine-Tuning)とは、事前学習済みの機械学習モデルに追加の学習データを与え、特定のタスクやドメインに適応させるプロセスを指す。

「汎用的に賢いが、自社の業務は知らない」——LLM を実務に投入しようとすると、ほぼ確実にこの壁にぶつかる。ファインチューニングは、この汎用モデルを自社仕様に仕立て直す工程だ。

歴史的には BERT の時代(2018 年頃)から NLP の標準的なワークフローとして定着していた。事前学習で言語の一般的な構造を学び、ファインチューニングでタスク固有のパターンを上書きする、という二段階学習の枠組みは今も変わっていない。変わったのはモデルの規模と、それに伴うコストの問題だ。

現在のファインチューニングは大きく 3 つに分かれる。

フル FT はモデルの全パラメータを更新する。精度は最も高くなり得るが、70B モデルなら A100 80GB が 8 枚以上必要で、学習に数日かかることも珍しくない。予算と時間に余裕がある研究機関やビッグテック向け。

PEFT(LoRA / QLoRA 等)はパラメータの一部だけを更新する。フル FT の 1/10〜1/100 のコストで、多くのタスクでフル FT に迫る精度が出る。2024 年以降、実務ではこちらが主流になりつつある。

Instruction Tuning は少し毛色が異なり、モデルに「指示に従う能力」を教える。ChatGPT が自然な対話ができるのも、ベースモデルに大量の指示応答ペアでファインチューニングを施した結果だ。

どの手法を選ぶにせよ、学習データの品質がすべてを左右する。1 万件の雑なデータより、1,000 件の丁寧にアノテーションされたデータの方が良い結果を出す——これは筆者が何度も痛感してきた教訓だ。