これまで、ChatGPTのコアエンジンの一つであるGPT-3.5はファインチューニングできませんでした。つまり、GPTは高い汎用性能を示す一方で、特定の業務に特化したモデル精度の向上手段はプロンプティングなどに限定されていました。
しかしながら、2023年8月22日にOpenAIの公式サイトで「GPT-3.5 Turbo fine-tuning and API updates」という待望のアップデートが発表されました。これにより、ついにGPT-3.5でファインチューニングができるようになりました。加えてGPT-4についても、11月6日のOpenAI DevDayで発表された通り、「experimental」として一部ユーザーのアクセスが可能な状態になっています。
振り返ってみると、2023年7月6日に発表された、「GPT-4 API general availability and deprecation of older models in the Completions API」というアップデートの中で、年の後半にGPT-3.5とGPT-4のファインチューニング機能の追加を予告したばかりでした。にも関わらず、GPT-3.5については早くも8月にファインチューニング可能となり、GPT-4についてもexperimentalとはいえ11月にファインチューニング可能となりました。
何が嬉しいのか?
ファインチューニングができるようになって何が嬉しいのでしょうか。大きく分けて以下の2点が挙げられます。
- モデルの精度
- 性能と効率性
モデルの精度については、前述した8月22日の発表の中で「ファインチューニングしたGPT-3.5はGPT-4と同等か、場合によってはGPT-4を超える精度を示す」とされています。また、コスト面からも、精度がGPT-4と同等以上であることで、GPT-4より安価なGPT-3.5を選択できるケースが増えるのはメリットだと言えるでしょう。
性能と効率性の観点で言えば、プロンプトに与える必要のあるデータサイズを最大90%削減することができるため、各APIコールの高速化が見込めます。
まとめると、これまでは大量のデータをプロンプティングすることで精度向上を図っていたのに対し、あらかじめコアモデルであるGPT-3.5にデータを与える(ファインチューニングする)ことができるようになり、プロンプトに渡すデータが最小限に済むようになったのです。
考慮点は?
ファインチューニングの実施にあたっては、以下の点に考慮が必要です。
- コスト
- 時間・労力
コスト面では、増加要素と減少要素があります。
前述の通り、最小限のデータ量で済むことからプロンプトに入力するトークン数を減らすことができ、この点ではコストを削減できます。一方で、ファインチューニング後のモデルへのアクセスの1トークンあたりのコストが増加します。
時間・労力について、公式ガイドでは以下のような注意点が示されています(筆者による意訳)。
ファインチューニングありき、ではなくプロンプトエンジニアリングなどの方法も併せて検討すると良いでしょう。
どうやって使えば良いのか?
ファインチューニングは、以下の5つのステップで試すことができます。
- API Keyの入手
- 学習データの準備
- モデル構築費用の事前チャージ
- ファインチューニングモデルの構築
- モデルの確認
それでは早速、実際に手を動かしながら理解を深めていきましょう。