Fine-tuningのメリット・デメリットを教えてください。
メリット
回答速度が上がる
回答速度が上がる理由は主に2つあります。
1. プロンプトが短くなる(参考情報を添付しなくて済む)
2. ベクトルDBからの情報取得などの外部処理を挟む必要がない
2は特に、Embeddingを用いたベクトル検索との比較として語られます。
特定タスク処理能力が向上する
Fine-tuningをすることで、特定のタスク(翻訳、校正、猫語で話すロールプレイなど)への対応能力が向上します。
それは、Few-shot Learningを大量に行うことであり、回答の振る舞いを調教することが可能です。
例えば、以下のようなロールプレイ(口調の読み込み)で見られますが、この口調を大量に読み込ませることで、キャラ崩壊を防ぐことができます。他タスクについても同様の効果をうむことができます。
デメリット
回答生成の過程がブラックボックスになる
AIが最頻値的な回答を特定のアルゴリズムで生成し、さらに読み込ませたデータによっても変わるため、予測ができなくなる。
LLMがアップデートされると都度再学習が必要
現在、LLMがアップデートされる際に、Fine-tuningした内容を引き継ぐことができず、追加データがある場合は一からやり直しになってしまいます。
事実の回答精度を上げるという目的には、向かない手法である
Fine-tuningはあくまでも口調や、「こう言ったら、だいたいこう返す」という指向性を追加することができる手法です。
Few-shot Learningで行っていたことをより大規模にやるイメージで、特定タスク性能の向上などに有効です。
全体として、手法の一つとして捉えておくと良いかと思います。
より詳しく知りたい方は、こちらの記事をご覧ください。
ファインチューニングとは?ChatGPTに必須の技術を院生が徹底解説