HuggingFace镜像/seamless-m4t-v2-large
模型介绍文件和版本分析
下载使用量0

SeamlessM4T v2

SeamlessM4T 是我们基础的全能型 M 大规模 M 多语言和 M 多模态 M 机器 T 翻译模型,能够在近 100 种语言中提供高质量的语音和文本翻译。

SeamlessM4T 模型支持以下任务:

  • 语音到语音翻译(S2ST)
  • 语音到文本翻译(S2TT)
  • 文本到语音翻译(T2ST)
  • 文本到文本翻译(T2TT)
  • 自动语音识别(ASR)。

SeamlessM4T 模型支持:

  • 🎤 101 种语言的语音输入。
  • 💬 96 种语言的文本输入/输出。
  • 🔊 35 种语言的语音输出。

🌟 我们发布了 SeamlessM4T v2,这是我们新版 UnitY2 架构的更新版本。该新模型在语音生成任务的质量和推理速度方面均优于 SeamlessM4T v1。

SeamlessM4T v2 版本是我们新版 UnitY2 架构的多任务适应版本。UnitY2 通过其分层字符到单元的上采样和非自回归文本到单元的解码,在质量和推理速度方面显著优于 SeamlessM4T v1。

SeamlessM4T v2 也得到了 🤗 Transformers 的支持,更多信息请参见下文。

SeamlessM4T 架构

SeamlessM4T 模型

模型名称参数数量检查点指标
SeamlessM4T-Large v22.3B检查点指标
SeamlessM4T-Large (v1)2.3B检查点指标
SeamlessM4T-Medium (v1)1.2B检查点指标

我们在上述 metrics 文件中提供了 seamlessM4T-Large 和 SeamlessM4T-Medium 在论文中报告的广泛评估结果(平均值)。

FLEURS、CoVoST2 和 CVSS-C 的评估数据 ID 可以在这里找到。

评估 SeamlessM4T 模型

要重现我们的结果或使用相同的指标评估您自己的测试集,请查看这里的评估 README。

微调 SeamlessM4T 模型

请查看这里的微调 README。

Transformers 使用

SeamlessM4T 在 🤗 Transformers 库中可用,仅需最少的依赖。开始步骤如下:

  1. 首先从 main 安装 🤗 Transformers 库 和 sentencepiece:
pip install git+https://github.com/huggingface/transformers.git sentencepiece
  1. 运行以下 Python 代码以生成语音样本。此处目标语言为俄语:
from transformers import AutoProcessor, SeamlessM4Tv2Model
import torchaudio

processor = AutoProcessor.from_pretrained("facebook/seamless-m4t-v2-large")
model = SeamlessM4Tv2Model.from_pretrained("facebook/seamless-m4t-v2-large")

# 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="rus")[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="rus")[0].cpu().numpy().squeeze()
  1. 在 ipynb 笔记本中收听音频样本:
from IPython.display import Audio

sample_rate = model.config.sampling_rate
Audio(audio_array_from_text, rate=sample_rate)
# Audio(audio_array_from_audio, rate=sample_rate)

或者使用第三方库(例如 scipy)将它们保存为 .wav 文件:

import scipy

sample_rate = model.config.sampling_rate
scipy.io.wavfile.write("out_from_text.wav", rate=sample_rate, data=audio_array_from_text)
# scipy.io.wavfile.write("out_from_audio.wav", rate=sample_rate, data=audio_array_from_audio)

要详细了解如何使用SeamlessM4T模型通过🤗Transformers库进行推理,请参考** SeamlessM4T v2文档** 或实践此** Google Colab教程。**

支持的语言:

以下是SeamlessM4T-large(v1/v2)支持的语言列表。"源"列表明语言是否作为源语音(Sp)和/或源文本(Tx)被支持;"目标"列显示语言是否作为目标语音(Sp)和/或目标文本(Tx)被支持。

编码语言字符集源目标
afr南非荷兰语拉丁文Sp, TxTx
amh阿姆哈拉语埃塞俄比亚文Sp, TxTx
arb现代标准阿拉伯语阿拉伯文Sp, TxSp, Tx
ary摩洛哥阿拉伯语阿拉伯文Sp, TxTx
arz埃及阿拉伯语阿拉伯文Sp, TxTx
asm阿萨姆语孟加拉文Sp, TxTx
ast阿斯图里亚斯语拉丁文Sp-
azj北阿塞拜疆语拉丁文Sp, TxTx
...............
vie越南语拉丁文Sp, TxSp, Tx
xho科萨语拉丁文Sp-
yor约鲁巴语拉丁文Sp, TxTx
yue广东话(粤语)繁体字Sp, TxTx
zlm非正式马来语拉丁文Sp-
zsm标准马来语拉丁文TxTx
zul祖鲁语拉丁文Sp, TxTx

请注意,seamlessM4T中型版本在文本模式下支持200种语言,基于NLLB-200模型(查看完整的语言列表,请参见资产卡片)。

引用

对于 SeamlessM4T v2,请引用:

@inproceedings{seamless2023,
   title="Seamless: Multilingual Expressive and Streaming Speech Translation",
   author="{Seamless Communication}, Lo{\"i}c Barrault, Yu-An Chung, Mariano Coria Meglioli, David Dale, Ning Dong, Mark Duppenthaler, Paul-Ambroise Duquenne, Brian Ellis, Hady Elsahar, Justin Haaheim, John Hoffman, Min-Jae Hwang, Hirofumi Inaguma, Christopher Klaiber, Ilia Kulikov, Pengwei Li, Daniel Licht, Jean Maillard, Ruslan Mavlyutov, Alice Rakotoarison, Kaushik Ram Sadagopan, Abinesh Ramakrishnan, Tuan Tran, Guillaume Wenzek, Yilin Yang, Ethan Ye, Ivan Evtimov, Pierre Fernandez, Cynthia Gao, Prangthip Hansanti, Elahe Kalbassi, Amanda Kallet, Artyom Kozhevnikov, Gabriel Mejia, Robin San Roman, Christophe Touret, Corinne Wong, Carleigh Wood, Bokai Yu, Pierre Andrews, Can Balioglu, Peng-Jen Chen, Marta R. Costa-juss{\`a}, Maha Elbayad, Hongyu Gong, Francisco Guzm{\'a}n, Kevin Heffernan, Somya Jain, Justine Kao, Ann Lee, Xutai Ma, Alex Mourachko, Benjamin Peloquin, Juan Pino, Sravya Popuri, Christophe Ropers, Safiyyah Saleem, Holger Schwenk, Anna Sun, Paden Tomasello, Changhan Wang, Jeff Wang, Skyler Wang, Mary Williamson",
  journal={ArXiv},
  year={2023}
}