• 会員限定
  • 2024/02/16 掲載

ファインチューニングとは何かをわかりやすく解説、RAGとの違い、生成AIで必須タスクの注意点とは

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
記事をお気に入りリストに登録することができます。
多くの企業において生成AIを任意のタスクに特化させ活用したいという機運が高まっている。この文脈で最近注目度が高まっているのが「ファインチューニング(Fine-tuning:微調整)」だ。生成AIのカスタマイズにおいては、これまでRAG(Retrieval-Augmented Generation)によるアプローチが主流だったが、関連ツールやサービスの充実によりファインチューニングを選ぶケースが増えている。ファインチューニングとはどのようなものなのか、RAGとの違いを含め、活用例と注意点をお伝えしたい。

執筆:細谷 元、構成:ビジネス+IT編集部

執筆:細谷 元、構成:ビジネス+IT編集部

バークリー音大提携校で2年間ジャズ/音楽理論を学ぶ。その後、通訳・翻訳者を経て24歳で大学入学。学部では国際関係、修士では英大学院で経済・政治・哲学を専攻。国内コンサルティング会社、シンガポールの日系通信社を経てLivit参画。興味分野は、メディアテクノロジーの進化と社会変化。2014〜15年頃テックメディアの立ち上げにあたり、ドローンの可能性を模索。ドローンレース・ドバイ世界大会に選手として出場。現在、音楽制作ソフト、3Dソフト、ゲームエンジンを活用した「リアルタイム・プロダクション」の実験的取り組みでVRコンテンツを制作、英語圏の視聴者向けに配信。YouTubeではVR動画単体で再生150万回以上を達成。最近購入したSony a7s3を活用した映像制作も実施中。
http://livit.media/

photo
ファインチューニングは大規模言語モデルを活用する際に理解必須だ
(Photo/Shutterstock.com)

ファインチューニングとは?RAGと何が違うのか

 OpenAIのGPT-3.5などの大規模言語モデル(LLM)は、膨大な量のデータにより事前トレーニングされており、さまざまなタスクをこなすことが可能だ。とりわけOpenAIのフラッグシップモデルであるGPT-4は、ネット上にあるすべての公開データを使いトレーニングされているといわれており、現時点で他モデルを圧倒するパフォーマンスを示している。

 それでも、企業で大規模モデルを活用したい場合、想定タスクに関連する追加データをモデルに与え、そのタスクをこなせるようにカスタマイズする必要が出てくる。このカスタマイズにおいて、現在2つのアプローチが存在する。

 1つは、大規模言語モデルのプロンプトに関連情報を追加し、その情報をもとに、回答を生成させるRAG(Retrieval-Augmented Generation)によるアプローチ。

 もう1つがファインチューニングによるアプローチだ。生成AIにおけるファインチューニングとは、事前学習したLLMを別のデータセットで再トレーニングし、新しい目的に合わせた調整を行うことを指す。エンドユーザー側もファインチューニングにより、事前トレーニングされた大規模言語モデルをカスタマイズすることができる。

 たとえば、企業のカスタマーサポートセンターにおける特定商品に関する顧客とのやり取りデータを使い、大規模言語モデルをファインチューニングすることで、その特定商品に関して、当該カスタマーサポートセンターの特色を持った形で受け答えするようにカスタマイズできる。

 これはRAGアプローチでも可能だが、この場合プロンプトに特定商品に関する情報ややり取りのルールを毎回記載する必要があり、入力プロンプトが増え、API利用料が高くなってしまう場合がある。また、入力プロンプトの量が多くなってしまうことで、レスポンス/出力スピードが落ちる可能性も高くなる。

 エンドユーザー側ではこれまで、ベクトルデータベースなどRAG関連のプラットフォームが充実していたこともあり、大規模言語モデルのカスタマイズにおいてはRAGが主流だった。しかし、OpenAIのファインチューニングAPIGradient.aiが提供するオープンソースモデル向けのファインチューニングパッケージの登場により、ファインチューニングがより身近になっており、このアプローチへの注目が高まっているのだ。

画像
ファインチューニングとRAGの違いをわかりやすく解説する
(Photo/Shutterstock.com)

開発段階におけるファインチューニングの重要性

 ChatGPTの開発段階においてもファインチューニングは非常に重要な役割を果たしている。

 ChatGPTの開発では大きく4つのステップがあった。1つ目のステップは、いわゆるネット上の公開データによるトレーニングだ。トークン数は、1兆以上に上る膨大なものとされ、このトレーニングでは「アウトプットコンプリーション」に焦点が当てられている。

 これが意味するところは、ステップ1で出来上がった事前トレーニングモデルは、何らかのアウトプットを生成することが可能ではあるものの、この段階ではチャットに最適化されておらず、生成するアウトプットが必ずしも質問に対する回答にはならないということだ。

 たとえばステップ1の事前トレーニングモデルに「How to make a cake(ケーキの作り方を教えて)」という質問を投げかけた場合、以下のようなアウトプットが生成される。

  • 「for my sister’s birthday(妹の誕生日のために)」など質問に対するコンテクストを追加するアウトプット。
  • 「What taste should I choose? Where to get ingredients?(どの味を選びますか?どこで食材を入手しますか?)」などフォローアップ質問の生成。
  • ケーキの作り方の説明。

 望ましいのは3番目のケーキの作り方の説明であるが、この段階においては、1と2のアウトプットも正解となるため、3番目のような質問-回答形式のやり取りが100%発生するとはいえない状況だ。

 ここで登場するのが、ステップ2におけるファインチューニングだ。このステップにおいては、ステップ1のようなネット上から集めた乱雑なデータではなく、demonstration dataと呼ばれる高品質なデータが用いられる。

 これには、ユースケースごとにカスタマイズされたプロンプト-レスポンスのペアデータが含まれる。質問-回答形式のペアデータによりファインチューニングすることで、常に上記の3番目のような回答を生成することができるようになる。 【次ページ】RLHFの2つのステップを経てサービスとして展開

関連タグ

関連コンテンツ

あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます