メインコンテンツへスキップ
見出し画像

GPT-3.5 Turboのファインチューニング

    以下の記事が面白かったので、かるくまとめました。

    ・GPT-3.5 Turbo fine-tuning and API updates

    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つのバケットに分類されます。

    ・学習 : $0.008 / 1K Tokens
    ・入力テキスト : $0.012 / 1K Tokens
    ・出力テキスト : $0.016 / 1K Tokens

    たとえば、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モデルの使用料金は次のとおりです。

    画像

    次回



     
     

    npaka

     
     
    プログラマー。iPhone / Android / Unity / ROS / AI / AR / VR / RasPi / ロボット / ガジェット。年2冊ペースで技術書を執筆。アニソン / カラオケ / ギター / 猫 twitter : @npaka123

    あなたへのおすすめ