見出し画像

OpenAI API の Model Distillation の概要

以下の記事が面白かったので、簡単にまとめました。

Model Distillation in the API


1. Model Distillation

Model Distillation」は、OpenAIプラットフォーム内で蒸留を行うための機能です。「o1-preview」「GPT-4o」などのフロンティアモデルの出力を使用して、「GPT-4o mini」などの費用対効果の高いモデルの性能をファインチューニングおよび改善できます。

2. Model Distillation の構成要素

「Model Distillation」には、以下の構成要素が含まれます。

2-1. Stored Completions

Stored Completions」を使用することで、開発者APIを介して「GPT-4o」「o1-preview」などで生成された入出力ペアを自動的にキャプチャして保存することで、蒸留用のデータセットを簡単に生成できるようになりました。詳しくは「this integration guide」を参照してください。

2-2. Evals

Evals」を使用することで、開発者は特定のタスクでモデルの性能を測定するために、OpenAIのプラットフォームでカスタム評価を作成および実行できるようになりました。評価スクリプトを手動で作成し、異なるロギングツールを統合する代わりに、「Evals」はモデルの性能を測定するための統合された方法を提供します。「Stored Completions」のデータを使用するか、既存のデータセットをアップロードして評価できます。

2-3. Fine-tuning

「Stored Completions」「Evals」は、OpenAIプラットフォームの「Fine-tuning」機能と完全に統合されています。つまり、開発者は、「Stored Completions」で作成されたデータセットを「Fine-tuning」ジョブで使用し、「Evals」を使用してファインチューニングされたモデルで評価できます。

3. Model Distillation の使い方

「Model Distillation」の使い方は、次のとおりです。

(1) 蒸留モデル (GPT-4o-mini) を評価。
この評価は、蒸留モデルの性能を継続的にテストし、デプロイするかどうかの決定に役立ちます。

(2) 「Stored Completions」で「GPT-4o-mini」をファインチューニングするタスクの「GPT-4o」の出力を使用して蒸留データセットを作成。
Chat Completions API」で「store:true」を設定し、入出力ペアを保存します。これら保存されたデータに、レビュー、フィルタリング、タグ付けを行うことで、ファインチューニングまたは評価のための高品質のデータセットを作成できます。

response = client.chat.completions.create(
  model="gpt-4o",
  messages=[
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "what's the capital of the USA?"
        }
      ]
    }
  ],
  store=True,
  metadata={"username": "user123", "user_id": "123", "session_id": "123"}

(3) データセットを使用して「GPT-4o mini」をファインチューニング。
ファインチューニングが完了したら、「Evals」に戻って、ファインチューニングされた「GPT-4o-mini」が「GPT-4o」と比較して性能基準を満たしているかどうかをテストします。

3. Model Distillation の利用料金

Model Distillation」は、現在すべての開発者が利用でき、「GPT-4o」「o1-preview」を含むすべてのモデルを蒸留するために使用できます。また、開発者が蒸留を始めるのを助けるために、10月31日までGPT-4o miniで1日あたり200万の無料学習トークンとGPT-4oで1日あたり100万の無料学習トークンを提供しています。その制限を超えると、蒸留モデルの学習と実行のコストは、API価格ページで確認できる標準のファインチューニングの利用料金と同じになります。

「Stored Completions」は無料で入手できます。ベータ版で利用可能な「Evals」は、使用されたトークンに基づいて標準モデル価格で請求されます。年末まで開発者は、OpenAIで評価を共有するためにオプトインすると、無料で評価 (週に最大7回) を実行できます。共有された評価は、将来のモデルを改善し、評価するのに役立ちます。

詳しくはドキュメントを参照してください。



この記事が気に入ったらサポートをしてみませんか?