ChatGPTのファインチューニングとは何か?
ファインチューニングは、簡単に説明すると機械学習における微調整のことを指します。AIモデルは大量のデータを学習させています。そして、この初期段階の学習を「事前学習」と言いますが、AIモデルの精度をより高めるために再学習を行います。
この再学習によってAIモデルを微調整することを、「ファインチューニング」と言います。AIモデルに対してファインチューニングを行うことで、特定のタスクや用途により適用した回答を返すようになります。
【参考】:OpenAI ドキュメント ファインチューニングについて
ファインチューニングと通常のトレーニングの違いとは
ファインチューニングと通常のトレーニングの違いは一体何でしょうか。ファインチューニングと通常のトレーニングとの違いは、モデルを再利用しているかどうかです。
ファインチューニングでは、事前に学習されたモデルを、さらに新しいデータでトレーニングします。ファインチューニングは通常のトレーニングと異なり、すでに完成しているモデルを再利用するため、モデル構築にかかる時間も短縮できます。
ファインチューニングの仕組み
ファインチューニングの概要について簡単に説明しましたが、ここではより詳しくファインチューニングの仕組みについて解説します。
ファインチューニングでは、上図のように事前学習された言語モデルが必要です。例えば、GPT-3.5をはじめとする言語モデルに対して、さらに追加のデータを学習させます。
その結果、タスクに対して最適化された結果を返してくれるようになるでしょう。ただし、実際の開発では、この結果が期待していたものではなかった場合、さらにトレーニングを重ねることもあります。
【参考】:OpenAI ドキュメント ファインチューニングについて
使用されるアルゴリズムとモデル
ファインチューニングを行うことで、より精度の高いモデルを作成できるということが分かりました。ただしこのファインチューニングは、対応するモデルが限定されています。
現在、ファインチューニングに対応するモデルは、GPT-3.5-turbo-1106やGPT-3.5-turbo-0613、babbage-002、davinci-002、GPT-4-0613などがあります。今後、さらにファインチューニングに対応するモデルが増加する可能性もあるため、詳しく知りたい方は公式サイトの情報を随時、確認しましょう。
【参考】:OpenAI ドキュメント ファインチューニングについて
使用するデータセットの例
ファインチューニングの仕組みを理解したところで、実際に使用するデータセットを見てみましょう。ChatGPTを公開しているOpenAIのドキュメントには、データセットの例が紹介されています。
今回は、文章のスタイルとトーンを調整したいという場合の、データセットを紹介します。このとき、上図のように、データセットはJSON形式で用意しましょう。
また、実際にトレーニングを始める前に、フォーマットが正しいか確認してください。フォーマットのチェック項目などに関しては、公式サイトに記載されています。
【参考】:OpenAI ドキュメント データセットの準備 【参考】:OpenAI ドキュメント フォーマットの検証
ファインチューニングの料金について
ChatGPTのファインチューニングを無料で行いたい方もいるかもしれませんが、実際にファインチューニングを行う際には、現時点では料金が発生します。
料金については、使用する言語モデルによって異なります。例えばGPT-4であれば入力で1,000トークンあたり0.03ドル、出力に1,000トークンあたり0.06ドルかかります。
同様に、他の言語モデルでも料金が発生しますので、開発する際には予算を見積もる必要があります。料金の詳細については、公式サイトにて詳しく掲載されていますので、料金のページを参照してください。
【参考】:OpenAI 言語モデルの価格について
ファインチューニングを行うメリット
ファインチューニングを行うメリットは、3つほど挙げられます。ここでは、それぞれのメリットについて詳しく解説します。
ファインチューニングは、開発者にとっても企業にとってもメリットがありますので、ぜひ参考にしてください。
高度なカスタマイズ
ファインチューニングのメリットは、まず高度なカスタマイズが可能な点です。
例えば、医療分野のAIアシスタントを開発したい場合、ファインチューニングを行えば医療用語や専門分野への理解を強化できます。
また、異なる言語や方言をはじめとする、地域特有のデータを読み込ませれば、特定の文化圏で適切なサービスを提供できます。そのため、日本から海外進出したい企業は、ファインチューニングで海外仕様のAIモデルを作成して、業務効率を目指すことも可能です。
社内の開発・運用コストの削減
前述の通り、ファインチューニングを行う場合は、すでに事前学習が済んだAIモデルを使用します。そのため、AIモデルを1から構築するよりも短時間で開発を行えます。
人的コストや開発工数など、社内のリソースを削減しつつ最適化されたモデルを構築したい場合は、ファインチューニングはおすすめです。
過学習のリスク削減
ファインチューニングの際、AIモデルが訓練データに対して過剰に最適化されてしまうことを、過学習と言います。AIモデルが過学習の状態になると、訓練データにはうまく対応できるものの、新しいデータに対しては上手く機能しません。
ファインチューニングは、新しいデータセットを少しずつ調整するため、この過学習のリスクを減らします。
ユーザの満足度が向上する
ユーザの満足度が向上する点も、ファインチューニングの大きなメリットです。例えばAIモデルを活用して、ユーザ向けにおすすめの商品を表示する機能を作成したとします。このとき、ユーザの好みに基づいた商品の提案ができれば、満足度が上がります。
その他にもカスタマーサポートのAI搭載型のチャットボットなど、様々な場面でAIと顧客が接点を持つ機会は数多くあります。
AIモデルをファインチューニングして、ニーズに合わせたサービスが提供できれば、結果的にビジネスが成功する確率も高まります。
ファインチューニングの利用場面
実際に業務の中でファインチューニングが必要な場面とは、どのような場面でしょうか。ここでは、ファインチューニングの利用場面を3つ紹介します。
文章のトーンや、出力形式を設定したいとき
ファインチューニングはウェブサイトのコンテンツや、あらかじめ固定されたファイル形式で出力したい時に役立ちます。
例えば、企業が自社のメディアのコンテンツをAIを活用して生成する場合、メディア特有の文章のトーンやスタイルを調整する必要があります。この場合、ファインチューニングで微調整を行えば、生成したいメディアのトーンに合わせた言葉遣いに統一できます。
ただし、上記のようにスタイルを統一したい場合は、すでにある自社ブランドの記事やデータを用いますので、既存のデータが必要になると覚えておきましょう。
また出力形式を固定したい時にも、ファインチューニングが役立ちます。例えば、ChatGPTで特定のデータを「JSON形式で出力してください」と依頼すると、前置きの文章など余計な回答結果が出力されてしまうこともあります。
ファインチューニングによってこれらの微調整を行うことで、出力形式を固定することも可能です。
【参考】:OpenAI ドキュメント ファインチューニングについて
専門性に特化した処理を行いたいとき
例えば法律をはじめとする業界に特化した処理を行いたい場合、これまでの事例や深い知識が必要です。
このような場合、専門領域のデータを追加で読み込ませることで、より精度の高いAIモデルを作成できます。
【参考】:OpenAI ドキュメント ファインチューニングについて
コストを削減しつつ精度の高いAIモデルを作成したいとき
AIモデルを比較すると、精度の高いモデルはコストがかかる傾向にあります。例えば、GPT-3.5とGPT-4を比較すると、GPT-4の方が高精度ではあるものの、コストがかかります。
しかし、GPT-3.5をファインチューニングでトレーニングすれば、GPT-4に匹敵するパフォーマンスを実現することも可能です。限られた予算で、精度の高いAIモデルを運用したい時にも、ファインチューニングは有効でしょう。
【参考】:OpenAI ドキュメント ファインチューニングについて
ChatGPTのファインチューニングを行う際の注意点
ChatGPTをファインチューニングするメリットなどは分かりました。しかし、その一方でセキュリティ面などで気をつけるべきポイントがあります。ここでは、ファインチューニングの際に気をつけるべきことをまとめました。
著作権などを侵害していないか
ファインチューニングの際には、追加するデータが著作権や知的財産権を侵害していないか確認する必要があります。その他にも、法律的な側面には十分注意したうえで、ファインチューニングを行いましょう。
セキュリティ面の確認
ファインチューニングを実施するときには、セキュリティ面にも十分注意を払いましょう。外部からの攻撃を受けたり、担当者以外がアクセスできたりする状態で開発を行うのは非常に危険です。
特に企業でファインチューニングを行う場合は、セキュリティ分野の知識を持つエンジニアや担当者が作業を行う必要があります。
ChatGPTのファインチューニングを利用してみよう
ChatGPTの言語モデルにファインチューニングを行えば、より高精度で最適化されたAIモデルを作成できます。
ファインチューニングの際には追加分のデータセットが必要ですが、1からAIモデルを作成する労力と比較すれば、より簡単に作成できます。
自社でChatGPTを利用しているものの、もっと高精度で使いやすいツールにしたい場合は、ぜひファインチューニングにチャレンジしてみましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから