6章ファインチューニング
前章では、ニーズに合ったLLMを選ぶために考慮すべき要素を整理し、適切な判断を下すための評価方法について説明しました。ここからは、LLMを活用して実際のタスクをどのように解くのかを見ていきます。
この章では、ファインチューニング(Fine-Tuning、微調整)を用いてLLMを自分の関心のあるタスクに適合させるプロセスを解説します。ファインチューニングを最初から最後まで実施する事例を通じて、意思決定に必要な要素を解説したうえで、ファインチューニング用データセットを構築するのに必要な技術と方法論についても取り上げます。
6.1 ファインチューニングの必要性
LLMをファインチューニングする必要があるのはどのような場面でしょうか? 以下にいくつかの例を示します。
ユースケース1
あるテキストから過去形で書かれた文を検出し、未来形に変換するというタスクを考えてみます。このタスクを達成するために、過去形の文とそれに対応する未来形の文からなる入出力ペアをいくつか用意したとします。しかし、LLMはこのタスクにうまく対応できず、時制の識別や変換の過程で誤りを犯します。これに対応するために、英語の文法規則や例外をプロンプトに含めて指示を詳細化していくと徐々に性能は向上しますが、プロンプトは膨らみ続け、やがて文法書のようになってしまいます。5章で述べたように、LLMが追従できる指示は、プロンプト内で有限であり、実際に使えるコンテキストウィンドウは、仕様で示されている長さよりもずっと短い場合があります。ここで限界に直面することになります。
ユースケース2
金融関連の文章に対する質問応答タスクを考えてみましょう。LLMは金融の専門用語に必ずしも精通しているわけではないため、正確な応答を生成するのが難しい場合があります。そこで、プロンプトに主要な金融用語の定義を追加すると、ある程度は性能が改善します。しかし、期待するレベルに到達するには、たとえば公認会計士試験の全カリキュラムのような膨大な知識を、限られたコンテキストウィンドウ内に詰め込まなければならなくなるでしょう。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access