🙂

OpenAI DevDay♪

2024/10/03に公開

はじめに

先日OpenAI DevDayが開催されましたね!

https://openai.com/devday/
今回4つのことがアナウンスされました。

  • Realtime API
  • Vision to the fine-tuning API
  • Prompt Caching in the API
  • Model Distillation in the API

Realtime API

先日Advanced Voice ModeがOpenAIから発表されて話題になりましたが、早速そのAPIがアナウンスされました。現時点では利用可能にはなっておらず、数日以内にOpenAIのPlaygroundで利用可能になるとのことです。
今後、リアルタイム翻訳アプリがでてきそうですね。
また、会話できるロボットみたいなものもでてきそうですね。

気になる価格について。Realtime API は、テキスト トークンとオーディオ トークンの両方を使用します。テキスト入力トークンの価格は100万トークンあたり 5ドル、出力トークン100万トークンあたり 20 ドルです。オーディオ入力の価格は100万トークンあたり100ドル、出力の価格は100万トークンあたり200ドルです。これは、オーディオ入力1分あたり約0.06ドル、オーディオ出力1分あたり約0.24ドルに相当します。ので、トークン量によりますが1分あたり入出力合わせて約0.3ドル、日本円で約43円くらいでしょうか。まだまだ高い水準と思いますが、今後価格競争がありそうですね。

Vision to the fine-tuning API

これは画像を追加学習する機能となります。
たとえば、発電所内のキズや錆の写真を学習させて、異常を検知するようなユースケースが考えられます。
また、これはできるかわからないですが相場のチャートを学習させて、この後の相場が上がるか下がるか占いということももしかしたらできるかもしれません。笑

Prompt Caching in the API

Claudeで有名なAnthropic社も発表したキャッシュ機能も発表されましたね。
これは、プロンプトのうち何度も固定で使う部分はキャッシュで保存して安くするサービスとなります。
https://www.anthropic.com/news/prompt-caching
Anthropicは8,9割のコスト削減となっていますが、OpenAIは現時点で半額のようです。
一方で、AhtoropicはAPI Requestの「cache_control」で明確にキャッシュすることを宣言しないと使えないのに対して、OpenAIは自動的にキャッシュの対象か判断してくれるようです。

Model Distillation in the API

そもそもModel Distillationとは何でしょうか?和訳すると、モデルの蒸留らしいです。
これは、コストが比較的安く軽いLLMに対して、上位の高性能LLMの出力を使ってチューニングするサービスです。
高性能LLMの出力を活用してチューニングということで、コストメリットがあるサービスだなと思っています。
ただ、ここできになるのが通常のファインチューニングとの違いは?です。
Perplexityで整理したので、載せておきます!
OpenAIのModel Distillation in the APIは、通常のFine-tuningとは異なるアプローチを取っています。以下に主な違いを説明します。

Model Disillationと通常のFine-tuningの違いは

目的の違い

Model Distillation:

  • 大規模モデルの知識を小規模モデルに適応させることが主な目的です。
  • 計算効率とコスト削減を重視しています。
    通常のFine-tuning:
  • 既存のモデルを特定のタスクや領域に適応させることが主な目的です。
  • モデルの性能向上に焦点を当てています。

プロセスの違い

Model Distillation:

  1. 大規模モデル(教師モデル)の出力を保存します。
  2. 保存された出力を使用して小規模モデル(生徒モデル)を訓練します。
  3. 小規模モデルが大規模モデルの性能に近づくよう調整します。
    通常のFine-tuning:
  4. 特定のタスクに関連するラベル付きデータセットを準備します。
  5. そのデータセットを使用して既存のモデルを微調整します。

データの利用方法

Model Distillation:

  • 大規模モデルの出力(ソフトラベル)を学習データとして使用します。
  • 人間が作成したラベルデータが必ずしも必要ではありません。
    通常のFine-tuning:
  • 人間が作成したラベル付きデータセットを直接使用します。

結果のモデルサイズ

Model Distillation:

  • 通常、元のモデルよりも小さなサイズのモデルが生成されます。
    通常のFine-tuning:
  • 元のモデルとほぼ同じサイズのモデルが生成されます。

適用シナリオ

Model Distillation:

  • リソースが制限された環境(モバイルデバイスなど)での展開に適しています。
  • レイテンシーの改善が必要な場合に有効です。
    通常のFine-tuning:
  • 特定のドメインや言語での性能向上が必要な場合に適しています。
  • データセットが十分に大きい場合に効果的です。
    Model Distillationは、大規模モデルの知識を効率的に小規模モデルに適応させることで、計算リソースとコストを削減しつつ、特定のタスクでの高いパフォーマンスを実現することを目指しています。一方、通常のFine-tuningは、既存のモデルを特定のタスクに適応させることで全体的な性能を向上させることに重点を置いています。

さいごに

いかがでしたか。この記事ではOpenAI DevDayを紹介させていただきました。個人的には「Vision to the fine-tuning API」が興味深く、自分でも試してみたいなと思いました!

Accenture Japan (有志)

Discussion