GPT-3.5 Turboのファインチューニング
以下の記事が面白かったので、かるくまとめました。
1. はじめに
「GPT-3.5 Turbo」のファインチューニングが利用可能になりました。「GPT-4」のファインチューニングもこの秋に提供される予定です。
初期のテストでは、ファインチューニングした「GPT-3.5 Turbo」が、特定の狭いタスクに関して「GPT-4」と同等、またはそれ以上のパフォーマンスを発揮できることが示されています。
他のAPIと同様、ファインチューニングAPIで送受信されるデータは、OpenAIやその他の組織が、他のモデルを学習するために使用することはありません。
2. ファインチューニングのユースケース
今回のリリースにより、開発者は教師ありファインチューニングで、ユースケースに合わせてこのモデルのパフォーマンスを向上できるようになりました。
主なユースケースは、次のとおりです。
(1) 指示に従う能力の向上
ファインチューニングにより、出力を簡潔にしたり、常に特定の言語で応答したりするなど、モデルが指示に従う能力が向上します。
日本語での応答を求めた時、確実に日本語で応答するようにできます。
(2) 特定の応答フォーマットで出力する能力の向上
ファインチューニングにより、特定の応答フォーマットで出力する能力が向上します。これは、コード補完や API 呼び出しの作成など、特定の応答フォーマットを要求するアプリケーションにとって重要です。
JSON書式での応答を求めた時、確実にJSON書式で応答するようにできます。
(3) 口調のカスタマイズ
ファインチューニングにより、口調をカスタマイズすることができます。認識可能な口調を持つキャラクターは、ファインチューニングしてキャラクターの口調と一貫性を持たせることができます。
(4) プロンプトの短縮
ファインチューニングにより、パフォーマンスを確保しながらプロンプトを短縮することもできます。GPT-3.5-Turboのファインチューニングでは、以前のファインチューニングモデルの2倍である 4,000 トークンも処理できます。初期のテスターは、モデル自体に命令をファインチューニングすることでプロンプトのサイズを最大90%削減し、各API 呼び出しを高速化してコストを削減しました。
ファインチューニングは、プロンプトエンジニアリング、RAG、Function Callingなどの他の手法と組み合わせるとさらに効果的です。詳細については、「ファインチューニングガイド」を参照してください。「Function Calling」と「gpt-3.5-turbo-16k」によるファインチューニングのサポートは、今秋後半に提供される予定です。
3. ファインチューニングの手順
ファインチューニングの手順は、次のとおりです。
(1) データの準備。
{
"messages": [
{ "role": "system", "content": "You are an assistant that occasionally misspells words" },
{ "role": "user", "content": "Tell me a story." },
{ "role": "assistant", "content": "One day a student went to schoool." }
]
}
(2) ファイルのアップロード。
curl -https://api.openai.com/v1/files \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "purpose=fine-tune" \
-F "file=@path_to_your_file"
(3) ファインチューニングの実行。
curl https://api.openai.com/v1/fine_tuning/jobs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"training_file": "TRAINING_FILE_ID",
"model": "gpt-3.5-turbo-0613",
}'
モデルのファインチューニングが完了すると、すぐに使用できるようになり、ベースとなるモデルと同じ共有レート制限が適用されます。
(4) ファインチューニングしたモデルの利用。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "ft:gpt-3.5-turbo:org_id",
"messages": [
{
"role": "system",
"content": "You are an assistant that occasionally misspells words"
},
{
"role": "user",
"content": "Hello! What is fine-tuning?"
}
]
}'
近い将来、ファインチューニングUIも提供する予定です。これにより、進行中のファインチューニングのジョブやファインチューニングしたモデルのスナップショットなどに関する情報に、簡単にアクセスできるようになります。
4. 安全性
ファインチューニングを通じてデフォルトモデルの安全機能を維持するために、ファインチューニングの学習データは「モデレーションAPI」と「GPT-4を利用したモデレーションシステム」を介して渡され、安全基準と矛盾する安全でない学習データを検出します。
5. 使用料金
ファインチューニングの使用料金は、初期学習コストと使用コストの2つのバケットに分類されます。
たとえば、3 エポックで学習される 100,000 トークンの学習ファイルを含む gpt-3.5-turbo のファインチューニングのジョブの予想コストは 2.40 ドルになります。
6. GPT-3モデルの更新
7月に、オリジナルのGPT-3ベースモデル (ada、babbage、curie、davinci) が 2024年1月4日に終了すると発表しました。本日、これらの代替として「babbage-002」と「davinci-002」を利用できるようにしました。ベースモデルまたはファインチューニングモデルとしてのモデルです。Completions APIからアクセスできます。
これらのモデルは、新しい API エンドポイント /v1/fine_tuning/jobs を使用してファインチューニングすることもできます。この新しいエンドポイントは、ファインチューニングAPI の将来の進化をサポートするために、ページネーションとさらなる拡張性を提供します。/v1/fine-tunes から更新されたエンドポイントへの移行は簡単で、詳細については新しい「ファインチューニングガイド」を参照してください。 これにより、古い /v1/fine-tunes エンドポイントは非推奨となり、2024年1月4日に廃止されます。
GPT-3のベースモデルとファインチューニングされたGPT-3モデルの使用料金は次のとおりです。
次回
この記事が気に入ったらサポートをしてみませんか?