Moshi: リアルタイム会話のための音声・テキストベースモデル
Moshi の紹介
- Moshi はリアルタイム会話のための音声・テキストベースモデルであり、双方向の音声対話フレームワークでもある
- 最先端のストリーミング型ニューラル音声コーデックである Mimi を使用する
- Mimi は 24 kHz オーディオを 12.5 Hz に変換し、帯域幅を 1.1 kbps に維持しながら、80ms の遅延でストリーミング処理を行う
- 既存の非ストリーミング型コーデックである SpeechTokenizer(50Hz, 4kbps) や SemantiCodec(50Hz, 1.3kbps) より優れた性能を示す
Moshi の動作方式
- Moshi は 2 つのオーディオストリームをモデル化する: 1 つは Moshi、もう 1 つはユーザー
- 推論時、ユーザーのストリームは音声入力から取得され、Moshi のストリームはモデル出力からサンプリングされる
- これら 2 つのオーディオストリームとともに、Moshi は自分の音声に対応するテキストトークンを予測する
- 小型の Depth Transformer が与えられた時間ステップにおけるコードブック間の依存関係をモデル化し、大規模な 7B パラメータの Temporal Transformer が時間的依存関係をモデル化する
- Moshi は理論上 160ms の遅延を達成し、実際には L4 GPU で 200ms 未満の遅延を持つ
Mimi の特徴
- Mimi は SoundStream や EnCodec など、従来のニューラル音声コーデックをベースにし、エンコーダーとデコーダーに Transformer を追加している
- Mimi はテキストトークンの平均フレームレート (~3-4 Hz) により近づけるため、ストライドを調整している
- Mimi は WavLM の自己教師あり表現に一致するよう、第 1 コードブックトークンを合わせる蒸留損失を使用する
- Mimi は 敵対的学習損失と特徴量マッチングのみを使用し、低ビットレートでも主観品質で大きな改善を示す
リポジトリ構成
- このリポジトリには 3 つのバージョンの Moshi 推論スタックがある
- PyTorch を使う Python 版は
moshi/ ディレクトリにある
- M シリーズ Mac 向けに MLX を使う Python 版は
moshi_mlx/ ディレクトリにある
- 本番環境で使われている Rust 版は
rust/ ディレクトリにある
- ライブデモのコードは
client/ ディレクトリで提供される
モデル
- 3 つのモデルが公開されている
- 音声コーデック Mimi
- 男性合成音声向けにファインチューニングされた Moshi (Moshiko)
- 女性合成音声向けにファインチューニングされた Moshi (Moshika)
- 各モデルは HuggingFace リポジトリで提供される
- すべてのモデルは CC-BY 4.0 ライセンスで公開されている
要件
- 最低でも Python 3.10 が必要で、Python 3.12 が推奨される
- 特定の要件は各バックエンドディレクトリを参照
- PyTorch および MLX クライアントのインストールコマンドが提供されている
Python (PyTorch)
- PyTorch ベースの API は
moshi ディレクトリにある
- ストリーミング音声トークナイザー (mimi) と言語モデル (moshi) を提供する
- インタラクティブモードで実行するにはサーバーを起動する必要がある
Python (MLX) for macOS
moshi_mlx をインストールした後、ローカル推論を実行できる
- コマンドラインインターフェースは基本的なもので、エコーキャンセル機能はない
Rust
- Rust 推論サーバーを実行するには
rust ディレクトリでコマンドを使う
- macOS では
--features cuda の代わりに --features metal を使用できる
クライアント
- Web UI の使用が推奨され、追加のエコーキャンセル機能が提供される
- コマンドラインインターフェースも提供される
開発
- リポジトリをクローンしてインストールし、開発できる
FAQ
- Issue を作成する前に、よくある質問セクションを確認
ライセンス
- Python 部分は MIT ライセンス、Rust バックエンドは Apache ライセンス
- Web クライアントコードは MIT ライセンス
- モデル重みは CC-BY 4.0 ライセンス
引用
- Mimi または Moshi を使用する場合は、論文を引用する
GN⁺の要約
- Moshi はリアルタイム会話向けの革新的な音声・テキストモデルで、低遅延と高品質を両立する
- Mimi コーデックは既存コーデックより効率的で、Transformer により性能を最大化している
- さまざまなプラットフォームで利用可能で、PyTorch、MLX、Rust など複数のバージョンを提供する
- リアルタイム会話アプリケーション開発者に非常に有用で、特に低遅延が重要な場合に適している
- 類似機能を持つ他のプロジェクトとして、Google の WaveNet や OpenAI の Jukebox がある
1件のコメント
Hacker Newsの意見
1つ目の意見
2つ目の意見
3つ目の意見
4つ目の意見
5つ目の意見
6つ目の意見
7つ目の意見
8つ目の意見
9つ目の意見
10つ目の意見