Open7

【Speech to Speech】moshiの論文を読む

ノーコール森本🤙AI電話SaaS CTOノーコール森本🤙AI電話SaaS CTO

このMoshiが優れているところを簡単にいうと

  • 返答生成まで160msという低遅延
  • パラ言語情報による保存によって、感情や非言語的な情報を保持
  • 相手の音声と出力する音声を並列的に二重処理をしている(Full dupulex)
  • そのため、相手の話を聞きながら「うん」「はい」などの返答が可能
  • Inner Monologueのテキスト予測による音声生成の質の向上
ノーコール森本🤙AI電話SaaS CTOノーコール森本🤙AI電話SaaS CTO

従来の音声対話システムは、音声認識→LLM→音声合成の独立したコンポーネントを組み合わせたパイプライン形式

私たちのnocall.aiもこのパイプライン形式を用いており、何点か課題があります。

  • 1000ms以上の遅延。人間の会話は600ms程度のレスポンスと言われているため、不自然さを感じる。
  • ターン性による会話の不自然さ。相手の話を聞いて相槌を打つと言った人間らしい会話にならない
  • 非言語的な情報が失われてしまう。
ノーコール森本🤙AI電話SaaS CTOノーコール森本🤙AI電話SaaS CTO

登場人物

Moshiは以下の主要なコンポーネントで構成されています:

1. Helium - テキスト言語モデル

  • 7BパラメータのKyutai Labs開発のLLM。
    • 7Bなのでそんなに大きくはない。彼らはエッジで動くLLMをメインで開発してるらしい。
  • 2.1兆トークンの公開英語データでプレトレーニング

2. Mimi - ニューラルオーディオコーデック

  • 音声を離散的なトークンに変換し、また逆変換する。いわゆる、連続的な波形を離散トークンに変換する耳👂としての役割(名前わかりやすい)
  • 残差ベクトル量子化(RVQ)を使用
  • セマンティック情報とアコースティック情報を単一のトークナイザーに統合
  • WavLMからの知識蒸留→セマンティック情報を取り込む

3. RQ-Transformer - 階層的生成アーキテクチャ

  • Temporal Transformer: 時系列に沿って処理を行い、コンテキストベクトルを生成
  • Depth Transformer: Temporal Transformerから得たコンテキストを使い、並列的にトークンを生成

4. Inner Monologue - テキストと音声の統合

  • 音声トークンの前にテキストトークンを予測する
  • 言語的品質と一貫性の向上に貢献
  • 音声と時間的に整列されたテキストトークンを活用
ノーコール森本🤙AI電話SaaS CTOノーコール森本🤙AI電話SaaS CTO

以下はおさらい

セマンティックトークン (Semantic Token)

  • 音声の言語的な内容を意味する
  • WavLMという自己教師あり学習モデルから知識蒸留によって抽出され、Mimiの最初のRVQレベル(セマンティックトークン)に組み込まれています

アコースティックトークン (Acoustic Token)

  • 音声の感情や機敏などの非言語的な情報。声色、イントネーション、感情、環境音など
  • Mimiニューラルオーディオコーデックにより波形から抽出され、RVQの残りのレベル(アコースティックトークン)として符号化されます
ノーコール森本🤙AI電話SaaS CTOノーコール森本🤙AI電話SaaS CTO

処理フロー

ユーザー音声入力


Mimi エンコーダ

  • 波形を離散トークンに変換
  • セマンティックトークンとアコースティックトークンを生成


Helium Temporal Transformer

  • 過去のすべてのトークン履歴を処理に追加し、時間的な依存関係をモデル化
  • 時間的コンテキストベクトル (z_s) を生成


RQ-Transformerによってトークンを生成する

  • Depth Transformerが3種のトークンを順次生成する:
    1. Inner Monologue: テキストトークン
    2. セマンティックトークン: 言語的内容
    3. アコースティックトークン: 音声特性


Mimi デコーダ

  • 生成されたトークンを音声波形に変換