💡

OpenAI,DevDay2023で発表されたことをまとめる

2023/11/08に公開

💻 OpenAI, DevDay2023で発表されたことをまとめる

🌟 Introduction: はじめに

こんにちは、皆さん!先日、2023年11月6日に開催されたOpenAI DevDay2023で発表された内容をまとめてみました。
サムアルトマン氏の怒涛の機能紹介が凄かったですね!
今回、注目すべき発表は"GPT-4 Turbo"についてです。他にも非公式のコミュニティで噂になっていたGPTsGPTstoreAssistantsAPI等内容が盛りだくさんです!

Youtube目次

https://www.youtube.com/live/U9mJuUkhUzk?si=oHqRuw5Uoh3AsMNu

GPT-4 Turbo

該当のYoutube部分

ではさっそく、GPT-4 Turboの発表内容について見ていきましょう。6つの主要な機能が紹介されました!

  1. コンテキストの長さ(Context length)
  2. より多くの制御性(More control)
  3. 知識の改善(Better knowledge)
  4. 新たなモーダル性(New modalities)
  5. カスタマイズ性(Customization)
  6. より高いレート制限と著作権シールドの提供(Higher rate limits & Copyright Shield)
  7. GPT-4 Turboの価格設定(GPT-4 Turbo Pricing)
    これらの内容について、以下で詳しく見ていきます!

1. Context length: コンテキストの長さ

(該当のYoutube部分)

今年の3月に初版がリリースされ、7月には全ての開発者に対して一般公開されたGPT-4。その次世代モデルとして、GPT-4 Turboのプレビューが立ち上げられました!

GPT-4 Turboはより高性能であり、2023年4月までの世界の出来事についての知識を持っています。また、128kのコンテキストウィンドウを持つため、一つのプロンプト内に300ページ以上のテキストを収めることが可能です。さらに、パフォーマンスも最適化されており、入力トークンの価格がGPT-4に比べて3倍安く、出力トークンの価格も2倍安くなりました。

GPT-4 Turboは、APIにgpt-4-1106-previewを渡すことで全ての有料開発者が試すことができます。そして、今後数週間にわたり、安定した本番用モデルのリリースが予定されています!

2. More control: より多くの制御性

該当のYoutube部分
このセクションでは以下の内容を説明します:

2-1. JSON mode: JSONモード

(該当のYoutube部分)

OpenAIの新しいGPT-4 Turboは、指定された形式(例:「常にXMLで応答する」など)でのレスポンス生成など、指示に慎重に従うタスクで以前のモデルよりも優れたパフォーマンスを発揮します。特に、有効なJSON形式でのレスポンス生成を保証する新しい「JSONモード」がこれに該当します。

使用方法:
APIリクエスト時に response_format{ type: "json_object" } と設定します。

注意点:

  1. JSONモードを使用する場合、必ず「JSON形式で返答せよ」という指示を出すこと。
  2. レスポンスが途中で切れる可能性があるため、パース前に finish_reason を確認すること。
  3. 出力が特定のスキーマに一致することは保証されない。
  4. 関数呼び出し時に引数を生成する場合、JSONモードは自動的に有効化されます。

2-2. Parallel Function Calling: 並列関数呼び出し

(該当のYoutube部分)

「Parallel Function Calling」という新機能が発表されました。この機能は、簡単に言うと一度の呼び出しで複数の関数を呼び出すことができる機能です。

Parallel Function Callingって何?

例えば、ボストン、サンフランシスコ、東京の3箇所の天気を同時に取得したいときなど、1つのレスポンス内で複数の関数を呼び出すことができます。それぞれの関数呼び出しの結果は、レスポンス内のtool_call_idを参照することで関連付けることができます。

具体的には、get_current_weatherという単一の関数を定義し、モデルがそれを一度に複数回呼び出します。関数からのレスポンスをモデルに戻した後、次に何をするかはモデルに任せます。モデルはユーザー向けのメッセージを生成してボストン、サンフランシスコ、東京の温度を伝えることができます。クエリに応じて、モデルは再び関数を呼び出すことを選択するかもしれません。

特定の関数を強制的に呼び出したい場合は?

特定の関数を強制的に呼び出したい場合や、モデルにユーザー向けのメッセージを生成させたい場合は、tool_choiceパラメータを使用して指示を出すことができます。例えば、tool_choiceに特定の関数名を設定すると、その関数が呼び出されます。また、tool_choice: "none"を設定するとモデルはユーザー向けのメッセージを生成します。なお、デフォルトの動作(tool_choice: "auto")では、モデルが自身で関数を呼び出すかどうか、そしてどの関数を呼び出すかを決定します。

Function calling

2-3. Reproducible outputs: 再現可能な出力

(該当のYoutube部分)

OpenAIのAPIでは、「シードパラメータ(seed)」と「システムフィンガープリント(system_fingerprint)」を利用して、APIからの出力に一貫性と再現性を持たせることが可能です。簡単に言うと、同じリクエストを送信すれば、同じ結果が得られる!みたいな感じです。

シードパラメータ(seed)
  • モデルがほとんどの場合一貫した結果を返すようにすることで、出力を再現可能にします。
  • デバッグのためのリクエストの再実行、より包括的なユニットテストの作成、あるいはモデルの挙動に対する制御度を高めるなどの用途に役立ちます。
  • 同じ値を設定してリクエストを送れば、同じかほぼ同じ結果が得られます。ただし、他の全てのパラメーターもリクエスト間で完全に揃える必要があります。
システムフィンガープリント(system_fingerprint)
  • これはモデルが使っているバックエンド設定を示す特徴量です。
  • シードパラメータと組み合わせて使用することで、モデルの動作に影響を与える可能性のあるバックエンドの変更を把握するのに役立ちます。

2-4. log probabilities: Logprob表示機能

(該当のYoutube部分)

近日中にOpenAIは、GPT-4 TurboとGPT-3.5 Turboが生成する最も可能性の高い出力トークンのログ確率(logprob)を返す新機能を公開予定です。この機能は、検索体験での自動補完などの特徴を構築する際に役立つそうです。

3. Better knowledge: 知識の改善

(該当のYoutube部分)

OpenAIのモデルは常に進化し続けています。以前は2021年9月までのWebデータを使用してトレーニングされていましたが、新たな更新により、モデルは2023年4月までのWebデータを学習することが可能となりました。この進歩により、モデルは最新の情報をより正確に反映し、より現実的な応答を生成することができます。そしてこの改善は今後も続けられる予定です。

4. New modalities: 新たなモーダル性

(該当のYoutube部分)

OpenAIはDALL-E3、GPT-4 Turbo with Vision、TTS(テキスト-音声変換)をAPIに統合しました。また、オープンソースの音声認識モデルであるWisper V3の次期バージョンが公開され、APIとして提供されます。

このセクションでは以下の内容を説明します:

4-1. GPT-4 Turbo with VisionDALL-E3

(該当のYoutube部分)

GPT-4 Turbo with Visionは画像を入力として解析するAIで、キャプション生成や詳細な画像分析が可能です。一方、DALL·E 3は直接アプリや製品に統合可能な画像生成ツールで、プログラムによる画像やデザインの生成が可能です。

GPT-4 Turbo with Vision
  • 画像を入力として解析するAI。
  • Chat Completions APIで使用可能。
  • キャプション生成、実世界画像の詳細分析などが可能。
  • 開発者はgpt-4-vision-previewをAPIで利用することでアクセスできます。
  • 料金は画像サイズに応じて決定(Pricing)。例:1080×1080ピクセルの画像 → $0.00765。
画像解像度 (Image Resolution) タイル数 (Number of Tiles) ベーストークン数 (Base Tokens) タイルトークン数 (Tile Tokens) 合計トークン数 (Total Tokens) 合計料金 (Total Price)
150px × 150px 1 × 1 = 1 85 170 × 1 = 170 255 $0.00255
低解像度 (Low Resolution) - 85 - 85 $0.00085

注: 画像のサイズに応じて料金が変動します。

上記の料金はあくまで具体的な例であり、実際の使用状況により変動する可能性があります。具体的な計算はここから(Pricing)

DALL·E 3

4-2. Text to Speech (TTS): テキストから音声へ

(該当のYoutube部分)

OpenAIが開発した新しいText-to-Speech(TTS)モデルは、テキストを人間同等の音声に変換できる強力な機能を持っています。このAPIでは、現在6種類のプリセット音声(alloy, echo, fable, onyx, nova, shimmer)が利用可能で、二つのモデルが提供されています。"tts-1"はリアルタイムの使用ケース向けに最適化され、"tts-1-hd"は品質向けに最適化されています。

使用方法
# 使用例 (alloy voice)
from pathlib import Path
from openai import OpenAI

client = OpenAI()
speech_file_path = Path(__file__).parent / "speech.mp3"
response = client.audio.speech.create(
    model="tts-1",
    voice="alloy",
    input="Today is a wonderful day to build something people love!"
)
response.stream_to_file(speech_file_path)

Audio APIを通じてブログ記事の朗読、複数言語での音声生成など、多岐にわたる用途の音声出力が可能となります。料金設定は入力1,000文字あたり$0.015からとなっています。

ただし、OpenAIの利用ポリシーにより、TTSの音声がAI生成であることをエンドユーザーに明確に通知する必要があります。AIが生成した音声であることを理解しておいてください。使用方法の詳細については、TTSガイドを見てください。

4-3. Whisper V3のリリースとAPIの提供

該当のYoutube部分

OpenAIから、新バージョンのオープンソース自動音声認識モデル(ASR)、「Whisper large-v3」のリリースが発表されました。この最新バージョンでは、多言語にわたる性能が改善されています。さらにOpenAIは、近い将来、Whisper v3をAPIでサポートする予定です。これによって、開発者は自身のアプリケーションやウェブサイトでWhisper V3の高精度な音声認識機能を活用できるようになるみたいです!

5. Customization: カスタマイズ性

(該当のYoutube部分)

OpenAIは、特に大規模な独自データセットを持つ組織向けのカスタムGPT-4訓練プログラムと、既存の開発者がGPT-4のFine-Tuningに参加するためのプログラムを導入します。これらの初期段階のプログラムは限定的で高価ですが、カスタマイズに関心がある組織にとって新たな可能性を開きます。

GPT-4 Fine-Tuning実験的アクセスプログラム

GPT-3.5のFine-Tuningと比較して、GPT-4のFine-Tuningでは更なる調整が必要ですが、GPT-3.5のFine-Tuningを積極的に使用している開発者に対しては、この新たなプログラムへの参加申し込みが可能になります。

Custom Modelsプログラム

特に大規模な独自データセットを持つ組織のために設計され、特定の領域に特化したカスタムGPT-4の訓練をOpenAIの研究者グループが支援します。

  • ドメイン固有の事前訓練からカスタムRL post-trainingプロセスまで、モデル訓練過程の各ステップを修正します。
  • 各組織は自分たちのカスタムモデルに対して専用アクセスを持つことになります。
  • カスタムモデルは他の顧客と共有されず、また他のモデルの訓練にも使用されません。
  • OpenAIに提供された専有データも、他のコンテキストで再利用されることはありません。

これらのプログラムは、初期段階では非常に限定的(かつ高額)ですが、カスタマイズに関心がある組織にとって大きな可能性を開くものとなりそうです!

(該当のYoutube部分)

このセクションでは、次の2項目について説明します:

6-1. Higher rate limits: レート制限の増加

該当のYoutube部分
OpenAIは、GPT-4の全ての有料ユーザーに対し、1分あたりのトークン数を2倍に増やすことを発表しました。これにより、ユーザーは短時間でより多くのリクエストを処理することが可能になります。新しいレート制限は、各々のレート制限ページで確認することができます。

さらに、OpenAIは利用レベルシステムも公開しました。これは、OpenAI APIの使用量と支払い額に応じてユーザーを自動的に次の利用レベルに昇格させるシステムです。利用レベルが上がるとほとんどのモデルでレート制限が上がり、さらに低遅延のモデルにもアクセスできるようになります。

具体的な利用レベルの表
利用レベル 資格 利用制限
Free ユーザーが許可された地域に居ること $100/月
Tier 1 $5を支払うこと $100/月
Tier 2 $50を支払い、最初の支払いから7日以上経過すること $500/月
Tier 3 $100を支払い、最初の支払いから7日以上経過すること $1,000/月
Tier 4 $250を支払い、最初の支払いから14日以上経過すること $5,000/月
Tier 5 $1,000を支払い、最初の支払いから30日以上経過すること $10,000/月

今後はアカウント設定から使用制限の増加をリクエストすることができます。

該当のYoutube部分
OpenAIが「Copyright Shield(著作権シールド)」を提供開始します。これはユーザーの著作権保護を強化する機能で、法的な問題が発生した場合でも、OpenAIが介入し発生する費用を負担します。具体的には、著作権侵害の申し立てがあった際に、OpenAIが全面的にサポートします。この新サービスは、ChatGPT Enterpriseの一般利用可能な機能とAPIを通じた開発者プラットフォームに適用されます。

7. GPT-4 Turbo Pricing: GPT-4 Turboの価格設定

(該当のYoutube部分)

OpenAIはGPT-4 Turboの入力トークンをGPT-4の3倍安く、出力トークンを2倍安い価格で提供することを発表しました。これにより、利用者は以前よりもコスト効率的にAIモデルを利用することが可能になります。

新旧の価格設定は以下になります:

GPT-4 Turboの価格変更
モデルの種類 入力プロンプトの価格(1Kトークンあたり) 出力プロンプトの価格(1Kトークンあたり)
GPT-4(旧) $0.03 $0.06
GPT-4 8K(旧) $0.06 $0.12
GPT-4 Turbo 128K (新) $0.01 $0.03

GPT-4 Turbo 128Kは、128kのコンテキスト、より新鮮な知識、そして最も広範囲の機能を持つことから、GPT-4よりも強力で、しかも低価格で提供されています。

GPT-3.5 Turboの価格変更
モデルの種類 入力プロンプトの価格(1Kトークン当たり) 出力プロンプトの価格(1Kトークン当たり)
GPT-3.5 Turbo 4K(旧) $0.0015 $0.002
GPT-3.5 Turbo 16K(旧) $0.003 $0.004
GPT-3.5 Turbo 16K(新) $0.001 $0.002

新しいモデル、GPT-3.5 Turbo 16Kは、入力プロンプトが1Kトークンあたり$0.001、出力プロンプトが1Kトークンあたり$0.002となっています。これらの価格は、旧モデルに比べて大幅に削減されています。

GPT-3.5 Turbo(fine-tuning)の価格変更
モデルの種類 学習の価格(1Kトークン当たり) 入力プロンプトの価格(1Kトークン当たり) 出力プロンプトの価格(1Kトークン当たり)
GPT-3.5 Turbo 4K fine-tuning(旧) $0.008 $0.012 $0.016
GPT-3.5 Turbo 4K and 16K fine-tuning (新) $0.008 $0.003 $0.006

新しいGPT-3.5 Turbo 4K and 16K fine-tuningモデルでは、学習に1Kトークンあたり$0.008、入力プロンプトに1Kトークンあたり$0.003、出力プロンプトに1Kトークンあたり$0.006が必要となります。

GPTs: ChatGPTの更なるカスタマイズ

該当のYoutube部分

GPTsはChatGPTを特定目的にカスタマイズする新機能で、誰でも特定のタスクを支援するための自身のGPTを作成し、公開できる点が注目ポイントです!

主な特徴
  1. ChatGPTのカスタマイズ: GPTsはChatGPTの特定目的のためのカスタムバージョンです。これにより、日々の生活や特定のタスク、仕事や家庭で役立つChatGPTを作成して他人と共有することが可能になります。

  2. 誰でもがGPTを作成可能: 例えば、ボードゲームのルールを学ぶためのGPTや、子供の数学の勉強を支援するGPT、ステッカーをデザインするGPTなどを作ることが可能です。専門知識やコーディングスキルは必要ありません。

  3. GPTstoreの展開: 本日からあなたはGPTを作成し公開できます。そして今月下旬には、GPTストアがロールアウト予定です。ストアに掲載されたGPTは検索可能で、利用者数に基づいた報酬を得ることも可能になります。(該当のYoutube部分)

  4. プライバシーと安全性: ChatGPTでは、ユーザーが自身のデータをコントロールします。また、不適切なコンテンツや悪質な行為を防ぐための新たなレビューシステムが導入されています。

  5. GPTの進化: GPTは現実世界で実際のタスクを引き受けるように進化します。しかし、これには社会が適応する時間と注意深い技術的な作業が必要です。

  6. 開発者がGPTを現実世界に接続: 内部機能だけでなくAPIを使ってカスタムアクションを定義し、GPTと現実世界を連動させることも可能です。

  7. 企業向けの内部GPTの利用: ビジネスにマッチしたカスタマイズを求める顧客の声に応える形で、特定の用途や部門、データセット向けのChatGPTバージョンを作成できます。

  8. AIの振る舞いを形成する人々を増やす: GPTはコミュニティと共に構築することを目指して設計されています。より多くの人々がAIの振る舞いを決定できるようにすることで、安全で適切なAIの実現を目指しています。

Assistants API

該当のYoutube部分

開発者が自身のアプリケーション内でエージェントのような体験を構築する手助けとなる第一歩として、Assistants APIが公開されました。アシスタントを自分のアプリに組み込むことができるのが注目ポイントです!

主な特徴
  1. 目的指向のAI: アシスタントは特定の指示に基づき、追加の知識を活用し、モデルやツールを呼び出すことが可能です。また、ユーザーの問い合わせに対応する能力も持っています。

  2. 新しい機能: このAPIは新たな機能、Code InterpreterやRetrieval、そして関数呼び出しなどを提供します。これにより、以前は手動で行っていた作業を大幅に効率化し、高品質なAIアプリの構築が可能になります。

  3. 柔軟性: 自然言語ベースのデータ分析アプリからコーディングアシスタント、AIによる休暇計画、音声制御DJ、スマートビジュアルキャンバスまで、使用例は多岐にわたります。

  4. 持続的で無限に長いスレッド: スレッドの状態管理をOpenAIに委ねることで、コンテキストウィンドウの制約を回避します。新しいメッセージは既存のスレッドに追加するだけです。

  5. 新ツールの呼び出し: 必要に応じて、アシスタントは新しいツールを呼び出すことが可能で、次のようなツールがあります:

    • Code Interpreter: サンドボックス化された実行環境でPythonコードを書き、実行します。グラフやチャートを生成し、さまざまなデータや形式のファイルを処理できます。これにより、アシスタントは困難なコーディングや数学の問題を反復的に解くことが可能になります。
    • Retrieval: アシスタントは私たちのモデル外からの知識、例えばプロプライエタリなドメインデータ、製品情報、ユーザーが提供する文書などを取得します。これにより、ドキュメントの埋め込みを計算して保存したり、チャンキングと検索アルゴリズムを実装する必要がありません。Assistants APIは、ChatGPTの知識検索の構築経験に基づいて、どの取得技術を使用するかを最適化します。
    • Function calling: アシスタントは定義した関数を呼び出し、その応答をメッセージに組み込むことができます。

今後、さらに多くのOpenAI製のツールをリリースし、ユーザーがプラットフォーム上で独自のツールを提供できるようになる予定だそうです!

手順
  1. アシスタントの作成: APIでアシスタントを作成します。これにはカスタム指示を定義し、モデルを選択します。また、必要に応じて「Code Interpreter」、「Retrieval」、「Function calling」などのツールを有効にすることもできます。

  2. スレッドの作成: ユーザーが会話を開始したときにスレッドを作成します。

  3. メッセージの追加: ユーザーが質問をするごとにスレッドにメッセージを追加します。

  4. アシスタントの実行: スレッド上でアシスタントを実行します。これにより、自動的に関連するツールが呼び出され、レスポンスがトリガーされます。

このAPIを用いれば、データやファイルはモデルの訓練には一切使用されず、開発者は任意でデータを削除できます。Assistants APIベータ版はコードを書かずに、Assistants playgroundで試すことができます。

まとめ

最後まで読んでくださりありがとうございました!
また、記事の足りない部分を随時補足していく予定です!
ご意見ご感想などありましたら、コメントお願いします!

Discussion