ウェブサイト検索

SeamlessM4T: 多言語および多モーダルの世界における翻訳の革命


紹介

ますます相互に接続された世界において、インターネット、モバイルデバイス、ソーシャルメディア、コミュニケーションプラットフォームの広範な存在は、人々に前例のない多言語コンテンツへのアクセスを提供しています。この文脈において、オンデマンドで任意の言語で情報を伝達し理解する能力はますます重要になっています。この能力は常にサイエンスフィクションの夢でありましたが、人工知能はこのビジョンを技術的現実に変える道を歩んでいます。

この記事では、言語とテキストの間でシームレスな翻訳とトランスクリプションを実現する画期的な多言語・多タスクモデルSeamlessM4Tを紹介します。このモデルは、自動音声認識、音声からテキストへの翻訳、音声から音声への翻訳、テキストからテキストへの翻訳、テキストから音声への翻訳をほぼ100言語でサポートし、出力に関しては英語を含む追加の35言語に対応しています。

SeamlessM4Tは、限られた言語カバレッジや異なるシステムへの依存という制約を克服することによって、音声から音声、音声からテキストへの技術分野での大きな進展を示しています。

前提条件

  • 基本的な言語知識: 構文、意味論、翻訳のニュアンスの理解。
  • AI/MLの基本: 機械学習の概念、特に深層学習に対する理解。
  • 自然言語処理(NLP)とマルチモーダルAI: 自然言語処理(NLP)およびマルチモーダルデータ(テキスト、画像、音声)の取り扱いに関する知識。
  • ツールとフレームワーク: PyTorch、TensorFlow、Hugging Faceのようなフレームワークに関する経験。
  • データ処理: 大規模な多言語データセットの管理と前処理のスキル。
  • GPU使用状況: 大規模言語モデルのトレーニングにGPUを活用することへの認識。

Seamless M4Tによって使用されるアプローチ

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

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

アーキテクチャソース

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

自己教師あり音声エンコーダーであるw2v-BERT 2.0は、w2v-BERTの改良版です。これは、トレーニングの安定性と表現の質を向上させるように設計されています。膨大な量の多言語音声データを数百万時間にわたって分析することで、音声の構造と意味を学習し理解することも可能です。このエンコーダーは音声信号を処理し、それを小さいコンポーネントに分解し、話された内容の内部表現を構築します。話された言葉はさまざまな音や文字から成り立っているため、実際の単語に合わせるために、より正確なマッピングを行うための長さアダプターが使用されます。

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

NLLB(NLLBチーム他、2022年)モデルに基づくテキストエンコーダーで、100の言語を理解するように訓練され、その後翻訳に使用されます。

3. テキストの生成:

テキストデコーダーは、エンコードされたスピーチやテキストの表現を扱うのに優れており、同一言語内での自動音声認識や多言語翻訳を含むタスクに対して汎用性があります。マルチタスクトレーニングを通じて、音声からテキストへの翻訳モデルを効果的に指導するために、強力なテキストからテキストへの翻訳モデル(NLLB)が利用されており、パフォーマンス向上のためにトークンレベルの知識蒸留を採用しています。

4. スピーチを生成すること:

UnitYモデルでは、音響単位を使用してスピーチを表現します。テキストから単位へのコンポーネント(T2U)は、テキスト出力からこれらのスピーチ単位を生成します。UnitYをファインチューニングする前に、T2UはASRデータで事前学習されます。最後に、多言語のHiFi-GANユニットボコーダーがこれらの単位を音声波形に変換します。

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

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

SONAR(文レベルのモダリティと言語非依存の表現)は、200の言語のための非常に効果的な多言語・多モーダルなテキスト埋め込み空間であり、LASER3やLaBSEなどの既存の方法を凌駕する多言語類似性検索がここで確立されました。これらのSONAR表現を使用するためには、音声モダリティを含めるために教員・生徒アプローチが使用されています。データマイニングタスクには、ウェブリポジトリからの膨大なデータ(数百億の文)や音声(400万時間)が関与しています。

6. 達成した結果:

議論されたデータスケーリングの結果、SeamlessAlignが生まれました。これは、テキストと合わせた音声が44万3,000時間以上、音声から音声へのアラインメントが約29,000時間の大規模なコーパスです。SeamlessAlignは、ボリュームと言語のカバレッジの両面で、これまでのところ、音声/音声および音声/テキストのための最大のオープンパラレルコーパスとして位置付けられています。

SeamlessM4Tは、ASR、音声認識、音声からテキスト、音声から音声、テキストから音声、テキストからテキストの翻訳のすべてで最先端の成果を達成することが証明されています—すべてが1つのモデルで行われます。BLASER 2.0は現在、評価指標の評価に使用されています。

メタはSeamlessM4Tが以前の最先端競合を上回ると主張しています。

最先端モデル(ソース)を用いて測定された翻訳品質

デモ

セットアップ

それが終わったら、seamlessM4T.ipynbというノートブックを開くナビゲートします。このノートブックには、モデルを実行して結果を得るために必要なすべてのコードが含まれています。

1.’transformer’および’sentencepiece’を’pip install’を使用してインストールします。

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

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

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

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

次に、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. モデルによって生成されたオーディオを表示し再生するための最終ステップ。以下のコードスニペットは、IPython環境で音声を表示および再生するために「Audio」クラスを利用する方法を示しています。オーディオデータは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が複数のターゲット言語への翻訳の質を向上させ、従来の音声からテキストへの直接翻訳の最新技術を20%のBLEU改善で上回っています。堅牢なカスケードモデルと比較して、SeamlessM4Tは音声から英語への翻訳の質を1.3BLEUポイント、音声から音声への翻訳では2.6 ASR-BLEUポイント向上させています。

このモデルはバイアスや有害性にも敏感です。有害性に対処するために、Metaは多言語有害性分類器を拡張し、スピーチを分析して、入力と出力の両方で有害な単語を特定しフィルタリングしました。また、入力または出力のどちらかが異なるレベルの有害性を示すペアを削除することで、トレーニングデータの不均衡な有害性を軽減するためのさらなる手段が講じられました。

言及する価値があります:モデルをできるだけ倫理的に健全にするために、MetaのAI研究者たちは、再び責任あるAIの五つの柱に導かれた責任あるフレームワークに従いました。

締めくくりの考え

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

元の研究論文に記載されているように、ASRタスクのモデルをさらに改善する余地が残っていると言われています。加えて、スラングや固有名詞の翻訳におけるモデルの能力は、高資源言語と低資源言語の間で異なる可能性があります。

ここで注意すべき重要な点は、スピーチの翻訳には即座に行われるため追加の挑戦があることです。話者は生の会話中に間違いを確認したり修正したりする時間があまりありません。書き言葉とは違い、言葉が計画されて修正されることがある一方で、話し言葉は簡単に編集することができません。そのため、音声から音声への翻訳は、誤解や攻撃的な言葉のリスクが高くなる可能性があります。なぜなら、その場でエラーを修正する機会が少ないからです。

SeamlessM4Tを使用して開発されたアプリケーションは、人間の翻訳者や新しい言語を学ぶ必要性を置き換えるツールではなく、アシスタントとして考慮されるべきです。

スピーチは単なる言葉のいくつかではなく、感情の表現です!

私たちはSeamlessM4Tが産業応用や研究分野に新しい可能性を開くことを強く望んでいます。

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

参考文献

  • オリジナル研究論文 - SeamlessM4T - 大規模な多言語・マルチモーダル機械翻訳
  • メタブログ
  • スピーチ翻訳のための基盤となるマルチモーダルモデルで世界をより近づける

関連記事: