リアルタイムなフルデュプレックス対話システムMoshiについて調べてみた
こんにちは、makokonです。J-Moshiが相当に評判になっていますね。実はMoshiのことをよく知らなかったので、この機会に論文とWEB記事を読んでみました。相当に読み応えがあるので、自分の嗜好に基づいてのまとめです。重要でも省略している部分はあると思いますし、定性的な理解に務めるような記事にしているので、数値的な理解が必要な人は元論文を読むか、貼り付けてある表を熱心に読み解くしかありません。
この技術は、音声入力に対し、音声出力を素早く被せて会話してくるので、人間同士のような会話をするには、欠かせない技術になりそうです。
リアルタイムの双方向音声対話のための基盤モデルMOSHIの基礎
Moshiは、リアルタイムなフルデュプレックス対話を実現する初のシステムであり、テキストLLM(Helium)を基盤とし、独自のオーディオコーデック(Mimi)と階層的なマルチストリームアーキテクチャを採用しています。
入力音声をテキストに変換することなく、処理することと、トークンを並列処理する工夫によって、リアルタイム会話を実現しています。
Inner Monologueという手法でテキストトークンを音声トークンの前に生成することで、言語品質を大幅に向上させています。Moshiは、高品質な音声生成、自然な対話、高い質問応答能力を示し、さらに音声の安全性も考慮されています。 モデル圧縮は実用化に不可欠であり、量子化による影響も詳細に評価されています。160msという低遅延で動作し、最長5分間の複雑な対話に対応可能です。
ソース
論文の構成
この論文の構成は以下の通りです。
概要
Moshiという、音声とテキストを基盤とした、リアルタイムな対話のためのモデルを紹介
Moshiは、音声から音声への生成として会話を捉え、複数の課題を解決
Heliumというテキスト言語モデルを基盤とし、音声コーデックの残差量子化器からのトークンとして音声を生成
ユーザーとモデル自身の音声を並列にストリームとしてモデル化
明示的な話者交代の区別をなくし、会話の多様性をモデル化
時間軸に沿ったテキストトークンを音声トークンの接頭辞として予測する「Inner Monologue」という手法を採用
これにより、生成された音声の言語品質が向上し、ストリーミング音声認識とテキスト読み上げが可能に
Moshiは、理論的な遅延が160ms、実際には200msのリアルタイムフルデュプレックスの言語モデル
関連研究
音声言語モデリングに関する先行研究を概観
自己教師あり学習による音声表現の改善
離散オーディオトークンによる音声生成
階層的なセマンティックおよびアコースティックトークンのモデリング
潜在拡散モデルの使用
リアルタイム音声生成の課題と解決策
音声対話モデルに関する先行研究を概観
リアルタイム性、全二重通信、パラ言語的コミュニケーションの課題
既存のモデルの限界(遅延、情報損失、話者交代の区別)
Moshiがこれらの限界をどのように克服しているか
モデル
Moshiのアーキテクチャの概要
HeliumテキストLLMを基盤とする
Inner Monologueによるテキストとオーディオトークンの同時モデリング
リアルタイム対話のためのマルチストリームアーキテクチャ
Mimiニューラルオーディオコーデックによる効率的な音声符号化
Heliumテキスト言語モデルの詳細
Transformerアーキテクチャをベースとする
RMS正規化、回転位置埋め込み、FlashAttentionなどの技術を使用
SentencePieceに基づくトークナイザー
AdamWオプティマイザーによるトレーニング
Mimiニューラルオーディオコーデックの詳細
SeaNetオートエンコーダーと残差ベクトル量子化器
自己教師ありモデルからのセマンティック情報の蒸留
スプリットRVQによるセマンティック・アコースティックトークンの学習
敵対的損失のみを使用したトレーニング
RQ-Transformerを使用した階層的自己回帰モデリング
Temporal TransformerとDepth Transformerの組み合わせ
セマンティックおよびアコースティック特徴間の遅延の導入
Moshiのための結合シーケンスモデリング
テキスト、セマンティック、アコースティックトークンの結合
ユーザーとMoshiのストリームを並列に処理
推論時のMoshiの出力サンプリング
話者交代の明示的な区切りなしに会話を処理
データセットとトレーニング
テキストデータ
高品質なデータソースとフィルタリングされたWebデータの組み合わせ
データの重複排除、言語識別、品質フィルタリング
オーディオデータ
700万時間の教師なしオーディオデータ
Whisperによる転写
マルチストリームアプローチを使用しないオーディオ事前トレーニング
音声テキスト指示データ
テキストベースの指示データセットの不適合性
Heliumで生成された現実的な対話の利用
TTSエンジンで合成された音声データ
Moshiに一貫した声を与えるための声の条件付け
トレーニング段階とハイパーパラメータ
Heliumの事前トレーニング
Moshiの事前トレーニング
トレーニング損失
評価
テキスト言語モデルの評価
標準ベンチマークでのパフォーマンス
Heliumのパフォーマンスが競合モデルと同等以上
オーディオトークン化の評価
セマンティックおよびアコースティックの性能評価
ABXエラー率、VisQOL、MOSNet、MUSHRAプロトコルを使用
Mimiコーデックのハイパーパラメータのアブレーションスタディ
音声およびテキスト言語モデリングの評価
さまざまな設定でのベースラインとの比較
Moshiがオーディオのみ、ウォームスタート、マルチモーダル設定で良好な結果
音声質問応答の評価
Web Questions、LlaMA-Questions、Trivia QAベンチマークでのパフォーマンス
生成された対話の品質と統計
言語モデルによる対話のスコアリングとターンテーキングメトリック
Moshiの圧縮と音声品質への影響
モデルの量子化によるパフォーマンスと音声品質への影響を調査
MMLUスコアの低下と音声アーティファクトの分析
Moshiによって生成されたコンテンツの識別方法
毒性分析、訓練データの逆流分析、システム音声の一貫性分析
透かし技術とオーディオインデックスの探索
結論
Moshiがリアルタイム、全二重の音声対話システムであることを強調
Helium、Mimi、Inner Monologueの貢献を要約
今後の研究の方向性を示唆
謝辞
参考文献
付録
Mimiコーデックに関する追加のアブレーション
オーディオマッチングと重複排除
量子化によるオーディオアーティファクトの特性評価
安全性と毒性
微調整のための合成トランスクリプトの生成
この構成は、Moshiモデルの設計、トレーニング、評価に関する詳細な情報を提供し、その革新性と実用性を強調しています。
ーーー
Moshiの必要性と貢献
この論文では、リアルタイムな音声対話システム「Moshi」の必要性と貢献について、定性的に説明します。
従来の音声対話システムの課題
既存の音声対話システムは、音声認識(ASR)、自然言語理解(NLU)、自然言語生成(NLG)、テキスト読み上げ(TTS)といった独立したコンポーネントをパイプラインでつなぎ合わせる構成でした。
このため、処理に数秒の遅延が生じ、リアルタイムな会話体験を妨げていました。
さらに、テキストを中間媒体としていたため、感情や非言語的な情報が失われ、会話のニュアンスが十分に伝わりませんでした。
話者交代を前提としたシステム設計のため、発話の重複や中断、相槌などを考慮できませんでした。
Moshiの革新的なアプローチ
Moshiは、これらの課題を解決するために、音声対話を音声から音声への生成として捉え直しました。
具体的には、テキスト言語モデル(Helium)を基盤とし、ニューラルオーディオコーデック(Mimi)からのトークンとして音声を生成します。
ユーザーとMoshi自身の音声を並列ストリームとしてモデル化することで、明示的な話者交代の区別をなくし、リアルタイムで全二重の会話を実現しました。これにより、会話における発話の重複や中断、相槌などが自然に扱えるようになります。
また、「Inner Monologue」という手法を用いて、音声トークンの前に時間軸に沿ったテキストトークンを予測することで、生成される音声の言語的な品質を向上させました。この手法は、音声認識やテキスト読み上げにも応用できます。
Moshiの貢献
リアルタイム性: Moshiは、理論上160ms、実際には200msという低遅延で動作し、自然な会話に近い体験を提供します。
全二重通信: 従来のシステムとは異なり、Moshiは発話の重複を許容し、いつでも話したり聞いたりできる全二重通信をサポートします。これにより、より複雑な会話のダイナミクスをモデル化することが可能になりました。
パラ言語情報の保持: テキストを中間媒体としていないため、感情や非言語的な情報を保持したまま会話を続けることができます。これにより、より人間らしいインタラクションが可能です。
Inner Monologueによる言語品質の向上: テキストトークンを予測する「Inner Monologue」は、音声生成の言語的な品質を大幅に向上させます。
多岐にわたる応用: Moshiは、音声認識やテキスト読み上げなど、さまざまなタスクにも応用できる可能性を示しました。
図1の概要
図1は、Moshiのアーキテクチャの概要を示しています。
この図は、MoshiがHeliumテキスト言語モデル、Mimiニューラルオーディオコーデック、ストリーミング階層的トークン生成といった主要なコンポーネントを組み合わせていることを示しています。
図4は、Moshiがモデル化する結合シーケンスの表現を示しています。
この図は、Moshiの音声、ユーザーの音声、テキストトークンが、どのように時間軸に沿って並列に処理されるかを示しています。
まとめ
Moshiは、リアルタイムで自然な音声対話を実現するための、新しいアプローチを提案しています。従来のシステムが抱えていた遅延、情報損失、柔軟性の欠如といった問題を解決し、音声対話技術の可能性を大きく広げました。この論文は、Moshiの革新的な設計と、その実用的な価値を明確に示すことで、今後の音声対話システムの開発に大きな影響を与えると考えられます。
トークンの具体的な流れ
図4をベースに、Moshiにおけるトークンの生成と流れについて、定性的に説明します。
トークンの種類と役割
Moshiでは、主に3種類のトークンが扱われます。
テキストトークン (Text tokens): Moshi自身の発話内容を表すテキストを、SentencePieceトークナイザーで分割したものです。
セマンティックトークン (Semantic tokens): 音声の意味的な情報を表す離散的なトークンで、Mimiオーディオコーデックの最初の量子化器によって生成されます。
アコースティックトークン (Acoustic tokens): 音声の音響的な特徴を表す離散的なトークンで、Mimiオーディオコーデックの残りの量子化器によって生成されます。
トークンの生成と流れ
図4は、Moshiがどのようにこれらのトークンを生成し、処理するかを時間の流れに沿って示しています。各列は、特定のタイムステップにおけるトークンを表しており、下から上に向かって生成されます。
ユーザーのストリーム (User stream):
ユーザーの発話は、まずMimiオーディオコーデックによってエンコードされ、セマンティックトークンとアコースティックトークンの系列に変換されます。
これらのトークンは、図4の上部に示されるように、Moshiの入力として供給されます。
ユーザーのテキストトークンは、Moshiのモデルには直接入力されません。
Moshiのストリーム (Moshi stream):
Moshiは、まずテキストトークンを生成します。これは、Moshiが次に何を話すかを決定する「Inner Monologue」プロセスの一部です。
次に、テキストトークンを基に、Mimiオーディオコーデックを用いて、セマンティックトークンを生成します。
さらに、セマンティックトークンを基に、アコースティックトークンを生成します。セマンティックトークンとアコースティックトークンの間には**遅延(τ)**が設けられており、通常は1または2ステップです。
この遅延により、より大きなTemporal Transformerが、セマンティックとアコースティックの特徴の相互依存性をモデル化するのを助けます。
生成されたセマンティックトークンとアコースティックトークンは、Moshiの出力として、実際の音声にデコードされます。
Inner Monologue の役割:
「Inner Monologue」とは、Moshiが自身の発話のテキスト表現を音声トークンの前に生成するプロセスです。
これにより、Moshiは自身の言語的な意図をより明確にモデル化し、生成される音声の言語的な品質が向上します。
また、このテキストトークンは、ストリーミング音声認識(ASR)やテキスト読み上げ(TTS)にも活用されます。
遅延 (Delay):
図4では、テキストトークンとセマンティック/アコースティックトークンの間に遅延があることが示されています。また、セマンティックトークンとアコースティックトークンの間にも遅延があることに注意が必要です。
この遅延は、モデルがより良い音声とテキストの整合性を生成するために、時間的な依存関係を学習するのに役立ちます。
また、この遅延の調整によって、MoshiをASRやTTSモデルとして機能させることもできます。
過去のMoshiストリームの利用:
Moshiの生成プロセスでは、過去に生成されたMoshiの音声データ(図4のMoshi stream)が直接入力として使用されるわけではありません。
ただし、過去のMoshiの発話によって生成されたトークンは、Temporal Transformerを通して、Depth Transformerが次のトークンを生成するためのコンテキストとして利用されます。
つまり、Moshiの出力は、過去の出力に依存した形で生成されるため、会話の一貫性が保たれるようになっています。
図2と図3の補足
Moshiでは、ユーザーとMoshi自身の音声を並列ストリームとして扱い、テキスト、セマンティック、アコースティックトークンを段階的に生成します。Inner Monologueと遅延を導入することにより、Moshiは、高品質でリアルタイムな音声対話を実現しています。過去のMoshiの発話は直接入力されるわけではありませんが、文脈としてモデルに考慮され、会話の一貫性に貢献します。
図2: Mimiオーディオコーデックのアーキテクチャを示しており、エンコーダー、デコーダー、そしてスプリット残差ベクトル量子化器(RVQ)が含まれています。この図は、セマンティックトークンとアコースティックトークンがどのように生成されるかの詳細を示しています。
図3: RQ-Transformerのアーキテクチャを示しています。この図は、Temporal TransformerとDepth Transformerが組み合わされて、長期的な依存関係を効率的にモデル化する方法を示しています。このアーキテクチャにより、Moshiは、複数のトークン系列を並列に処理し、リアルタイムに音声生成を行うことが可能になります。
まとめ
Moshiでは、ユーザーとMoshi自身の音声を並列ストリームとして扱い、テキスト、セマンティック、アコースティックトークンを段階的に生成します。Inner Monologueと遅延を導入することにより、Moshiは、高品質でリアルタイムな音声対話を実現しています。過去のMoshiの発話は直接入力されるわけではありませんが、文脈としてモデルに考慮され、会話の一貫性に貢献します。
リアルタイム音声合成の仕組み
図3を基に、Moshiにおけるリアルタイム音声合成の仕組みを定性的に説明します。特に、Transformer間の同時性、遅延、そして並列処理されたものが時系列的な会話になる理由について焦点を当てます。
RQ-Transformerの構成と役割
図3は、Moshiの中核となるRQ-Transformerのアーキテクチャを示しています。RQ-Transformerは、Temporal TransformerとDepth Transformerという2つの主要なTransformerモデルで構成されています。
Temporal Transformer: これは、時間軸に沿った長期的な依存関係をモデル化する役割を担います。具体的には、過去のトークン系列(V0, ... Vs-1)を入力として受け取り、現在のタイムステップsにおけるコンテキストベクトルzsを生成します。このzsは、Depth Transformerへの入力として利用されます。
Depth Transformer: これは、各タイムステップ内での複数トークン間の依存関係をモデル化します。具体的には、Temporal Transformerから出力されたコンテキストベクトルzsと、同じタイムステップ内の過去のサブシーケンスのトークン(Vs,1, ... Vs,k-1)を受け取り、現在のトークンVs,kの確率分布を推定します。
RQ-Transformerの重要な点は、Temporal Transformerが時間軸に沿ってシーケンシャルに処理を行うのに対し、Depth Transformerは同じタイムステップ内の複数のトークンを並列に処理できるという点です。
リアルタイム音声合成における同時性と遅延
Temporal Transformerの処理: Temporal Transformerは、各タイムステップごとに順次処理を行います。つまり、過去の全てのタイムステップのトークン情報に基づいて、現在のタイムステップのコンテキストベクトルzsを生成します。これは、時間的な順序を維持するために不可欠なステップです。
Depth Transformerの並列処理: Depth Transformerは、Temporal Transformerによって生成されたコンテキストベクトルzsを共有し、各サブシーケンスのトークン(例えば、セマンティックトークンと複数のアコースティックトークン)を並列に生成します。これにより、各タイムステップ内で複数のトークンを同時に生成できるため、処理の効率化とリアルタイム性の確保に貢献します。
トークン間の遅延: 図3には明示的に描かれていませんが、Moshiでは、セマンティックトークンとアコースティックトークン間の生成に意図的な遅延(τ)が導入されています。これは、セマンティックトークンを生成した後に、わずかな時間差をおいてアコースティックトークンを生成することで、より高品質な音声を生成するための工夫です。この遅延は、通常1から2タイムステップ(Moshiの場合、1タイムステップは80ms)であり、これにより、Temporal Transformerが、セマンティックとアコースティックの特徴の時間的な依存関係を学習するのを助けます。
Inner Monologueの統合: Moshiでは、音声トークンの生成前にテキストトークンを生成する「Inner Monologue」という手法が用いられています。これは、Moshiが次に何を話すかを決定するプロセスの一部で、このテキストトークンは、音声の言語的な品質を向上させるだけでなく、ストリーミング音声認識やテキスト読み上げにも活用されます。
並列処理されたものが時系列的な会話になる理由
タイムステップに基づく同期: RQ-Transformerでは、Temporal TransformerとDepth Transformerは、共通のタイムステップを基準として動作します。これにより、各タイムステップで生成されたトークンは、時間の流れに沿って一貫性のある順序で並べられます。
Temporal Transformerの役割: Temporal Transformerは、過去の情報を反映したコンテキストベクトルzsを生成することで、各タイムステップにおけるトークンの生成を、過去の会話の流れと関連付けます。これにより、会話の一貫性が保たれ、自然な流れが生まれます。
遅延による時間的依存性の活用: セマンティックトークンとアコースティックトークン間の意図的な遅延は、これらのトークンの間にある時間的な依存関係をモデル化するのに役立ちます。これにより、生成される音声は、時間的な連続性と自然な韻律を持つようになります。
Inner Monologueによる言語的な整合性: テキストトークンの生成は、生成される音声の言語的な一貫性を保証します。テキストトークンは、その後の音声トークンの生成を導き、意味的に一貫した発話を生成するのに役立ちます。
まとめ
RQ-Transformerは、Temporal Transformerによる時間軸に沿ったシーケンシャルな処理と、Depth Transformerによる各タイムステップ内での並列処理を組み合わせることで、リアルタイム音声合成を実現しています。意図的に導入された遅延とInner Monologueが、生成される音声の品質と一貫性を向上させ、自然な会話のような流れを生み出しています。並列処理と時系列的な出力の間の調整は、各タイムステップを基準として処理と同期が行われ、過去のコンテキスト情報と遅延を組み合わせることで、実現されています。
データセットと学習
Moshiを実現するために必要だったデータセットと学習について説明します。
Moshiは、テキストLLMであるHeliumを基盤とし、オーディオ言語モデルを組み合わせて構築された、リアルタイムな会話システムです。このため、テキストデータ、オーディオデータ、そしてそれらを組み合わせた学習データが使用されました。
1. テキストデータ:
高品質なテキストデータ: Wikipedia、Wikibooks、Wikisource、Wikinews、StackExchange、科学論文のコレクション(pes2o)など、高品質なデータソースから収集したデータが、全体の12.5%を占めます。
Wikipediaについては、2017年から2022年までの異なる時点のスナップショットを使用し、データの多様性を確保しています。
ウェブデータ: CommonCrawlプロジェクトによって収集されたウェブページテキストデータが、残りの87.5%を占めます。
このデータには、ナビゲーションメニューなどの不要な要素が含まれているため、行レベルでの重複削除や、ファジー重複削除などの処理を行って、クリーンなデータセットを作成しています。
2. オーディオデータ:
教師なしオーディオデータセット: 約700万時間のオーディオデータを使用しています。
このデータセットの大部分は英語の音声であり、Whisper (large-v3モデル) を用いてテキストに書き起こされています。
このデータは、Moshiのオーディオ事前学習に使用され、複数の話者の音声を単一のストリームとして扱います。
この段階では、テキストストリームもすべての話者の言葉をまとめたものとして扱われます。
すべてのオーディオは、24kHzにリサンプリングされ、モノラルにダウンミックスされます。
教師ありマルチストリームデータセット: 複数ペアの参加者による自然な会話とスクリプト化された会話、合計170時間分のデータを使用します。
* このデータは、話者ごとにチャンネルが分かれていることが特徴です。
* このデータセットは、Moshiの直接的な学習には使用されず、リアルなマルチストリームTTSモデルの学習に使用され、さらにHeliumを実際の会話のトランスクリプトでファインチューンするために利用されます。
3. 学習:
Moshiの学習は、以下の段階を経て行われます。
Heliumの学習: まず、高品質なテキストデータを使用して、70億パラメータのテキストLLMであるHeliumをトレーニングします。
この際、RMS正規化、回転位置埋め込み(RoPE)、FlashAttention、Gated Linear Units などの技術が利用されています。
Mimiの学習: 音声波形を離散的なオーディオトークンに変換するために、ニューラルオーディオコーデックMimi を学習します。
Mimiは、自己符号化器と離散ボトルネックを利用しており、残差ベクトル量子化(RVQ) を使用して、高音質の再構成を可能にしています。
WavLM からの非因果的な埋め込みを蒸留し、因果的なモデルで意味情報を扱えるようにしています。
Moshiの事前学習:
Heliumで初期化されたTemporal Transformerと、ランダムに初期化されたDepth Transformerを使用して、教師なしオーディオデータセットでトレーニングします。
この段階では、単一のオーディオストリームを使用し、テキストトークンを30%の確率でマスクします。
また、テキストとオーディオトークン間の遅延をランダム化し、テキストデータのみのバッチでの学習も並行して行います。
Moshiのポストトレーニング:
事前学習で得られたモデルを基に、マルチストリーム機能を獲得させるために学習を行います。
教師なしオーディオデータセットから、PyAnnoteを用いて話者を分離し、2つのオーディオストリームを作成します。
テキストストリームは、選択されたメインスピーカーのテキストトークンのみを含み、テキストとオーディオトークン間の遅延は0に固定します。
この段階でも、テキストデータのみのバッチで学習を行います。
Moshiのファインチューニング:
Fisherデータセットを用いて、実際のマルチストリーム対話を学習させます。
2人の話者のうち1人をメインスピーカーとして選択し、もう1人を別のオーディオストリームに配置します。
テキストストリームには、メインスピーカーの書き起こしのみが含まれます。
教師ありマルチストリームデータセットでファインチューンされたマルチストリームTTSモデルを使用して合成した音声データで学習します。
この段階では、ユーザーのストリームに対して、ランダムなゲイン調整、ノイズ付加、エコー付加、リバーブ付加などのデータ拡張を行い、さまざまな状況への頑健性を高めます。
TTSモデルの学習:
Moshiと同様のオーディオ事前学習段階を経た後、テキストに対してオーディオストリームに2秒の遅延を設定して学習を行います。
教師ありマルチストリームデータセットでファインチューンします。
このTTSモデルは、Moshiのインストラクトファインチューニングに使用される合成音声データを生成するために利用されます。
4. Inner Monologue:
学習と推論の両方において、テキストトークンをオーディオトークンの前に生成するInner Monologueと呼ばれる方法が使用されます。
このテキストストリームは、Moshi自身の音声の書き起こしから得られたものであり、言語的な品質を向上させるために利用されます。
これらのデータセットと学習プロセスを通じて、Moshiはリアルタイムな会話を可能にするだけでなく、高品質な音声生成と知識に基づいた応答を実現しています。
5.図表の説明(既出の図を学習の観点から説明)
既出の図1から図4は、学習の観点からも重要です。改めて図の説明を追加します。
Moshiのアーキテクチャの概要図
Figure 1は、Moshiのアーキテクチャの概要を示しており、テキスト言語モデル(Helium)、ニューラルオーディオコーデック(Mimi)、そしてストリーミングに対応した階層的なセマンティック/アコースティックトークンの生成という、主要な構成要素が示されています。
この図は、Moshiがリアルタイムな会話を可能にするための全体的な枠組みを示しており、これらの要素がどのように組み合わさって動作するかが視覚的に理解できます。
Mimiのアーキテクチャと学習
Figure 2は、Mimiのアーキテクチャと学習プロセスを示しており、**分割された残差ベクトル量子化(RVQ)**を使用し、WavLMから蒸留されたセマンティック情報がどのように組み込まれるかが示されています。
この図は、Mimiがどのようにしてセマンティックとアコースティックな情報を組み合わせ、高品質なオーディオトークンを生成するのかを説明しています。
RQ-Transformerのアーキテクチャ
Figure 3は、Moshiの階層的な自己回帰モデリングを担うRQ-Transformerのアーキテクチャを示しています。
この図は、Temporal TransformerとDepth Transformerの2つのTransformerモデルがどのように連携し、長いシーケンスを効率的に処理するかが示されています。
Moshiのモデリング
Figure 4は、Moshiがモデリングする結合シーケンスの表現を示しており、テキストトークン、Moshiのセマンティック/アコースティックトークン、そしてユーザーのオーディオトークンがどのように組み合わされるかを示しています。
この図は、Moshiがフルデュプレックスな会話をどのように処理するのかを視覚的に示しています。
これらの図表は、Moshiの学習プロセスとモデルアーキテクチャを理解する上で非常に役立ちます。
Moshiの評価 超簡単説明(詳細な分析は披露しません)
Moshiの評価について、図表に基づいて定性的に説明します。
これらの評価結果から、Moshiは高品質な音声生成、自然な対話、高い知識に基づいた応答を実現していることがわかります。また、Inner Monologueやマルチストリームアーキテクチャなどの技術が、Moshiの性能向上に大きく貢献していることが示されています。
1. オーディオコーデック Mimi の評価 (Table 3, Table 4, Figure 2)
評価内容: Mimiコーデックのセマンティックモデリング能力とオーディオ再構成品質を評価。
評価手法:
ABXエラー率: 音素の弁別能力を測定。値が低いほどセマンティックモデリング能力が高い。
VisQOL, MOSNet: オーディオの類似性と品質を客観的に評価。値が高いほど品質が高い。
MUSHRAプロトコル: 人間の主観評価で、再構成された音声と元の音声の類似性を評価。値が高いほど品質が高い。
結果:
Table 3では、Mimiのハイパーパラメータの調整による影響を比較しており、Transformerをデコーダーに追加するとMUSHRAスコアが向上すること、また、**量子化率を50%**にするとVisQOLが向上することが示されています。
Table 4では、Mimiが他のコーデック(RVQGAN, SemantiCodec, SpeechTokenizer)と比較して、より高いオーディオ品質を提供することが示されています。特に、Mimiは低いフレームレートで動作しながら、より高い再構成品質を達成しています。また、Mimiは因果的であり、リアルタイム推論に適しています。
2. RQ-Transformer の評価 (Table 5, Figure 3)
評価内容: RQ-Transformerがオーディオトークンのモデリングに与える影響を評価。
評価手法:
パープレキシティ: モデルが次のトークンをどれだけうまく予測できるかを測定。値が低いほどモデルの性能が高い。
結果: Table 5では、遅延パターンやトークンレベルの重み付けがモデルの性能に影響を与えることが示されています。
3. 生成モデルの評価 (Table 7, Table 8)
評価内容: Moshiの言語モデリング能力と音声理解能力を評価。
評価手法:
sWUGGY, sBLIMP, sTopic-StoryCloze, sStoryCloze: 音声言語モデルの語彙、構文、意味の理解度を測定。
MMLU: テキストモデルの知識を測定。
Spoken Question Answering: 音声での質問応答能力を評価。
結果:
Table 7では、Moshiが音声のみのモデルと比較して高い性能を発揮することが示されています。また、Inner Monologueを使用すると共通感覚の推論能力が向上することも示されています。
Table 8では、Moshiが**他のモデル (SpeechGPT, Spectron)**と比較して、高い質問応答精度を達成していることが示されています。特に、Inner MonologueがMoshiの性能に大きな影響を与えることがわかります。
4. 対話の品質と統計 (Table 9)
評価内容: Moshiが生成する対話の言語的品質とターンテーキングの統計を評価。
評価手法:
パープレキシティ: 生成された対話の言語的品質を測定。値が低いほど品質が高い。
IPU (Inter-Pausal Units), Pause, Gap, Overlap: 対話における発話と沈黙のパターンを分析。
結果: Table 9では、Moshiがカスケードモデルと同等の言語的品質を達成しており、自然な対話パターンを学習していることが示されています。
5. モデル圧縮の影響 (Figure 5, Table 10, Table 11, Figure 6, Table 12)
モデル圧縮の影響は、会話デバイスが将来持ち出せるかなどのユースケースに直結する問題などに関わるため非常に重要です。
評価内容: Moshiの量子化が言語能力と音響品質に与える影響を評価。
評価手法:
MMLU: 量子化されたモデルのテキスト知識を測定。
MOSNet: 量子化されたモデルが生成したオーディオの品質を測定。
エントロピー解析: 生成されたテキストとオーディオトークンのエントロピーを分析し、オーディオのアーティファクトを検出。
結果:
Figure 5とTable 10,11では、量子化によりMoshiの言語能力が低下することが示されていますが、音声品質は比較的安定していることが示されています。特に、Moshiの言語能力は、Heliumモデルと比較して、量子化の影響を受けやすいことが示されています。
Figure 6, Table 12では、特定の量子化レベルで、オーディオアーティファクトの発生が見られ、低いビット幅では特に顕著になることが示されています。
日本語対応Moshi J-Moshi
ここからは、日本語対応Moshi J-Moshiについて説明します。
リンクサイトには音声サンプルも多数ありますので、参考にしてください。
J-Moshiというシステムが、Moshiをベースにして日本語で利用可能な最初のフルデュプレックス音声対話システムとして試作されました。
J-Moshiの開発には、名古屋大学が関わっており、株式会社アイシンとの共同研究で構築された雑談対話コーパスと相談対話コーパスが使用されています。
J-Moshiの開発にあたっては、JSTムーンショット型研究開発事業の支援を受けており、**名古屋大学のスーパーコンピュータ「不老」**が利用されています。
J-Moshiのデモ動画では、音声合成による拡張データによって学習されたJ-Moshi-extが使用されています。
Moshiの技術的な詳細やモデルを公開したKyutai Labsへの感謝の意が述べられています。
なぜ日本語システムを開発するのか
日本語のフルデュプレックス音声対話システムは、単なる翻訳ではなく、日本語特有の課題を解決し、日本の文化やニーズに合致した、高度で実用的なシステムが求められています。
日本語のシステムが必要な理由は、主に以下の点が挙げられます。
言語固有のニーズ: 音声対話システムは、言語の特性に大きく依存します。英語で開発されたMoshiをそのまま日本語環境で使用することは困難です。日本語には、英語とは異なる音韻構造、文法構造、語彙があり、これらの違いに対応するために、日本語に特化したモデルが必要になります。
日本語におけるfull-duplex音声対話システムの不足: 日本語においては、full-duplex音声対話システムの研究開発が遅れており、この分野における知見が不足しています。そのため、日本語でのリアルタイムな音声対話を実現するためには、専用のシステムを開発する必要があります。
文化的な背景: 日本語は、英語に比べて曖昧な表現や間接的な言い回しが多く、文脈依存性が高いという特徴があります。これらの文化的背景を考慮したモデルを開発することで、より自然で円滑なコミュニケーションが可能になります。
実用的なニーズ: 日本国内での音声対話システムに対するニーズは高く、顧客サポート、教育、エンターテイメントなど、幅広い分野での応用が期待されています。これらのニーズに応えるためには、日本語に対応した高品質なシステムが不可欠です。
研究の促進: J-Moshiの開発は、日本語におけるfull-duplex音声対話システムの研究を促進する効果が期待できます。J-Moshiの開発を通じて得られた知見は、今後の日本語音声対話システム開発に貢献することが期待されます。
データとリソースの制約: J-Moshiの開発では、音声合成による拡張データが使用されています。これは、日本語の音声データが限られていることを示唆しており、データ拡張技術の開発も日本語システムに必要な理由の一つと言えます。また、スーパーコンピュータなどの計算リソースも、日本語システムの開発には不可欠です。
LLM、データ、学習
J-Moshi で使用される LLM、データ、学習方法について、Moshi と同様の部分は簡潔に説明し、異なる点に焦点を当てて説明します。
J-Moshi は Moshi のアーキテクチャを基盤としていますが、日本語に特化した LLM、データ、学習方法を採用しています。特に、日本語の対話コーパス、音声合成によるデータ拡張、スーパーコンピュータの利用、そしてMimiの調整が、J-Moshi の特徴的な技術要素であると言えます。これらの違いが、J-Moshi が日本語で自然な対話を実現するための鍵となっています。
LLM (Large Language Model)
Moshi と同様: J-Moshi も Moshi と同様に、テキスト LLM を基盤としています。Moshi では Helium というテキスト LLM が使用されていますが、J-Moshi では、この Helium をベースに日本語データで再学習または微調整 している可能性が高いと考えられます。
J-Moshi の特徴: J-Moshi では、日本語の特性に対応するため、Moshi で使用される Helium をそのまま利用するのではなく、日本語に特化した言語モデルを使用していると考えられます。このモデルは、日本語の文法構造、語彙、および文脈をより正確に理解し、生成できるように調整されています。
データ
Moshi と同様: Moshi は、大規模なテキストデータで事前学習されています。
J-Moshi の特徴:
日本語対話コーパス: J-Moshi の学習には、株式会社アイシンとの共同研究で構築された雑談対話コーパスと相談対話コーパスが使用されています。これらのコーパスは、日本語の自然な対話をモデルに学習させるために重要です。
音声合成による拡張データ: J-Moshi では、Multi-stream TTS によって生成された合成音声データが使用されています。これは、日本語の音声データが限られているため、データ拡張が重要な役割を果たしていることを示唆しています。Moshi では、このようなデータ拡張がどの程度用いられているかは不明です。
その他: Moshi と同様に、J-Moshi もテキストデータを利用して学習していると考えられます。
学習方法
Moshi と同様: J-Moshi も Moshi と同様の多段階学習を採用していると考えられます。Moshi の学習は、事前学習、ポストトレーニング、ファインチューニングの段階を経ており、J-Moshi も同様の学習プロセスを経ていると推測できます。
Moshiの学習段階:
テキストデータによる Helium の事前学習
オーディオデータによる Moshi の事前学習
シミュレーションされたマルチストリームデータによるポストトレーニング
実際の会話データによるファインチューニング
指示データによるインストラクションファインチューニング
J-Moshi の特徴:
日本語データに特化: J-Moshi の学習では、日本語の対話コーパスや音声合成データを使用し、日本語の特性に合わせたモデルを構築することに重点が置かれています。Moshi の学習データが英語に特化しているのに対し、J-Moshi では、日本語データに特化した学習が行われている点が異なります。
Mimi の調整: J-Moshi では、Moshi で使用されているニューラルオーディオコーデック Mimi を日本語音声に対応するように調整または再学習している可能性があります。Mimi は、セマンティック情報とアコースティック情報を統合しますが、言語が異なると、これらの情報の表現が異なる可能性があるためです。
スーパーコンピュータの利用: J-Moshi の学習には、**名古屋大学のスーパーコンピュータ「不老」**が利用されており、大規模な計算リソースを必要とする学習タスクを効率的に実行しています。
マルチストリーム TTS の利用: Multi-stream TTS を用いた音声合成データを使用している点が、J-Moshi の学習における重要な特徴です。これにより、現実的な対話状況を模擬した学習が可能になっています。
J-Moshiの評価
J-Moshi の評価に関しては、音声デモの形で提供されています。
これらの評価は、J-Moshi の対話能力、音声生成能力、および自然さを様々な側面から評価することを目的としています。特に、対話継続の評価は、J-Moshi が現実的な対話状況でどのように機能するかを理解する上で重要です。また、J-Moshi-ext と他のモデルとの比較を通じて、合成データによる学習の効果を評価しています。
リアルタイム音声対話デモ: J-Moshi のページには、J-Moshi とユーザーによる実際の音声対話サンプルが提供されています。これは、システムのリアルタイムでの対話能力をデモンストレーションするためのものです。
対話継続の評価: 10秒の対話音声プロンプトから、J-Moshi および他のモデルが生成した20秒の対話音声サンプルを比較することで、対話の継続能力を評価しています。
比較対象:
Re-synthesis: 実際の対話音声を Mimi で再合成した音声。
dGSLM: 日本語音声対話データで学習した dGSLM。
J-Moshi: 日本語音声対話データで学習した Moshi。
J-Moshi-ext: 日本語音声対話データと合成音声データで学習した Moshi。
この比較を通じて、J-Moshi の対話継続における自然さや一貫性を評価しています。特に J-Moshi-ext は、データ拡張の効果を示すことを意図しています。
ハッシュタグ
#Moshi #JMoshi #FullDuplex #音声対話 #SpeechToSpeech #リアルタイム対話 #LLM #Helium #ニューラルオーディオコーデック #Mimi #音声合成 #マルチストリーム #深層学習 #自然言語処理 #Kyutai #名古屋大学 #スーパーコンピューター不老 #日本語LLM #対話システム #音声認識 #テキスト読み上げ #InnerMonologue #言語モデル #データ拡張 #音声データ #テキストデータ #機械学習 #会話モデル