🗣️

Azure OpenAI Service の gpt-35-turbo と gpt-4 の 2023 年 6 月 バージョン (0613)

2023/07/01に公開

はじめに

Azrue OpenAI Service の gpt-35-turbogpt-4 シリーズに 2023 年 6 月 版の新バージョン (0613) が追加されましたので情報をまとめました。
https://techcommunity.microsoft.com/t5/ai-cognitive-services-blog/introducing-new-and-updated-models-to-azure-openai-service/ba-p/3860351

1. モデル

1.1. 対象シリーズ

具体的には以下の Chat Completions ができる以下のモデルシリーズでバージョン 0613 が利用可能になりました。

  • gpt-35-turbo
  • gpt-4
  • gpt-4-32k

また、同じタイミングで gpt-35-turbo の最大トークンが拡張された gpt-35-turbo-16k (最大 16,384 トークン) が追加されました。gpt-35-turbo-16k は最新バージョンの 0613 のみ指定可能です。

1.2. リージョン

執筆時点で各シリーズ・バージョンが利用可能なリージョンは下表のとおりです。この情報は更新される可能性があるため、最新情報はドキュメントの内容も合わせて確認してください。

シリーズ バージョン East US France Central South Central US UK South West Europe
gpt-35-turbo 0301
gpt-35-turbo 0613
gpt-35-turbo-16k 0613
gpt-4 0314
gpt-4 0613
gpt-4-32k 0314
gpt-4-32k 0613

参考

2. バージョン 0613 の更新点

バージョン 0613 における更新点についてまとめます。

2.1. システムメッセージによる操作性

バージョン 0613では、モデルがシステムメッセージにより従いやすくなり、操作性が向上したとされています。触ってみた上での感覚的なコメントにはなりますが、新バージョンではシステムメッセージを設定したにも関わらずうまく従ってくれない「そういうことじゃないんだよなぁ感」が低減されている印象です。以下は一例です。

gpt-35-turbo (0301)

gpt-35-turbo (0613)

2.2. 価格

gpt-35-turbo の以前のバージョンである 0301 では、Prompt (入力) と Completion (出力) の価格差はありませんでしたが、バージョン 0613 では gpt-4gpt-4-32k シリーズと同じように入出力で異なる価格設定がされています。また、gpt-35-turbogpt-35-turbo-16k の間でも価格差が存在し、gpt-35-turbo-16k の方が 2 倍高い価格設定がされています。

バージョン 0613 の価格

Prompt tokens (入力) Completion tokens (出力)
gpt-35-turbo $0.0015 per 1K tokens $0.002 per 1K tokens
gpt-35-turbo-16k $0.003 per 1K tokens $0.004 per 1K tokens

バージョン 0301 の価格

$0.002 per 1K tokens

参考

2.3. 最大トークン (gpt-35-turbo-16k)

gpt-35-turbo-16k シリーズの登場は、これまで gpt-35-turbo の最大トークン 4,096 がボトルネックになっていたユースケースの突破口になりそうです。

ちなみに、gpt-35-turbo-16kgpt-35-turbo と同じく cl100k_base エンコーディングを使っていますので、日本語に換算すると入出力合計で約 15,000 文字程度を一連の会話の中で扱うことができるようになります。

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

ただし、最大トークンが大きいモデルの場合、Recency bias (直近効果) がより起こりやすくなると考えられます。そのため、プロンプトが長くなる場合は最後に要点をもう一度整理するなどして、gpt-35-turbo ではあまり意識する必要のなかった対応策を検討する必要が出てくるかもしれません。

参考

2.4. Function calling

本家 OpenAI のバージョン 0613 で既に利用可能な Function calling は「もうすぐ来る」そうです。この新機能は Copilot stack におけるオーケストレーションレイヤーの実装を楽にしてくれる機能ですので、期待しつつ待ちましょう。

Function calling will be coming soon and will only be available for the new model versions announced today. (Function calling は近日中に公開される予定で、本日発表された新バージョンのモデルでのみ利用可能となる予定です。)

2023 年 7 月 20 日に Azure OpenAI Service でも Function calling が利用可能になりました。

参考

3. 留意点

ここからは、バージョン 0613 の登場に伴い新たに生じた留意点についてまとめます。

3.1. バージョンのライフサイクル

以前から公開されている以下のシリーズにおける初めてのアップグレードです。同時に、初めて旧バージョンの有効期限切れを経験することになります。これは本家 OpenAI のドキュメントで言うところの "イテレーション" が初めて 1 サイクル回ったという状況です。

  • gpt-35-turbo
  • gpt-4
  • gpt-4-32k

既に Azure OpenAI Service が稼働している環境においては、以下の 3 つの選択肢が考えられます。

  1. 新たなデプロイを作成: モデルバージョンに最新の 0613 を指定したデプロイを作成して、アプリケーションの参照先を切り替える。
  2. 既存のデプロイのアップグレード: 既存のデプロイのモデルバージョンを最新の 0613 に変更するか、"Auto-update to default" に設定して自動的にアップグレードされるようにする。ただし、モデルの挙動が変わる可能性がある点に注意。
  3. 既存のデプロイの自動アップグレードを行わず有効期限切れのタイミングでリクエスト受付停止: ガイドライン公開待ち。

参考

3.2. クォータ

Azure OpenAI Service のクォータは各リージョン内でモデルのシリーズごとに設定されます。gpt-4gpt-4-32k は別々のクォータが設定されていますが、gpt-35-turbo シリーズと gpt-35-turbo-16k は共通のクォータが設定されています。Azure OpenAI Service のクォータ管理に関しては以前に別の記事でまとめましたので、そちらを参照してください。

クォータ共有範囲のイメージ

参考

3.3. On Your Data

執筆時点でバージョン 0613 は、モデルが回答を生成する際のグラウンディング対象のナレッジベースの指定・切り替えができる On Your Data には対応していないようです。RAG パターンでナレッジベースを外部化する際にはモデルの最大トークンがボトルネックになりがちですので、gpt-35-turbo-16k の対応に期待です。

なお、On Your Data の仕組みや使う上で気を付けるべきポイントは以前に別の記事でまとめましたので、そちらを参照してください。

参考

4. バージョンの設定方法

バージョン 0613 の設定方法はとても簡単です。新規デプロイの場合は Model version のドロップダウンリストから 0613 を選択します。既存のデプロイでも、Edit deployment から変更が行えます。

新規デプロイの作成

既存デプロイの変更

参考

おわりに

以上です。🍵

Microsoft (有志)

Discussion