SeamlessM4T:単一モデルで「バベル・フィッシュ」を実現する試み
テキストと録音を、聴ける作品に
ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。
- テキスト読み上げも、ボイスクローンも
- ステムを分離、またはカバーを生成
- 登録して試聴。聴いてから決められる
一般的な翻訳パイプラインに話しかけると、声は実際には 3 つの別々のシステムを通ります。音声認識器が発話を書き起こし、テキスト翻訳器がその内容を翻訳し、TTS モデルが結果を読み上げます。引き継ぎが 3 回あれば、ニュアンスを失う機会も 3 回あります。Meta の Seamless Communication チームは、まさにこの連鎖を一つにまとめるために SeamlessM4T を開発しました。さらに、より広い研究目標をダグラス・アダムズの「バベル・フィッシュ」になぞらえています。別々のシステムをつなぎ合わせず、聞き、理解し、翻訳し、音声で返答する単一モデルです。
SeamlessM4T とは?
SeamlessM4T は、Meta AI が 2023 年 8 月に公開したオープンソースの基盤モデルです。単一の Transformer ベースシステムとして構築され、音声から音声への翻訳、音声からテキストへの翻訳、テキストから音声への翻訳、テキスト間翻訳、自動音声認識という 5 つの異なるタスクを、最大 100 言語で扱います。まず 100 万時間のオープンな音声データを用い、w2v-BERT 2.0 による自己教師あり音声表現学習を行いました。その後、自動で対応付けられた音声翻訳データ(SeamlessAlign と呼ばれるデータセット)と、人手によるラベル付きデータおよび疑似ラベル付きデータを組み合わせた 40 万 6,000 時間のマルチモーダルコーパスでファインチューニングされています。
SeamlessM4T の機能上の利点
- 5 つのタスクを 1 つの統合モデルで処理し、個別の音声認識・翻訳・合成システムをつなぐカスケード型パイプラインを必要としません。
- 幅広い言語をカバーし、音声入力は 101 言語、テキストは 96 言語に対応します。音声出力も、その範囲のうち相当数の言語をカバーしています。
- 翻訳品質が大幅に向上し、Fleurs ベンチマークの直接音声テキスト翻訳では、従来の最先端手法に対して BLEU が 20% 改善したと報告されています。
- ロバスト性も測定可能な形で向上し、音声テキスト変換タスクにおいて、従来の最先端システムと比べて背景ノイズに対して平均 38%、話者の違いに対して平均 49% の改善を示しています。
- 完全にオープンソース化され、Hugging Face Transformers でネイティブ対応しているため、独自の推論スタックなしで簡単に読み込んで実行できます。
UnitY アーキテクチャの実際の仕組み
SeamlessM4T は Meta の UnitY アーキテクチャを採用しています。入力から直接音声出力へ進むのではなく、先にテキストを生成し、その後に音声を生成する 2 パス設計です。音声入力はメルフィルタバンクによる特徴抽出を経て、w2v-BERT 2.0 表現学習モデルで初期化された Conformer 音声エンコーダーへ渡されます。その後、長さアダプターが固定倍率で音声信号をダウンサンプリングします。テキストの入力と出力には、Meta 独自の 200 言語対応テキスト間翻訳モデルである SeamlessM4T-NLLB で初期化したエンコーダーとデコーダーを使用します。つまり、SeamlessM4T はテキスト翻訳を一から学び直す必要がなく、その能力を直接引き継いでいます。音声出力では、モデルが離散音響ユニットを生成し、それを多言語 HiFi-GAN ボコーダーが実際の波形へ変換します。
新しい SeamlessM4T v2 では、これが UnitY2 へと改良されました。階層型の文字からユニットへのアップサンプリングが追加され、テキストからユニットへのデコードは非自己回帰方式に変更されています。これらの変更により、元の v1 アーキテクチャと比べて、特にパイプラインの音声生成部分における出力品質と推論速度の両方が向上しました。
第一に翻訳モデル、第二に TTS モデル
ここは率直に説明しておくべきでしょう。目的が、任意のテキストから単一言語の表現豊かで自然な音声を生成することだけなら、その用途に特化して作られた専用 TTS モデルのほうが SeamlessM4T より適している可能性があります。SeamlessM4T が真価を発揮するのは、まさに言語をまたぐ場面です。つまり、ある言語の音声またはテキストを別の言語の音声出力へ変換し、個別に調整されながら一緒に動作するよう訓練されていない 3 つのコンポーネントではなく、一貫した 1 つのシステムでパイプライン全体を処理したい場合です。音声合成の品質は確かに高いものの、それは翻訳のための合成であり、声の表現力や音声クローンだけを目的に最適化された合成ではありません。
SeamlessM4T の使い始め方
- 最も簡単な方法は Hugging Face Transformers との統合を利用することです。 SeamlessM4T v2 は
SeamlessM4Tv2Modelクラスでネイティブにサポートされています。from transformers import SeamlessM4Tv2Modelを実行してからfacebook/seamless-m4t-v2-largeを読み込めば、数行で動作するモデルを用意できます。 - 研究用ツールキット全体が必要なら、元のリポジトリをクローンします。 GitHub の
facebookresearch/seamless_communicationには、Transformers 互換のチェックポイントだけでなく、より広範な Seamless Communication コードベースが含まれています。 - モデルを呼び出す際は、タスクを明示的に指定します。 1 つのモデルが 5 つの異なるタスク(S2ST、S2TT、T2ST、T2TT、ASR)を処理するため、推論呼び出しでは、実際に求める変換とソース言語・ターゲット言語のコードを指定する必要があります。
- 特別な理由がない限り、v1 ではなく v2 を標準で選びます。 UnitY2 アーキテクチャの改善は特に音声生成の品質と速度に反映されるため、ほぼすべての新規プロジェクトで v2 のほうが実用的です。
- 全面的に対応していると決めつけず、具体的な翻訳方向について文書化された言語一覧を確認します。 音声出力の対応言語は音声入力より少ないため、モデル全体の対応範囲だけでなく、該当タスクでターゲット言語がサポートされていることを確認してから採用してください。
より良い結果を得るためのヒント
- 常にパイプライン全体を翻訳するのではなく、実際の目的に合うタスクを選びます。 書き起こしだけが必要なら、翻訳して戻すのではなく ASR タスクを直接使ってください。問題を解決できる最も限定的なタスクを使えば、不要な計算や品質低下の可能性を避けられます。
- 100 言語すべてで品質が同じだと考えず、必要な言語ペアを実際にテストします。 翻訳品質、特に音声出力の品質は言語や言語ペアによって異なるため、プロジェクトに必要な組み合わせを正確に検証してください。
- 翻訳が実際のタスクに含まれないなら、専用 TTS モデルを検討します。 SeamlessM4T の設計の重心は翻訳にあるため、音声の個性、感情、クローンに対する制御は、SeamlessM4T の合成コンポーネント単体より、専用 TTS モデルのほうが一般に優れています。
- 一般公開する用途では、組み込みの有害性フィルタリングを活用します。 これは後付けではなく、文書化され評価も行われた安全機能です。コンテンツフィルタリングを別途構築すべきだと決めつけず、具体的なユースケースにどう適用されるかを理解しておく価値があります。
SeamlessM4T と他の多言語音声モデルの比較
| SeamlessM4T | VALL-E X | F5-TTS | |
|---|---|---|---|
| 中心となるタスク | 統合翻訳(5 タスク:ASR、S2ST、S2TT、T2ST、T2TT) | 多言語音声クローン | 単一言語の音声クローン |
| 言語 | 最大 100 言語(音声入力)、96 言語(テキスト) | 主に英語と中国語(研究)、コミュニティによる再現ではより広範 | 主に英語向け |
| 言語をまたいで元話者の声を維持 | 主要な設計目標ではない | 対応。中心となる設計目標 | 該当しない |
| 翻訳品質のベンチマーク | 広範に実施(BLEU、ロバスト性) | 重視していない | 該当しない |
| 組み込みの安全性評価 | あり(有害性、バイアス、Blaser 2.0) | 文書化されていない | 文書化されていない |
| 最適な用途 | 多言語コミュニケーション、書き起こし、翻訳 | 言語をまたいで特定の声を維持 | 表現豊かな単一言語のナレーションやクローン |
SeamlessM4T の独自の立ち位置は、音声クローンや表現豊かなナレーションのツールではなく、たまたま答えを音声でも返せる本格的な翻訳システムであることです。実際の目的が「言語をまたいで意味を理解し、伝える」ことなら、まさにそのために作られています。一方、特定の声、表現豊かな声、クローン可能な声が目的なら、適切なツールではありません。
よくある質問
SeamlessM4T は実際にどのようなタスクに対応していますか?
音声から音声への翻訳、音声からテキストへの翻訳、テキストから音声への翻訳、テキスト間翻訳、自動音声認識の 5 つです。それぞれに別のシステムを使うのではなく、すべてを 1 つの統合モデルで処理します。
SeamlessM4T は何言語に対応していますか?
音声入力は最大 101 言語、テキストは 96 言語に対応しています。音声出力の対応範囲はそれより狭いものの、依然として相当数をカバーしています。具体的なターゲット言語とタスクについて、文書化された一覧を確認してください。
音声生成では、SeamlessM4T は専用 TTS モデルより優れていますか?
純粋なテキスト読み上げ用途では、そうとは限りません。SeamlessM4T の音声生成は翻訳に役立てるために構築されています。そのため、表現豊かなナレーションや音声クローンという限定的な用途では、専用モデルのほうが通常は高い制御性とより良い結果を得られます。
SeamlessM4T v1 と v2 の違いは何ですか?
v2 では UnitY2 アーキテクチャが導入され、階層型の文字からユニットへのアップサンプリングと、非自己回帰方式のテキストからユニットへのデコードが追加されました。元の v1 リリースと比べて、音声生成の品質と推論速度の両方が向上しています。
SeamlessM4T は無料で使えますか?
はい。Meta がオープンソースとして公開しており、コードは GitHub で入手できます。モデルは Hugging Face でホストされ、Transformers ライブラリでネイティブにサポートされています。
AI 吹き替えで既存の音声や動画を翻訳
同じ目的に近い音声間翻訳をブラウザで行うなら、Echora の AI 吹き替えを利用できます。既存の音声または動画をアップロードし、ターゲット言語を選ぶと、翻訳された音声または動画を生成できます。