- 高忠実度(High Fidelity)のリアルタイム・ストリーミング音声翻訳(Speech-to-Speech Translation)モデル
- 一般的なオフライン翻訳とは異なり、ユーザーが話している間に「リアルタイムで翻訳された音声を生成」する
- テキスト翻訳もあわせて提供し、元の音声のスタイルを維持する音声変換機能も含む
アーキテクチャ
- 「Decoder-onlyモデル」で、同時音声翻訳のために設計されている
- Moshi の マルチストリーム(multistream)アーキテクチャを活用し、元音声と翻訳音声を同時にモデリングする
- 1秒あたり12.5Hzの一定フレームレートで 連続的な出力ストリーム を生成し、タイムスタンプ付きのテキスト翻訳も提供する
学習方法
- 元音声・翻訳音声・テキストが整列したデータが必要だが、実際にはそのようなデータは多くない
- そのため 合成データ(synthetic data)を生成 して学習を進める
- MADLAD 機械翻訳システムを活用し、元テキストと翻訳テキストを 弱教師あり学習の方式で整列 する
- 翻訳が元文から予測可能になる時点でのみ単語が現れるように 整列ルールを適用 する
- 方法 1: 無音挿入(silence insertion)
- 方法 2: 整列を反映した音声合成(alignment-aware TTS)
推論(Inference)
- Hibiki はリアルタイムで元音声をエンコードし、翻訳音声を生成する
- 複雑な推論方式なしに 温度サンプリング(temperature sampling)方式 を使用し、バッチ処理と互換性がある
- Classifier-Free Guidance 係数を調整して音声の類似度を制御できる
- 係数が高いほど元音声に近い音声を生成するが、高すぎると翻訳品質が低下する可能性がある
- 現在の Hibiki は フランス語 → 英語翻訳のみ対応 している
- 軽量モデルの Hibiki-M はスマートフォンでも実行可能
モデルの実行方法
- PyTorch、Rust、MLX(macOS)、MLX-Swift(iOS)で実行可能
- Hibiki のコードは Moshi プロジェクトとほぼ同一 で、実装は kyutai-labs/moshi リポジトリで確認できる
- 現在は フランス語 → 英語(FR → EN)翻訳 に対応する2種類のモデルのみ提供されている
- Hibiki 2B: より深い Transformer 構造、ストリームあたり 16 RVQ
- Hibiki 1B: 軽量版、ストリームあたり 8 RVQ、オンデバイス実行可能
2件のコメント
Rustデプロイには candle を使っているようですね。(Cargo.toml)
語順がまったく異なる言語同士だと、リアルタイム翻訳は少し難しそうですが、論文を一度見てみたいですね。