AI News HubLIVE
站内改写

Together AIが世界最速の音声認識スタックを構築した方法

Together AIは、ASRを単なるGPU推論問題ではなく、システム全体の問題として捉えることで、Artificial Analysisで最速の音声認識スタックを実現しました。本記事では、実際の音声形状に対応したTensorRTマルチプロファイルエンジン、条件付きCUDAグラフによるCPU往復の排除、共有メモリによるデータコピー削減、イベント駆動I/O、そしてgc.freeze()によるGCテールレイテンシの除去など、最適化の詳細を解説します。

記事インテリジェンス

エンジニア上級

要点

  • Together AIはGPU推論だけでなくシステム全体の最適化により最速の音声認識を達成。
  • 主要技術:TensorRTマルチプロファイルエンコーダ、条件付きCUDAグラフ、ゼロコピー共有メモリ、イベント駆動I/O。
  • gc.freeze()によりPythonガベージコレクタによるテールレイテンシのスパイクを除去。
  • NVIDIA Parakeet-TDT 0.6B v3は約20時間の音声を10秒未満で書き起こし。

重要な理由

このニュースが重要なのは、Together AIはGPU推論だけでなくシステム全体の最適化により最速の音声認識を達成ためです。

技術的影響

モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。

Together AIは、Artificial Analysisの音声認識(ASR)パフォーマンスランキングでトップとなりました。その鍵は、ASRをGPU推論だけの問題ではなく、システム全体のエンドツーエンドの問題として捉えたことにあります。この思想は、モデルコンパイルからデータパス、ランタイム動作に至るまで、スタック全体にわたる最適化に反映されています。

エンコーダ最適化:実際の音声形状に対応したTensorRTマルチプロファイル

ASRモデルのエンコーダは計算負荷の大部分(重みの約95%)を占め、200ミリ秒から30秒までの多様な音声入力を処理する必要があります。従来のシングルプロファイルエンジンでは、短い音声セグメントがパディングされ性能が低下します。Together AIはTensorRTマルチプロファイルエンジンを採用し、異なる音声長範囲に対して複数の最適化計画を生成し、リクエストごとに最適なプロファイルを選択します。これにより形状ミスマッチを回避し、小入力シナリオでは数倍の性能向上を実現しました。

デコーダ最適化:条件付きCUDAグラフによるCPUボトルネックの排除

デコーダのループでは、各イテレーションでトークンがブランクかどうかをチェックする分岐があり、従来はCPUがGPUからデータを読み取る必要がありました。Together AIは条件付きCUDAグラフノードを使用して分岐ロジックをGPU側に移し、デコードループ全体(条件判定、出力、状態更新)を単一のCUDAグラフとしてキャプチャしました。これによりデコード速度が2~3倍向上しました。

データパス最適化:コピー削減とプロセス境界の統合

音声前処理は通常、複数のプロセス(デコード、リサンプリング、VADなど)に分割され、多くのデータコピーが発生します。Together AIはプロセス境界を統合し、永続的なUnixドメインソケットと共有メモリを使用してデータ移動を削減しました。大容量ファイルでは共有メモリにより真のゼロコピーデータパスを実現し、カーネルラウンドトリップを回避します。

ストリーミング最適化:イベント駆動I/O

ストリーミング音声認識では、Together AIは従来のコネクションあたり1スレッドモデルを廃止し、シングルスレッドのepollイベント駆動メカニズムを採用しました。これによりスケジューリングの負荷とGIL競合が大幅に低減され、ストリーミングの低遅延と高安定性が実現しました。

ランタイム最適化:gc.freeze()によるテールレイテンシの除去

負荷テストにおいて、p95レイテンシが時折200ミリ秒のスパイクを示しました。原因はPythonのガベージコレクタ(GC)が事前割り当てされた長期オブジェクトをスキャンしていたことでした。起動後にgc.freeze()を呼び出すことでこれらのオブジェクトをGCスキャンから除外し、スパイクは消失し、システムスループットが平滑化されました。

Together AIのASRスタックは現在本番環境で動作し、NVIDIA Parakeet-TDT 0.6B v3やOpenAI Whisper Large v3などのモデルをサポートしています。Parakeet v3は25のヨーロッパ言語をサポートし、170万時間の音声データでトレーニングされています。これらの最適化は速度向上だけでなく、音声AIのエンドツーエンドレイテンシ制御のための再現可能な方法論を提供しています。