はじめに
LLMに新しい情報を与える方法の代表例として、RAG(Retrieval-Augmented Generation、検索拡張生成)とファインチューニングがあります。
この記事では、「RAGよりもファインチューニングが効果的」となる状況を具体例とともに説明します。
この記事は、RAG、ファインチューニング、プロンプトエンジニアリングの基礎知識をお持ちの方向けです。ただし、これらの用語に馴染みがない方も、理解を深められるように引用先を示します。
先に結論
タスクに特化したいとき、特に事実よりも形式が重視されるときは、RAGよりもファインチューニングが有効と考えられます。
事実と形式
「事実」は辞書通りの意味でファクトです。「形式」は、「らしさ」や「出力形式」です。
例えば、FAQに基づくチャットボットで正確な情報提供が求められる場合は「事実」が重要です。一方で、回答における性格の一貫性を保ちたい場合は「形式」を重視といえます。
RAGとファインチューニングはその特性から得意領域が異なります。RAGよりもファインチューニングがより有効と考えられる「形式」を重視する例を紹介します。
例①話し方の出力
「話し方」を学習させるにはファインチューニングが有効となり得ます。
例えば、語尾を変えるなどです。次の記事では、語尾を「ござる」に変えるキャラ付けファインチューニングを実験しています。さらにプロンプトエンジニアリングとの比較があります。
結果として、特に軽量のLLMにおいてファインチューニングが有効となり得ることが示唆されています。
ChatGPTのような大規模で高性能なLLMについてはプロンプトエンジニアリングで比較的簡単にキャラ付けができることはよく知られていますが、より小さいLLMにおいては、プロンプトエンジニアリングによるキャラ付けは安定せず、ファインチューニングのほうが効果的であるのではないかと考えられます。
例②絵文字の出力
絵文字の出力に特化したタスク(絵文字分類タスク)を解く際にもファインチューニングが有効となり得ます。
絵文字の出力タスクは、LLMに新たな知識(絵文字)を加えるだけでなく、「絵文字の出力」という出力方法に焦点が当たります。
次の記事では、ファインチューニングによって精度を向上した事例が紹介されています。
例③書き下し文の出力
次の記事は白文から書き下し文を出力する例です。
書き下し文の出力も、LLMに新たな知識を加えるだけでなく、出力方法に焦点が当たります。
例④専門用語の出力
出力される用語を専門用語にすることも「形式」を重視するといえます。
例えば、金融領域です。金融領域には金融で使われる専門用語があります。
金融業界で使用されるLLMが、金融の専門用語を用いて回答されるとLLMの価値が上がります。
例えば、次のような論文では、金融ドメイン特化のためのLLMのインストラクションチューニング(ファインチューニング手法の一つ)について議論されています。
「金融ドメイン特化のための大規模言語モデルのインストラクションチューニング評価」
"FinGPT: Instruction Tuning Benchmark for Open-Source Large Language Models in Financial Datasets"
おわりに
この記事では、事実よりも形式が重視されるときは、RAGよりもファインチューニングが有効と考えられること、ファインチューニングが有効に働く事例を紹介しました。
RAGやファインチューニングを考える際の参考になれば幸いです。
参考