音声言語モデルサブグループ 話題提供 Xiong Wang et al.,Freeze-Omni: A Smart and Low Latency Speech-to-speech Dialogue Model with Frozen LLM,ICASSP 2025 阿部 雄斗
出典:WavChat : A Survey of Spoken Dialogue Models 2
Freeze-Omni:Frozen LLMを用いた低遅延音声対話モデル 背景と課題 • • 従来: Moshi など → LLM を直接音声対話に学習させると「忘却」が大きい 目標: LLM をフリーズしたまま,音声入力・音声出力を追加して speech-to-speech dialogue を実現 アーキテクチャ概要 • 音声入力モデリング • ASR学習(CTC Loss)+プロンプト埋め込み • LLMに音声から意味を理解させる • 音声出力モデリング • コーデック学習+AR/NAR 音声デコーダ • LLMの隠れ状態をPrefixとして活用(文脈を保持) • Duplex 対話設計 • チャンク単位でユーザ発話の終端/中断を推定 • 擬似 full-duplex 応答を実現 まとめ • LLMをフリーズして音声I/Oを追加することで • 知識保持×忘却抑制×実用的な低遅延対話を実現 3
https://freeze-omni.github.io/ ✓ ターン型会話に基づく 「擬似full-duplex」モデル ユーザ システム 4
アーキテクチャ 5
アーキテクチャ 音声出力のモデリング Frozen LLM 1. 音声入力のモデリング:学習 2. 音声出力のモデリング:学習 3. Duplex対話の設計:推論時の工夫 音声入力のモデリング 6
1.音声入力モデリングの概要 i. 大量のASRデータを使って,エンコーダとLLMのAlignをとる. ✓ LLMが音声から意味的な情報を理解できるようにする. ii. プロンプトの埋め込みを学習することで,音声入力をテキスト出力できるようにする. • 少量のQ&Aデータのみ使用. 音声デコーダ サブワード Frozen LLM トークナイズされた離散トークン ≠サブワード 音声入力のモデリング 7
1.音声入力のモデリングの詳細(学習) ① CTCロスによるASR学習 • 一般的な音声認識モデルの学習. • 入力:音声特徴量 • ラベル:Transcript • 損失関数:CTC 8
1.音声入力のモデリングの詳細(学習) ② Speech-to-Text 学習 • 入力:音声特徴量 • ラベル:Transcript • 特殊トークンが入る. ※学習の都合上 9
③ マルチターン Q&A に対するプロンプト埋め込みの学習 I. データセット構築:multi-round Qを作り,LLMにmulti-round Aを作らせる. II. TTS※によってmulti-round Qを音声化. III. multi-round Qの前にプロンプト埋め込みを追加する. ✓ LLMが音声入力からテキスト出力できるように学習する. ※zero-shot TTS systemとだけ記載(モデルは不明) 10
③ マルチターン Q&A に対するプロンプト埋め込みの学習 I. データセット構築:multi-round Qを作り,LLMにmulti-round Aを作らせる. II. TTS※によってmulti-round Qを音声化. III. multi-round Qの前にプロンプト埋め込みを追加する. ✓ LLMが音声入力からテキスト出力できるように学習する. サブワード ↑ LLM ↑ トークナイズされた離散トークン ※zero-shot TTS systemとだけ記載(モデルは不明) 11
2.音声出力モデリングの概要 音声出力のモデリング サブワード LLMの中間特徴量 i. ii. コーデックを使って,音声トークンを波形にデコードする. 大量のテキストと音声のペアデータを使って,AR音声デコーダを学習. ✓ テキストから音声トークンを自己回帰的に生成できるようにする. iii. LLMが出力する隠れ状態ベクトルを用いて,音声デコーダをLLMの出力するテキスト空間に 音声エンコーダ 対応づけるPrefix kv-cache fine-tuning手法を設計する. • VALL-Eではオーソドックスな方法 12
2.音声出力のモデリングの詳細(学習) ① コーディックの学習 • • ✓ 音声データのみを用いて,コーディックを学習. 単一コードブックを用いて,複雑さと遅延を減らす. 音声トークン→音声波形 13
② NAR/AR 音声デコーダの学習 • • • • • 大量のテキストと音声のペアデータを使用. トークナイザ:テキスト→テキストトークン. LLMの埋め込み層:テキストトークン→埋め込みベクトル. NAR音声デコーダが,埋め込みベクトルを入力. AR音声デコーダが,音声トークンを出力.(teacher-student学習) 教師あり音声合成(パラメータは共有) 14
③ LLMの出力と音声デコーダを合わせるように学習(✓合成音声の質向上) • • • • マルチターン Q&Aのうち,Aのテキストと音声を使用. LLMの生成したテキストトークンと隠れ状態を使用. テキストトークンはNAR音声デコーダに渡される. NAR Prefix デコーダの追加 ✓ LLMの隠れ状態をモデル化し,そのkv-cacheをNAR音声デコーダに渡す. LLMの文脈を利用 • • VALL-E は「誰の声で話すか」を prefix にする. Freeze-Omni は「どんな文脈で話しているか」を prefix にする. 15
3.Duplex対話設計の概要 音声出力のモデリング Frozen LLM • チャンク単位の状態予測タスクにより, ユーザが対話を中断するか否かを判定する. ➢ Duplex対話を実現 ※新たに学習を行うのではなく,推論時の工夫. 音声入力のモデリング 16
Silero VADを使用(https://github.com/snakers4/silero-vad) 3. Duplex 対話の設計の詳細 • LLMの出力から以下の状態を分類する. • 状態0:LLMに引き続き音声を入力する. • 状態1:ユーザの割り込みと判定し,LLMが新しい対話フェーズを開始する. • 状態2:対話を中断する必要がない.(応答を続ける.) 17
質問応答の正確さの評価 音声質問応答の評価セット[%] • LLMに会話そのものを学習させようとするMoshiより, LLMの知識はそのままに音声応答を学習するFreeze-Omniのほうが賢い. 18
質問応答の正確さの評価 音声質問応答の評価セット[%] • Heliumに会話を学ばせようとすると忘却が大きい. • Qwenをフリーズし,音声応答だけを学ばせることで忘却が抑えられている. 19
まとめ モデル バックボーンLLM 学習データ Moshi Helium(7B) • 700万時間の雑多な音声データ • Fisherコーパス(2000時間) LLaMA-Omni Llama-3.1-8B-Instruct • 20万件のテキスト指示データを会話調に再構成した音声 データ(時間は不明) (指示: CosyVoice-300M-SFT ,応答:VITS) Freeze-Omni Qwen2-7B-Instruct • 中国語・英語の音声とテキストのペアデータ(11万時間) • マルチターン Q&A:moss-003-sft-data から6万件(合成 音声)→少なくとも1.5万時間 SyncLLM Llama3-8b • テキスト対話をBark TTSで合成した対話音声(20万時間) • Fisherコーパス(1927時間) • 言語モデルに音声応答をさせるだけ(≒忘却を抑えるアーキテクチャをもっている)としても, 少なくとも音声対話データは10数万時間必要そうである. • Moshiのように雑談をさせる(≒忘却具合が大きい)モデルだと,より多くの量が必要. 20
Appendix 21
• 実験結果(Freeze-Omni) • 音声入力性能 • 中国語と英語のASRタスクで良好なCER/WERを達成. • Mini-Omni2やWav2vec2と同等. • 音声出力性能 • LLMの隠れ状態を使うPrefixを導入でCER/WERが大幅改善. • 音声質問応答タスク • MoshiやGLM-4-Voiceなどの先行モデルと比べて高い精度を示し, LLMベースの性能と大差なしの知識を保持. • End-to-end遅延 • 実環境での応答遅延:1.2秒 (Moshiは理論的な遅延:0.16秒,実際:0.2秒) 22