第5部 LLMはどう作られるか
第18章ファインチューニングと指示チューニング
事前学習を終えたモデルは、言葉の土台は持っていますが、そのままでは使いにくい面があります。この章では、 その土台を実際の用途に役立つ形へ整える、ファインチューニングと指示チューニングを見ていきます。 私たちが日常の言葉で指示できるのは、この段階のおかげです。
18.1事前学習だけでは使いにくい理由
事前学習を終えたモデルは、文章の続きを予測することはできても、こちらの指示に沿って的確に応答するようには整えられていません。
事前学習を終えたモデルは、次に来る言葉をうまく予測できます。しかし、これは「もっともらしい続きを作る」 ことに長けているだけで、こちらの意図どおりに応答してくれるとは限りません。たとえば「日本の首都について 教えて」と入力しても、答えを返すのではなく、「教えてほしいことがある」といった、質問文の続きになりそうな 文章を生成してしまうことがあります。
これは、事前学習が「文章の続きを作る」訓練だったことの、自然な結果です。膨大な文章には、質問のあとに 答えが続くものもあれば、質問が並んでいるだけのものもあります。事前学習だけのモデルは、いわば知識は 豊富でも、「指示には答えで応じる」という振る舞いをまだ知らない状態なのです。ここに、追加の調整が 必要になります。
18.2ファインチューニング:用途に合わせて調整する
ファインチューニングとは、事前学習済みのモデルに、特定の用途に沿ったデータで追加の学習を行い、その用途に適した振る舞いへ調整することです。少ないデータと計算で仕上げられます。
ファインチューニングは、事前学習で作った土台を活かしつつ、特定の目的に合わせて追加で学習させる方法です。 ゼロから作り直すのではなく、すでに言葉の土台を持ったモデルに、目的に沿ったデータを追加で学ばせます。 これにより、少ないデータと計算でも、その用途に適したモデルに仕上げられます。第10章で見たとおり、 一から学習させるのは非常に重いので、既存の土台を活かせるこの方法は、現実的で効率的です。
身近なたとえ
基礎教育を終えた人が、就職後に特定の仕事のやり方を研修で覚えるのに似ています。一般的な力はすでに あるので、その職場に合わせた部分だけを追加で学べば、短期間で戦力になれます。ファインチューニングは、 この「配属先に合わせた研修」にあたります。
18.3指示チューニング:指示に従えるようにする
指示チューニングとは、さまざまな指示とその適切な応答の例を学ばせることで、モデルが人の指示に沿って応答できるようにする調整です。対話型LLMの使いやすさの土台です。
指示チューニングは、ファインチューニングの一種で、とくに「指示に従う」力を身につけさせるものです。 「要約してください」「翻訳してください」といった多様な指示と、それに対する適切な応答の例を大量に 学ばせます。これによって、モデルは初めて見る指示に対しても、その意図をくんで応答できるようになります。
具体例:指示と応答の組を学ばせる
次のような「指示」と「望ましい応答」の組を、たくさん学ばせます。
指示 次の文を丁寧な言い方に直して:「資料を送って」
応答 「お手数ですが、資料をお送りいただけますでしょうか。」
こうした組を数多く学ぶことで、モデルは「指示にはこう応じるものだ」という振る舞いを身につけます。 私たちがLLMに日常の言葉で指示を出すと、それらしく応じてくれるのは、この指示チューニングのおかげです。
18.4ベースモデルとチューニング済みモデル
事前学習だけを終えた状態をベースモデル、その後の調整を経た状態をチューニング済みモデルと呼びます。私たちが使うのは主に後者です。
事前学習だけを終えた段階のモデルは、ベースモデルと呼ばれます。豊富な知識の土台を持ちますが、指示への 応じ方は整っていません。これに対して、ファインチューニングや指示チューニングを経たものが、チューニング 済みのモデルです。私たちが対話型のサービスとして使うLLMは、こうした調整を経て、指示に沿って応答できる ように整えられたものがほとんどです。
実務メモ:まずプロンプトで足りることも多い
自分の用途に合わせたいとき、すぐにファインチューニングを考える必要はありません。多くの場合、第6部で 見るプロンプトの工夫や、第8部で見るRAGで外部知識を渡すことで、十分に目的を果たせます。ファイン チューニングは、専用のデータを用意し、学習を回す手間と費用がかかります。まずはプロンプトやRAGで 試し、それでも足りないときに検討する、という順序が現実的です。手軽な方法から試すのが、遠回りを 避けるコツです。
もっとも、指示に従えるようになっても、その応答が人にとって望ましく安全なものであるとは限りません。 次の章では、応答を人間の好みや意図に沿わせる、もう一段の調整であるRLHFとアライメントを見ていきます。
この章の要点
- 事前学習だけのモデルは、続きの予測は得意でも、指示に沿った応答をするようには整っていません。
- ファインチューニングは、事前学習済みモデルを特定用途向けに追加学習して調整する方法です。
- 指示チューニングは、多様な指示と応答の例を学ばせ、指示に従えるようにする調整です。
- 事前学習のみの状態をベースモデル、調整済みをチューニング済みモデルと呼び、通常は後者を使います。
- 用途に合わせたいときは、まずプロンプトやRAGで試し、足りなければファインチューニングを検討します。