SeamlessM4T 是我们推出的一体化基础型 Massively Multilingual and Multimodal Machine Translation(大规模多语言多模态机器翻译)模型,可提供近 100 种语言的高质量语音和文本翻译服务。
SeamlessM4T 模型支持以下任务:
SeamlessM4T 模型支持:
🌟 我们正式发布 SeamlessM4T v2,这是采用全新 UnitY2 架构的更新版本。此新模型在质量以及语音生成任务的推理速度方面均优于 SeamlessM4T v1。
SeamlessM4T v2 版本是我们基于全新 UnitY2 架构进行的多任务适配。UnitY2 凭借其分层字符到单元的上采样以及非自回归文本到单元解码技术,在质量和推理速度上较 SeamlessM4T v1 有显著提升。
SeamlessM4T v2 同样支持 🤗 Transformers,更多详情请参见下方的专用章节。
| 模型名称 | 参数数量 | 检查点 | 指标 |
|---|---|---|---|
| SeamlessM4T-Large v2 | 2.3B | checkpoint | metrics |
| SeamlessM4T-Large (v1) | 2.3B | checkpoint | metrics |
| SeamlessM4T-Medium (v1) | 1.2B | checkpoint | metrics |
我们在上述 metrics 文件中提供了论文中报告的 SeamlessM4T-Large 和 SeamlessM4T-Medium 的广泛评估结果(以平均值形式呈现)。
FLEURS、CoVoST2 和 CVSS-C 的评估数据 ID 可在此处获取。
若要复现我们的结果,或使用相同指标在您自己的测试集上进行评估,请查看此处的评估 README。
请查看此处的微调 README。
SeamlessM4T 已在 🤗 Transformers 库中可用,所需依赖极少。入门步骤如下:
pip install git+https://github.com/huggingface/transformers.git sentencepiecefrom 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()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)如需了解更多关于使用 🤗 Transformers 库进行 SeamlessM4T 模型推理的详细信息,请参考**SeamlessM4T v2 文档** 或这份实用的 Google Colab。
以下列出了 SeamlessM4T-large(v1/v2)支持的语言。
source 列指定一种语言是否支持作为源语音(Sp)和/或源文本(Tx)。
target 列指定一种语言是否支持作为目标语音(Sp)和/或目标文本(Tx)。
| code | language | script | Source | Target |
|---|---|---|---|---|
| afr | 南非荷兰语 | Latn | Sp, Tx | Tx |
| amh | 阿姆哈拉语 | Ethi | Sp, Tx | Tx |
| arb | 现代标准阿拉伯语 | Arab | Sp, Tx | Sp, Tx |
| ary | 摩洛哥阿拉伯语 | Arab | Sp, Tx | Tx |
| arz | 埃及阿拉伯语 | Arab | Sp, Tx | Tx |
| asm | 阿萨姆语 | Beng | Sp, Tx | Tx |
| ast | 阿斯图里亚斯语 | Latn | Sp | -- |
| azj | 北阿塞拜疆语 | Latn | Sp, Tx | Tx |
| bel | 白俄罗斯语 | Cyrl | Sp, Tx | Tx |
| ben | 孟加拉语 | Beng | Sp, Tx | Sp, Tx |
| bos | 波斯尼亚语 | Latn | Sp, Tx | Tx |
| bul | 保加利亚语 | Cyrl | Sp, Tx | Tx |
| cat | 加泰罗尼亚语 | Latn | Sp, Tx | Sp, Tx |
| ceb | 宿务语 | Latn | Sp, Tx | Tx |
| ces | 捷克语 | Latn | Sp, Tx | Sp, Tx |
| ckb | 中库尔德语 | Arab | Sp, Tx | Tx |
| cmn | 普通话 | Hans | Sp, Tx | Sp, Tx |
| cmn_Hant | 普通话 | Hant | Sp, Tx | Sp, Tx |
| cym | 威尔士语 | Latn | Sp, Tx | Sp, Tx |
| dan | 丹麦语 | Latn | Sp, Tx | Sp, Tx |
| deu | 德语 | Latn | Sp, Tx | Sp, Tx |
| ell | 希腊语 | Grek | Sp, Tx | Tx |
| eng | 英语 | Latn | Sp, Tx | Sp, Tx |
| est | 爱沙尼亚语 | Latn | Sp, Tx | Sp, Tx |
| eus | 巴斯克语 | Latn | Sp, Tx | Tx |
| fin | 芬兰语 | Latn | Sp, Tx | Sp, Tx |
| fra | 法语 | Latn | Sp, Tx | Sp, Tx |
| fuv | 尼日利亚富拉语 | Latn | Sp, Tx | Tx |
| gaz | 西中奥罗莫语 | Latn | Sp, Tx | Tx |
| gle | 爱尔兰语 | Latn | Sp, Tx | Tx |
| glg | 加利西亚语 | Latn | Sp, Tx | Tx |
| guj | 古吉拉特语 | Gujr | Sp, Tx | Tx |
| heb | 希伯来语 | Hebr | Sp, Tx | Tx |
| hin | 印地语 | Deva | Sp, Tx | Sp, Tx |
| hrv | 克罗地亚语 | Latn | Sp, Tx | Tx |
| hun | 匈牙利语 | Latn | Sp, Tx | Tx |
| hye | 亚美尼亚语 | Armn | Sp, Tx | Tx |
| ibo | 伊博语 | Latn | Sp, Tx | Tx |
| ind | 印度尼西亚语 | Latn | Sp, Tx | Sp, Tx |
| isl | 冰岛语 | Latn | Sp, Tx | Tx |
| ita | 意大利语 | Latn | Sp, Tx | Sp, Tx |
| jav | 爪哇语 | Latn | Sp, Tx | Tx |
| jpn | 日语 | Jpan | Sp, Tx | Sp, Tx |
| kam | 坎巴语 | Latn | Sp | -- |
| kan | 卡纳达语 | Knda | Sp, Tx | Tx |
| kat | 格鲁吉亚语 | Geor | Sp, Tx | Tx |
| kaz | 哈萨克语 | Cyrl | Sp, Tx | Tx |
| kea | 卡布韦迪语 | Latn | Sp | -- |
| khk | 哈拉哈蒙古语 | Cyrl | Sp, Tx | Tx |
| khm | 高棉语 | Khmr | Sp, Tx | Tx |
| kir | 吉尔吉斯语 | Cyrl | Sp, Tx | Tx |
| kor | 韩语 | Kore | Sp, Tx | Sp, Tx |
| lao | 老挝语 | Laoo | Sp, Tx | Tx |
| lit | 立陶宛语 | Latn | Sp, Tx | Tx |
| ltz | 卢森堡语 | Latn | Sp | -- |
| lug | 干达语 | Latn | Sp, Tx | Tx |
| luo | 卢奥语 | Latn | Sp, Tx | Tx |
| lvs | 标准拉脱维亚语 | Latn | Sp, Tx | Tx |
| mai | 迈蒂利语 | Deva | Sp, Tx | Tx |
| mal | 马拉雅拉姆语 | Mlym | Sp, Tx | Tx |
| mar | 马拉地语 | Deva | Sp, Tx | Tx |
| mkd | 马其顿语 | Cyrl | Sp, Tx | Tx |
| mlt | 马耳他语 | Latn | Sp, Tx | Sp, Tx |
| mni | 梅泰语(曼尼普尔语) | Beng | Sp, Tx | Tx |
| mya | 缅甸语 | Mymr | Sp, Tx | Tx |
| nld | 荷兰语 | Latn | Sp, Tx | Sp, Tx |
| nno | 挪威尼诺斯克语 | Latn | Sp, Tx | Tx |
| nob | 挪威博克马尔语 | Latn | Sp, Tx | Tx |
| npi | 尼泊尔语 | Deva | Sp, Tx | Tx |
| nya | 尼扬贾语(齐切瓦语) | Latn | Sp, Tx | Tx |
| oci | 奥克西坦语 | Latn | Sp | -- |
| ory | 奥里亚语 | Orya | Sp, Tx | Tx |
| pan | 旁遮普语 | Guru | Sp, Tx | Tx |
| pbt | 南普什图语 | Arab | Sp, Tx | Tx |
| pes | 西波斯语(波斯语) | Arab | Sp, Tx | Sp, Tx |
| pol | 波兰语 | Latn | Sp, Tx | Sp, Tx |
| por | 葡萄牙语 | Latn | Sp, Tx | Sp, Tx |
| ron | 罗马尼亚语 | Latn | Sp, Tx | Sp, Tx |
| rus | 俄语 | Cyrl | Sp, Tx | Sp, Tx |
| slk | 斯洛伐克语 | Latn | Sp, Tx | Sp, Tx |
| slv | 斯洛文尼亚语 | Latn | Sp, Tx | Tx |
| sna | 绍纳语 | Latn | Sp, Tx | Tx |
| snd | 信德语 | Arab | Sp, Tx | Tx |
| som | 索马里语 | Latn | Sp, Tx | Tx |
| spa | 西班牙语 | Latn | Sp, Tx | Sp, Tx |
| srp | 塞尔维亚语 | Cyrl | Sp, Tx | Tx |
| swe | 瑞典语 | Latn | Sp, Tx | Sp, Tx |
| swh | 斯瓦希里语 | Latn | Sp, Tx | Sp, Tx |
| tam | 泰米尔语 | Taml | Sp, Tx | Tx |
| tel | 泰卢固语 | Telu | Sp, Tx | Sp, Tx |
| tgk | 塔吉克语 | Cyrl | Sp, Tx | Tx |
| tgl | 他加禄语 | Latn | Sp, Tx | Sp, Tx |
| tha | 泰语 | Thai | Sp, Tx | Sp, Tx |
| tur | 土耳其语 | Latn | Sp, Tx | Sp, Tx |
| ukr | 乌克兰语 | Cyrl | Sp, Tx | Sp, Tx |
| urd | 乌尔都语 | Arab | Sp, Tx | Sp, Tx |
| uzn | 北乌兹别克语 | Latn | Sp, Tx | Sp, Tx |
| vie | 越南语 | Latn | Sp, Tx | Sp, Tx |
| xho | 科萨语 | Latn | Sp | -- |
| yor | 约鲁巴语 | Latn | Sp, Tx | Tx |
| yue | 粤语 | Hant | Sp, Tx | Tx |
| zlm | colloquial Malay | Latn | Sp | -- |
| zsm | Standard Malay | Latn | Tx | Tx |
| zul | 祖鲁语 | Latn | Sp, Tx | Tx |
请注意,seamlessM4T-medium 在文本模态下支持 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}
}