👨‍🏫

Azure OpenAI Service のレガシーモデルと今後のモデル選択戦略

2023/07/07に公開

はじめに

2023 年 7 月 6 日に OpenAI からモデルに関するアップデート情報が公開されました。これに合わせて、Azure OpenAI Service で提供されている一部モデルはレガシーモデルとして位置づけられるようになり、2024 年 7 月 5 日に廃止されることが発表されました。

そこで、本記事では対象になるレガシーモデルの移行先と、今後のモデル選択戦略についてまとめました。

1. レガシーモデル

Azrue OpenAI Service のドキュメントにレガシーモデルについて記載された新たなページが追加され、今後アップデートが行われるメインストリームシリーズとは分けて扱われるようになりました。レガシーモデルは 2024 年 7 月 5 日に廃止されます。

参考

1.1. GPT-3.5

GPT-3.5 シリーズの中で以下のモデルがレガシーモデルとして位置づけられるようになりました。これらは全てシングルターンの Completions API を使用するモデルです。移行先のモデルは新たに追加された gpt-35-turbo-instruct です。

  • text-davinci-002
  • text-davinci-003
  • code-davinci-002

参考

1.2. GPT-3

GPT-3 シリーズは全てのモデルがレガシーモデルとして位置づけられるようになりました。これらは全てシングルターンの Completions API を使用するモデルです。移行先のモデルは GPT-3.5 シリーズのレガシーモデルの場合と同じく gpt-35-turbo-instruct です。

  • text-ada-001
  • text-babbage-001
  • text-curie-001
  • text-davinci-001
  • code-cushman-001

[補足] gpt-35-instruct について

2023 年 9 月 に Azure OpenAI Service にて gpt-35-turbo-instruct (本家 OpenAI では gpt-3.5-turbo-instruct) が利用可能になりました。gpt-35-turbo-instructCompletions API を使用するレガシーモデルとの互換性を持つモデルです。gpt-35-turbo-instruct の最大トークンは 4,097 です。エンコーディングは最新のモデルと同じ cl100k_base を使用するため、レガシーモデルに比べてトークン効率は上がっています。

>>> import tiktoken
>>> print(tiktoken.encoding_for_model('gpt-3.5-turbo-instruct'))
<Encoding 'cl100k_base'>

参考

1.3. Embeddings

Embeddings シリーズの中で以下のモデルがレガシーモデルとして位置づけられるようになりました。かなり以前から本家 OpenAI のドキュメント内で V1 世代のモデル (末尾が 001 のモデル) は非推奨とされていましたが、この度正式に廃止が発表された形です。代替モデルは V2 世代の text-embedding-ada-002 です。なお、V1 世代の Embeddings シリーズには目的別 (類似性 / テキスト検索 / コード検索、クエリ用/検索対象用) にモデルが存在していましたが、今後は text-embedding-ada-002 がこれら全てを代替します。

1.3.1. Similarity

  • text-similarity-ada-001
  • text-similarity-babbage-001
  • text-similarity-curie-001
  • text-similarity-davinci-001
  • text-search-ada-doc-001
  • text-search-ada-query-001
  • text-search-babbage-doc-001
  • text-search-babbage-query-001
  • text-search-curie-doc-001
  • text-search-curie-query-001
  • text-search-davinci-doc-001
  • text-search-davinci-query-001

1.3.2. Text search

  • code-search-ada-code-001
  • code-search-ada-text-001
  • code-search-babbage-code-001
  • code-search-babbage-text-001

参考

2. 今後のモデル選択戦略

この度の発表によって、今後のモデルの選択肢が大幅にシンプルになりました。汎用人工知能 (AGI) を目指している OpenAI 社のビジョンや、前述の Embeddings モデルの統合 (V1 世代の廃止) からの想像にはなりますが、基本方針として汎用的な基盤モデル (Foundation models) に統合していきたい意図を感じます。

また、目立ちづらいポイントではありますが、メインストリームとして残されたモデルのエンコーディングは全て cl100k_base ですので、トークン効率はレガシーモデルに比べて良く、トークン数計算の観点でもモデルシリーズごとに分けて考える必要がなくなりました。

なお、各モデルシリーズにはそれぞれ 3 カ月単位のイテレーションでアップデートされるバージョンの概念が存在します。直近の 2023 年 6 月 のモデルアップデートに関しては以前に別の記事でまとめましたので、そちらを参照してください。

2.1. メインストリームモデル一覧

今後選択肢となるメインストリームモデルを一覧でまとめました。執筆時点ではまだ gpt-35-turbo-instruct の価格情報が公開されていませんでしたので、公開され次第情報を更新します。

モデル 用途 最大トークン 価格 ($/1K tokens) エンコーディング API 備考
gpt-35-turbo テキスト生成・コード生成 4,096 Prompt: $0.0015 / Completion: $0.002 cl100k_base Chat Completions 旧バージョンの 0301 は Prompt Completion ともに $0.002 per 1K tokens
gpt-35-turbo-16k テキスト生成・コード生成 16,384 Prompt: $0.003 / Completion: $0.004 cl100k_base Chat Completions
gpt-4 テキスト生成・コード生成 8,192 Prompt: $0.03 / Completion: $0.06 cl100k_base Chat Completions
gpt-4-32k テキスト生成・コード生成 32,768 Prompt: $0.06 / Completion: $0.12 cl100k_base Chat Completions
text-embedding-ada-002 埋め込み 8,191 $0.0001 cl100k_base Embeddings 出力ベクトルは 1,536 次元
gpt-35-turbo-instruct テキスト生成・コード生成 (レガシーモデルの移行先) 4,097 ? cl100k_base Completions

2.2. モデル選択フローチャート

モデル選択をフローチャートにすると以下のようになります。

参考

おわりに

Azure OpenAI Service を含む大規模言語モデル (LLM) 周辺は現在非常に変化が激しい領域ですので活用するユーザー側の高いアジリティが求められていると感じます。随時情報をキャッチアップして変化に対応するのは大変ではありますが、一方で見方を変えればこれほど巨大なモデルがものの数か月で大きなアップデートが繰り返され、すぐにユーザーが API として利用できる状態になるというパラダイムシフトが起きていると捉えることもできます。ぜひ上手くこの波に乗って LLM を使い倒していきたいと感じます。

以上です。🍵

Microsoft (有志)

Discussion