話し終わる前にツールを実行する音声エージェント
背景
音声アシスタントの応答が遅く感じられる原因は、音声認識や大規模言語モデルの処理速度だけではない。天気、予定、検索など外部ツールが必要な質問では、従来のカスケード型システムは、音声認識が終わり、言語モデルがツール呼び出しを決め、その後にツールを実行するという順序を取ることが多い。そのため、ツールの待ち時間がユーザーの発話終了後にそのまま現れる。
論文「Hiding Tool Latency in On-Device Cascaded Voice Agent through Speculative Execution」は、この順序を部分的に重ね合わせる方法を示した。最終的な文字起こしを待たず、ストリーミング ASR の途中結果から必要なツールを推測し、発話中に実行を始める。
仕組みの要点
- 部分的な ASR から予測:追加された Predictor が更新され続ける中間テキストを監視し、ツールが必要になりそうな要求を推定する。
- 先行実行とキャッシュ:候補となるツール呼び出しをバックグラウンドで実行し、出力を保存する。ユーザーが話し終えた後は、その結果を言語モデルのプロンプトへ注入できる。
- 自己修正への対応:ユーザーは発話の途中で場所や時刻、その他の引数を言い直すことがある。そこでルールベースの検証を行い、現在の要求と整合するキャッシュ結果だけを利用する。
- 通常経路を残す設計:予測が外れた場合やキャッシュが無効な場合、言語モデルは通常どおりツールを直接呼び出せる。推測結果を必ず採用するのではなく、最適化として扱う点が重要だ。
実測と意義
研究チームは、完全に実装した Android 音声アシスタントでライブ測定を行った。初回音声出力までの時間は、中央値で 5.79 秒から 4.60 秒に短縮された。標準偏差も 3.49 秒から 2.81 秒になり、一般的な応答が速くなっただけでなく、待ち時間のばらつきも小さくなった。
この手法の本質は、モデルそのものを高速化することではなく、従来は直列だった処理を重ねることにある。認識が終わる前にツール処理を始めるため、ツールの一部の待ち時間をユーザーの発話時間の背後に隠せる。既存の ASR、LLM、ツール連携を活用したまま導入できるため、端末上のカスケード型システムにとって現実的な改善案になり得る。
一方で、推測実行には誤った呼び出しや不要な処理、追加の資源消費が発生する可能性がある。検証とフォールバックはその影響を抑えるが、より多様なツール、端末、通信環境、発話の言い直しに対する性能は、さらに評価する必要がある。今回の結果は、低遅延化がモデルの高速化だけでなく、確度の高い仕事を早く始めるシステム設計からも得られることを示している。
コメント
ログイン状態を確認中…
コメントを読み込み中…