【#6】ファインチューニングってなに?
おはようございます。
データサイエンスを学んでいる、大学4年生のUKIです。
今日は、『ファインチューニングってなに?』というテーマでお話ししたいと思います。
以前、消費者物価指数や実質賃金などの経済指標について詳しく学びを共有した回(消費者物価指数ってなに?)がありましたが、今日はそれのAI・データサイエンス版といった感じです。
ファインチューニングとは
今回学ぶテーマは、「ファインチューニング」です。
ファインチューニングは、AIや機械学習の分野で使われる用語で、ChatGPTに用いられている技術です。
ファインチューニングは、「大規模データで事前学習した汎用的な機械学習モデル(特にニューラルネットワーク)を特定のタスクに特化したモデルにするために使われる技術のこと。」です。
具体的には、最終層に新たな層を追加し、その後、追加した層と学習済みモデルの一部または全体を追加で学習します。
参考:ファインチューニングとは?仕組みや転移学習・RAGとの違いを院生が徹底解説 | WEEL
転移学習との違い
ファインチューニングと似た手法で、「転移学習」というものがあります。
転移学習は、ファインチューニングと同じく、事前学習済みモデルを特定のタスクに特化させるための技術です。しかし、モデルの出力層に新しい層を追加し、その層だけを追加学習するところが、ファインチューニングと異なる点です。また、必要とするデータの量がファインチューニングよりも少ないことが特徴です。
つまり、追加で学習させるデータが豊富であればファインチューニング、データ量が少なければ転移学習が適していると考えられます。
※この転移学習のように、その他の層のパラメータを全くいじらないことを「凍結(フリーズ)」ともいうそうです。
参考:ファインチューニングとは?仕組みや転移学習・RAGとの違いを院生が徹底解説 | WEEL
インストラクションチューニングとの違い
インストラクションチューニングは、ユーザーの指示に従った出力を生成することを目的とした、ファインチューニングの手法のことです。
具体的には、「ユーザーの指示」と「それに対する出力」のペアを多種多様なタスクについて用意することで、モデルが未知の指示に対しても適切な出力を生成できるようにします。
参考:v1.1 チューニング済みモデル・データ公開 - LLM 勉強会 (nii.ac.jp)
RAGとの違い
ファインチューニングと同じく機械学習モデルを訓練する方法として、RAG(Retrieval-Augmented Generation)というものがあります。
RAGを日本語に訳すと「検索拡張生成」で、大規模言語モデル(LLM)によるテキスト生成に外部情報の検索を組み合わせることで、回答精度を向上させる技術のことです。
※RAGは、ファインチューニングの代替手段ではなく、お互いが補完する関係にあります。
RAGによって、大規模言語モデル(LLM)の出力結果を簡単に最新の情報に更新できるようになったり、出力結果の根拠が明確になったり、ハルシネーション(事実に基づかない情報を生成する現象)を抑制したりすることができます。
具体的には、ユーザーから入力された質問に関連する情報をデータベースや文書から検索する「検索フェーズ」と、検索フェーズで得られた検索結果とユーザーからの質問を組み合わせたプロンプトを大規模言語モデルに入力し、テキスト生成結果を取得する「生成フェーズ」で構成されています。
※RAGの回答精度向上には、「外部情報のフォーマットの整備」や「検索方式の設計」など、検索フェーズの工夫が特に重要になります。
参考:RAG | 用語解説 | 野村総合研究所(NRI)、ファインチューニングとは?仕組みや転移学習・RAGとの違いを院生が徹底解説 | WEEL
まとめ
最後まで読んでいただき、ありがとうございました。
今日は、「ファインチューニング」を中心に、AI・データサイエンス関連の用語について学んだことを共有させていただきました。今後も日々の活動や学び、考えていることを発信していくので、よろしくお願い致します。
また、X(旧:Twitter)でも発信しているので、フォローお願いします。
Xでnoteの更新を投稿しているので、引用リポストで感想などを呟いていただけると、大変うれしいです。
僕がすかさずリポストさせていただきます!
また、年齢や業界・業種を問わず、いろんな方と繋がりたいので、DMもお待ちしております!
この記事が気に入ったらサポートをしてみませんか?