ウェブサイト検索

SeamlessM4T: 多言語およびマルチモーダルな世界における翻訳に革命を起こす


導入

相互接続がますます進む世界では、インターネット、モバイル デバイス、ソーシャル メディア、通信プラットフォームの普及により、人々は多言語コンテンツに前例のないアクセスを得ることができました。この状況において、オンデマンドであらゆる言語で情報を伝達し、理解する能力がますます重要になっています。この機能は常に SF の夢でしたが、人工知能はこのビジョンを技術的な現実に変えようとしています。

この記事では、音声とテキスト間でシームレスな翻訳と文字起こしを行うための画期的な多言語およびマルチタスク モデルである SeamlessM4T を紹介します。約 100 言語の自動音声認識、音声からテキストへの翻訳、音声から音声への翻訳、テキストからテキストへの翻訳、およびテキストから音声への翻訳をサポートしており、英語を含む追加の 35 言語の出力がサポートされています。

SeamlessM4T は、言語範囲の制限や個別のシステムへの依存に伴う制限を克服することにより、音声合成および音声合成テクノロジーの分野で大きな進歩をもたらします。

前提条件

  • 基本的な言語知識: 構文、意味論、翻訳のニュアンスの理解。
  • AI/ML の基礎: 機械学習の概念、特にディープ ラーニングに精通していること。
  • NLP とマルチモーダル AI: 自然言語処理 (NLP) とマルチモーダル データ (テキスト、画像、音声) の処理に関する知識。
  • ツールとフレームワーク: PyTorch、TensorFlow、Hugging Face などのフレームワークの使用経験。
  • データ処理: 大規模な多言語データセットの管理と前処理のスキル。
  • GPU の使用率: 大規模な言語モデルのトレーニングに GPU を活用することについての認識。

シームレス M4T で使用されるアプローチ

軽量で効率的なシーケンス モデリング ツールキットを構築するために、Meta は最初で最も人気のあるシーケンス モデリング ツールキットの 1 つである Fairseq を再設計しました。 Fairseq2 はより効率的であることが証明されており、SeamlessM4T の背後にあるモデリングを強化するのに役立ちました。

マルチタスク UnitY モデル アーキテクチャでは、翻訳されたテキストと音声の両方を直接生成できます。この高度なフレームワークは、自動音声認識、テキストからテキストへ、テキストから音声へ、音声からテキストへ、音声から音声への翻訳を含むさまざまな機能をサポートしており、標準の UnitY モデルからシームレスに統合されています。マルチタスク UnitY モデルは 3 つの主要なコンポーネントで構成されます。テキストおよび音声エンコーダーは約 100 言語にわたる音声入力を認識し、テキスト デコーダーはテキストの意味を約 100 言語に翻訳し、テキストからユニットへのモデルはそれを 36 音声の個別の音響単位にデコードします。言語。モデルの品質と安定性を向上させるために、自己教師ありエンコーダー、音声からテキストへの変換、テキストからテキストへの翻訳コンポーネント、およびテキストからユニットへのモデルは事前トレーニングを受けます。最後のステップでは、多言語 HiFi-GAN ユニット ボコーダーを使用して、デコードされた個別ユニットを音声に変換します。

アーキテクチャソース

1.エンコーダは音声を処理します:

自己監視型音声エンコーダである w2v-BERT 2.0 は、w2v-BERT のアップグレード バージョンです。これは、トレーニングの安定性と表現品質を向上させるように設計されています。数百万時間にわたる膨大な多言語音声データを分析することで、音声の構造と意味を学習して理解することもできます。このエンコーダはオーディオ信号を処理し、より小さなコンポーネントに分割し、話された内容の内部表現を構築します。話し言葉はさまざまな音や文字で構成されているため、実際の言葉と一致させるために、より正確なマッピングのために長さアダプターが使用されます。

2.エンコーダはテキストを処理します:

テキスト エンコーダーは NLLB (NLLB Team et al., 2022) モデルに基づいており、100 の言語を理解するようにトレーニングされており、翻訳に使用されます。

3.テキストの作成:

テキスト デコーダは、エンコードされた音声またはテキスト表現の処理に優れており、自動音声認識や多言語翻訳など、同じ言語内のタスクに多用途に使用できます。マルチタスク トレーニングを通じて、堅牢なテキストからテキストへの翻訳モデル (NLLB) を利用して音声からテキストへの翻訳モデルを効果的にガイドし、トークンレベルの知識の蒸留を採用してパフォーマンスを向上させます。

4.スピーチの作成:

UnitY モデルでは、音響単位の使用により音声が表現されます。 text-to-unit (T2U) コンポーネントは、テキスト出力からこれらの音声単位を作成します。 UnitY を微調整する前に、T2U は ASR データで事前トレーニングされます。最後に、多言語 HiFi-GAN ユニット ボコーダーがこれらのユニットをオーディオ波形に変換します。

5.データスケーリング:

SeamlessM4T モデルのトレーニングには大量のデータが必要で、できれば高品質のデータも必要でした。テキスト間マイニングにおけるこれまでの取り組みは、この研究では結合埋め込み空間における類似性測定によってさらに拡張され、音声マイニングにおける初期作業の拡張も組み込まれています。これらの貢献は、SeamlessM4T モデルをトレーニングするための追加リソースの作成に役立ちます。

SONAR (__S__entence-level m__O__dality- and la__N__guage-__A__gnostic __R__epresentations) は、多言語類似性検索における LASER3 や LaBSE などの既存の手法を超える、200 言語に対応する非常に効果的な多言語およびマルチモーダル テキスト埋め込みスペースであり、ここで確立されました。これらの SONAR 表現を操作するには、教師と生徒のアプローチを使用して音声モダリティを組み込みます。データ マイニング タスクには、Web リポジトリからの膨大な量のデータ (数百億の文) と音声 (400 万時間) が含まれていました。

6.達成された結果:

説明したデータ スケーリングにより、443,000 時間以上の音声とテキストの位置合わせ、および約 29,000 時間の音声間の位置合わせを含む重要なコーパスである SeamlessAlign が作成されます。 SeamlessAlign は、ボリュームと言語の範囲の両方の点で、これまでで音声/音声および音声/テキストのオープンな並列コーパスとしては最大です。

SeamlessM4T は、ASR、音声からテキストへの変換、音声から音声への変換、テキストから音声への変換、およびテキストからテキストへの翻訳のすべてを 1 つのモデルで行うことで最先端の結果を達成できることが証明されています。 BLASER 2.0 がメトリック評価に使用されるようになりました。

Meta は、SeamlessM4T が以前の SOTA 競合他社よりも優れていると主張しています。

SOTA モデルで測定された翻訳品質 (出典)

デモ

設定

それが完了したら、ノートブック SeamlessM4T.ipynb を開くように移動します。このノートブックには、モデルを実行して結果を取得するために必要なコードがすべて含まれています。

1.「pip install」を使用して「transformer」、「sentencepiece」をインストールします

!pip install git+https://github.com/huggingface/transformers.git sentencepiece

このコマンドは、指定された GitHub リポジトリから「transformers」パッケージをインストールし、「sentencepiece」パッケージもインストールします。 Hugging Face によって開発された「transformers」ライブラリは、自然言語処理タスクに一般的に使用され、「sentencepiece」はテキストをトークン化するためのライブラリです。

2. インストールが完了したら、次のセルに移動します。これにより、SeamlessM4T モデルを操作するために必要なライブラリがインポートされます。

#import the necessary libraries
from transformers import AutoProcessor, SeamlessM4Tv2Model
import torchaudio

3. 次に、Facebook の「SeamlessM4T」ファミリーの Hugging Face Transformers ライブラリとプロセッサを使用して、事前トレーニングされたモデルをロードします。

#load the pre-trained model and processor
processor = AutoProcessor.from_pretrained("facebook/seamless-m4t-v2-large")
model = SeamlessM4Tv2Model.from_pretrained("facebook/seamless-m4t-v2-large")

これら 2 行のコードは、事前トレーニングされた SeamlessM4T モデルとその関連プロセッサを読み込み、NLP タスクで使用できるようにします。プロセッサは入力テキストのトークン化と前処理を担当し、モデルは実際のタスクの実行を担当します。

4. 以下のコードは、以前にロードされた SeamlessM4T モデルとプロセッサを使用して、指定された入力テキストまたは音声から音声を生成するのに役立ちます。

# from text
text_inputs = processor(text = "Hello, my dog is cute", src_lang="eng", return_tensors="pt")
audio_array_from_text = model.generate(**text_inputs, tgt_lang="ben")[0].cpu().numpy().squeeze()
# from audio
audio, orig_freq =  torchaudio.load("https://www2.cs.uic.edu/~i101/SoundFiles/preamble10.wav")
audio =  torchaudio.functional.resample(audio, orig_freq=orig_freq, new_freq=16_000) # must be a 16 kHz waveform array
audio_inputs = processor(audios=audio, return_tensors="pt")
audio_array_from_audio = model.generate(**audio_inputs, tgt_lang="ben")[0].cpu().numpy().squeeze()

5. モデルによって生成されたオーディオを表示および再生する最後のステップ。以下のコード スニペットは、「Audio」クラスを利用して IPython 環境でオーディオを表示および再生するために使用されます。オーディオ データは NumPy 配列 (audio_array_from_text および audio_array_from_audio) の形式で提供され、適切な再生を保証するためにサンプリング レートが指定されます。

#import the Audio class from the IPython.display module.
from IPython.display import Audio

#retrieve the sampling rate of the audio generated by the SeamlessM4T model
sample_rate = model.config.sampling_rate

#create an Audio object using the generated audio array and specify sample rate
Audio(audio_array_from_text, rate=sample_rate)Audio(audio_array_from_audio, rate=sample_rate)

SeamlessM4T の違い

世界には膨大な数の言語が存在するため、ユニバーサル翻訳者を作成することは困難でした。さらに、音声からテキストへの翻訳、音声から音声への翻訳、テキストからテキストへの翻訳など、幅広い翻訳タスクでは、さまざまな AI モデルに依存する必要があります。

この種のタスクには通常、大量のトレーニング データが必要です。  SeamlessM4T は、すべてのモダリティにわたる統合多言語モデルとして機能し、上記の課題に対処します。このモデルはまた、オンデマンド翻訳をシームレスに可能にし、異なる言語の話者間のコミュニケーションを大幅に促進します。さらに言えば、このモデルは低リソース言語および中リソース言語の翻訳パフォーマンスも大幅に向上させました。

Fleurs では、SeamlessM4T は複数のターゲット言語への翻訳の基準を引き上げ、音声からテキストへの直接翻訳における従来の最先端技術を上回り、BLEU で 20% の大幅な改善を実現しました。堅牢なカスケード モデルと比較して、SeamlessM4T は英語への翻訳の品質を音声からテキストへの変換で 1.3 BLEU ポイント、音声から音声への変換で 2.6 ASR-BLEU ポイント向上させます。

このモデルは偏見や有害性にも敏感です。毒性に対処するために、Meta は多言語毒性分類器を拡張して音声を分析し、入力と出力の両方で有害な単語を識別してフィルタリングしました。入力または出力がさまざまなレベルの毒性を示したペアを削除することで、トレーニング データの不均衡な毒性を軽減するためのさらなる手順が講じられました。

言及する価値があります。モデルを可能な限り倫理的に健全なものにするために、Meta の AI 研究者は、やはり責任ある AI の 5 つの柱によって導かれた責任あるフレームワークに従いました。

最後に

テキストベースのモデルは機械翻訳用に 200 以上の言語をカバーするために大規模な開発を行ってきましたが、統合された音声対音声翻訳モデルは依然として遅れをとっています。従来の音声合成システムは、複数のサブシステムによるカスケード アプローチを使用します。このアプローチは、スケーラブルで高性能の統合音声翻訳システムの開発を妨げます。これらのギャップを埋めるために、SeamlessM4T が導入されました。これは、さまざまなモダリティにわたる翻訳をサポートする包括的なモデルとして機能します。この 1 つのモデルは、最大 100 言語の音声合成、音声からテキストへの変換、テキストから音声への変換、テキストからテキストへの変換、および自動音声認識タスクに対応します。

元の研究論文で述べられているように、ASR タスクのモデルにはまだ改善の余地があると言われています。さらに、スラングや固有名詞の翻訳におけるモデルの熟練度は、高リソース言語と低リソース言語の間で異なる可能性があります。

ここで注意しなければならないのは、音声の翻訳は瞬時に行われ、話者はライブの会話中に間違いを確認したり修正したりする時間があまりないため、さらなる課題があるということです。言葉を計画して修正する書き言葉とは異なり、話し言葉は簡単に編集できません。そのため、音声から音声への翻訳では、間違いをその場で修正する機会が少ないため、誤解や攻撃的な言葉のリスクが高まる可能性があります。

SeamlessM4T を使用して開発されたアプリケーションは、人間の翻訳者や新しい言語を学習する必要性に代わるツールではなく、アシスタントとして考慮される必要があります。

スピーチは単なる言葉ではなく、感情の表現です。

SeamlessM4T が産業用途や研究分野においても新たな可能性を開くことを強く期待しています。

読んでいただきありがとうございます!

参考文献

  • 元の研究論文 - SeamlessM4T—大規模多言語およびマルチモーダル機械翻訳
  • メタブログ
  • 音声翻訳の基本的なマルチモーダル モデルで世界を近づける