7章ファインチューニング
ファインチューニングとは、モデル全体または一部を追加で学習し、特定のタスクに適応させるプロセスです。5章と6章では、モデルに指示、コンテキスト、ツールを与えて適応させるプロンプトベースの手法について説明しましたが、ファインチューニングでは、モデルの重みを調整することで適応させます。
ファインチューニングにより、モデルのさまざまな側面を強化できます。コーディングや医療分野の質問応答といったドメイン固有の能力を向上させたり、安全性を高めたりできます。しかし、最も多く利用される目的は指示追従能力の向上であり、特に特定の出力スタイルやフォーマットを確実に遵守させるために使われます。
ファインチューニングは、ニーズに合ったモデルを作るのに役立ちますが、多額の初期投資が必要です。私がよく聞かれる質問に、「いつファインチューニングを行い、いつRAGを使うべきか」があります。この章では、ファインチューニングの概要を述べた後、実施すべき理由とそうでない理由、そして他の手法との使い分けを判断するシンプルなフレームワークについて説明します。
プロンプトベースの手法と比較して、ファインチューニングははるかに多くのメモリを必要とします。現在の基盤モデルの規模では、単純なファインチューニングであっても単一のGPUで利用可能なメモリ量を上回ることも珍しくありません。このため、ファインチューニングは高コストで実行も困難です。この章で繰り返し述べるように、メモリ要件の削減は多くのファインチューニング技術が開発される主な動機となっています。この章では、これらの技術を理解する上で重要な、モデルのメモリフットプリントに影響を与える要因を概説するセクションを設けています。
メモリ効率の良いアプローチとしてファインチューニング分野で主流となっているアプローチが、PEFT(parameter-efficient ...
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