SyncLLM

>100 Views

September 14, 25

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

音声言語モデルサブグループ 話題提供 Bandhav Veluri.,Beyond Turn-Based Interfaces: Synchronous LLMs as Full-Duplex Dialogue Agents,Meta AI 阿部 雄斗

2.

出典:WavChat : A Survey of Spoken Dialogue Models 2

3.

SyncLLM:時間情報を持たせたLLMを用いた音声対話モデル 概要 • (周期的な)時間同期トークンを用いる ➢ LLMに時間情報を統合 ➢ リアルタイム対話を可能に:Synchronous LLM(SyncLLM) • LLaMA3-8B がベース • HuBERT音声トークン + 話者同期トークン([S0], [S1]と表記)を統合 • 音声とテキストの混合対話形式を扱えるよう拡張. • モデルは非公開 3

4.

https://syncllm.cs.washington.edu/ ✓ 会話をプロンプトとして, 継続した会話を生成 4

5.

アーキテクチャ ユーザのChunk N 5

6.

アーキテクチャ • LLMの音声トークン:Chunk 0~Nを利用可能. • ユーザの音声トークン:Chunk 0~N-1を利用可能. (リアルタイムでユーザは発話終了していない) 6

7.

アーキテクチャ • LLMの音声トークン:Chunk 0~N→N+1をNの時間内に作る必要がある. • ユーザの音声トークン:Chunk 0~N-1 (リアルタイムでユーザは発話終了していない) 7

8.

アーキテクチャ • LLMの音声トークン:Chunk 0~N→N+1をNの時間内に作る必要がある. • ユーザの音声トークン:Chunk 0~N-1 →Nを先読み (リアルタイムでユーザは発話終了していない) 8

9.

アーキテクチャ ✓ バックチャネル, Overlap, Interruptionの モデル化が可能. ✓ 遅延にも強い. 9

10.

学習方法 • 3段階の学習方法 1. 合成音声データを使って,テキストと音声が混在したデータが扱えるよう に学習. 2. 合成音声データを使って,発話のリズムを学習. 3. 実世界の音声対話データを使って,学習. 10

11.

学習方法 • 3段階の学習方法 1. 合成音声データを使って,テキストと音声が混在したデータが扱えるよう に学習. • 目的:LLMが 「テキストと音声の両方を同じ対話文脈として理解・生成できる」能力を獲得する. • 手段:Llama3-8bをテキストと音声トークン(HuBERT)を混在させた対話データで事前学習する. ① 音声データ合成:テキストの対話データをBark TTSで音声合成→HuBERTトークンに変換 ② 語彙拡張:Llama3にHuBERTトークン(501種類)と話者タグ([S0][S1])を追加 ③ 交互埋め込み(Interleave)データで学習:対話シーケンスでモデルを学習 11

12.

学習方法 • 3段階の学習方法 2. 合成音声データを使って,発話のリズムを学習. • 目的:ステージ1では「テキスト 音声の混在」に慣れさせたが,ここでは1話者のタイミングを学習 • 手段:一方の話者だけ音声,他方を無音にして,SyncLLMを学習する. ① 音声データ合成:テキストの対話データをBark TTSで音声合成 ② 一方の話者だけ音声,他方を無音にする:話者Aの発話→音声合成,話者B→無音で埋める. ✓ 常に両者のトークン列が存在するが片方が黙っている構造になる. ③ 各話者の発話をHuBERTトークン化→学習 12

13.

学習方法 • 3段階の学習方法 3. 実世界の音声対話データを使って,学習. • 目的:実際の人間の会話に基づく自然な対話スキルを学ばせる. • 手段:リアルな会話音声を用いてfine-tuningをする. ① 音声データ(Fisher)の前処理:チャネルごとにHuBERTトークンに変換 ② 交互埋め込み(Interleave)データで学習:対話シーケンスでモデルを学習 13

14.

評価(ターン交代の自然さ) 「話者交代に関する時間的特徴」がどれだけ一致しているかを,Pearson相関係数で比較(↑) (上限) ✓ SyncLLMはdGSLMより自然なターン交代ができる. ✓ Chunkサイズの変更にも頑健で,最大240msの遅延に耐えられる. ✓ 未知の会話データ(Candor)でも高い相関を保っているため,汎化性能が高い. 14

15.

評価(意味性と自然性) MOS評価(スコア範囲:1-5)(↑) 15

16.

まとめ モデル バックボーン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のように雑談をさせる(≒忘却具合が大きい)モデルだと,より多くの量が必要. 16

17.

Appendix 17

18.

音声トークンをトークン列として表現する ✓ チャンクサイズ:160ms. ✓ HuBERTトークン:音声を40msごとにトークン化. 18

19.

音声トークンをトークン列として表現する ✓ 話者0と話者1を交互に挟み込む.(Interleave) ✓ 160msごとのチャンク. 19

20.

音声トークンをトークン列として表現する ✓ 重複部分は除去. ✓ 音声には「間」や「伸ばし棒」が多く含まれ,同じトークンが何度も繰り返されてしまう. ✓ 意味のない繰り返しを学習しないようにする. ✓ チャンクごとに話者ラベルは埋め込む. 20

21.

音声トークンをトークン列として表現する ✓ 音声出力用に再構成(補間) ✓ 除去したトークンを再び繰り返して補間する. 21

22.

③ 交互埋め込みデータで学習(補足) ※各<sent>は,テキスト文または,HuBERTトークン列(重複除去済み) • Epochが進むにつれて,音声成分の 割合が高くなるようにバイアスをかける. ✓ 学習初期はテキスト中心で安定性を確保. ✓ 徐々に音声に慣れさせていくことで収束性を 改善. 22