OpenAI GPT-Live: リアルタイム音声AIシステムのエンジニアリング

OpenAIは、従来のターンベースの音声AIの遅延を解消するために設計された第3世代音声システム、GPT-Liveを開発しました。ターン検出器を、同時並行で聞き取りと発話が可能なフルデュプレックス(全二重)音声モデルに置き換えることで、GPT-Liveは1秒未満のレスポンスと、より自然な会話のリズムを実現します。

ターンベースからストリーミング・アーキテクチャへの移行

GPT-Liveは、音声文字起こし(speech-to-text)、LLM、音声合成(text-to-speech)が直列に実行されるカスケード型システムや、推論のトリガーとして依然としてターン検出器に依存していた以前の音声対音声(speech-to-speech)モデルから脱却しています。

新しいアーキテクチャでは、音声モデルが会話を直接制御します。オーディオはモデルに対して継続的に入出力され、より深い推論やツールの使用は非同期で行われます。これにより、主要なメディアループが中断されることなく、「話すこと」と「考えること」が切り離されます。

継続的な推論と低レイテンシのためのエンジニアリング

シームレスなメディアループを維持し、音声のノイズ(artifacts)を防ぐために、OpenAIはいくつかのシステム的な最適化を実施しました。

専用メディアパスとプログラミング言語の変更

OpenAIは、メディアフローをアプリケーションおよびビジネスロジックから分離しました。オーディオは専用の高速パスを通り、委譲(delegation)やツールの使用は非同期のRPC境界の背後で行われます。フレーム配信の滑らかさを向上させるため、メディアフロントエンドと推論ロジックは、以前のPython asyncio 実装に代わってGoで書き直されました。この変更により、p95レイテンシが以前のシステムのp50と同等になりました。

転送とプロトコルの最適化

WebRTCが転送の基盤として機能し、パケット損失やクロックドリフトを処理できるようにしています。起動レイテンシをさらに低減するために、OpenAIは2つの主要なイノベーションを導入しました。

  • WARP: 転送ハンドシェイクを統合し、ネットワークのラウンドトリップを削減するために設計された一連のオープン仕様。
  • Instant Connect: SDPパラメータを事前に交渉することで、1回のUDPパケットでセッションを開始できるようにするメカニズム。

ステートフルな推論とコンテキスト管理

中断のない長時間会話をサポートするために、OpenAIはシームレスなハンドオフメカニズムを開発しました。モデルインスタンスの置換が必要になった場合や、コンテキストの圧縮(モデルの制限内に収めるため)が必要な場合、システムは並行して置換用インスタンスをウォームアップし、必要なコンテキストをプリフィル(事前入力)して、新しいインスタンスの準備が整ったときのみ切り替えます。これにより、KVキャッシュの再構築による音声の遅延を防ぎます。

非同期的なフロンティアモデルへの委譲

GPT-Liveは、GPT-5.5のようなフロンティアモデルと統合され、ライブ音声パスをブロックすることなく、複雑な推論や検索を実行します。

委譲ループの最適化

委譲された結果が十分に速く返ってくるように、OpenAIはルーティング、プロンプト処理、推論、ツール呼び出しといったループ全体を最適化しています。これには、フロンティアモデル用の推論セッションを作成し、音声セッションの開始と同時に会話コンテキストをプリフィルすること、そして、レイテンシを最小限に抑えるために安定したセッションアフィニティとプロンプトキャッシュを使用することが含まれます。

連続的な音声からの離散的なターンの抽出

周囲のシステム(UIや安全インフラなど)は離散的なメッセージを必要とするため、アプリケーションサーバーは部分的な文字起こしとタイミング信号を使用して話者のターンを推論します。システムは、UI用に推測的なビュー(speculative view)を維持し、分析用に権威的な記録(authoritative record)を維持することで、音声パスを継続的に保ちつつ、やり取りの安定した記録を提供します。

本番環境でのテストとスケーリング

OpenAIは、本番環境のChatGPT Voiceセッションの一部を読み取り専用モードで新しいシステムにルーティングすることで、「サイレントテスト」を用いてGPT-Liveを検証しました。このプロセスにより、いくつかの重要な洞察が得られました。

  • 容量計画(Capacity Planning): 容量は、単にGPUのスループットではなく、同時セッション数と、すべてのフレームをスケジュール通りに維持できる能力によって決定されます。
  • 地理的分布: エンドツーエンドのレスポンスは、距離による遅延を最小限にするため、セッションを地域の容量へルーティングすることに大きく依存します。
  • ライフサイクル・フェイルアチャ(Lifecycle Failures): 長時間のセッションや再接続は、短時間の負荷テストでは明らかにならなかったメモリ圧迫や状態の復元に関する問題を引き起こしました。

このアーキテクチャは、現在ChatGPT Voiceの機能(デスクトップアプリでのコンピュータ制御やエージェントの調整を含む)を支えており、今後のGPT-Live APIの基盤となる予定です。

Sources