模型简介
模型特点
模型能力
使用案例
许可证: cc-by-nc-4.0
语言:
- 南非荷兰语
- 阿姆哈拉语
- 阿拉伯语
- 阿萨姆语
- 阿塞拜疆语
- 白俄罗斯语
- 孟加拉语
- 波斯尼亚语
- 保加利亚语
- 加泰罗尼亚语
- 捷克语
- 中文
- 威尔士语
- 丹麦语
- 德语
- 希腊语
- 英语
- 爱沙尼亚语
- 芬兰语
- 法语
- 奥里亚语
- 奥罗莫语
- 爱尔兰语
- 加利西亚语
- 古吉拉特语
- 豪萨语
- 希伯来语
- 印地语
- 克罗地亚语
- 匈牙利语
- 亚美尼亚语
- 伊博语
- 印尼语
- 冰岛语
- 意大利语
- 爪哇语
- 日语
- 卡纳达语
- 格鲁吉亚语
- 哈萨克语
- 蒙古语
- 高棉语
- 吉尔吉斯语
- 韩语
- 老挝语
- 林加拉语
- 立陶宛语
- 卢森堡语
- 卢干达语
- 拉脱维亚语
- 马拉雅拉姆语
- 马拉地语
- 马其顿语
- 马耳他语
- 毛利语
- 缅甸语
- 荷兰语
- 挪威书面语
- 尼泊尔语
- 齐切瓦语
- 奥克语
- 旁遮普语
- 普什图语
- 波斯语
- 波兰语
- 葡萄牙语
- 罗马尼亚语
- 俄语
- 斯洛伐克语
- 斯洛文尼亚语
- 修纳语
- 信德语
- 索马里语
- 西班牙语
- 塞尔维亚语
- 瑞典语
- 斯瓦希里语
- 泰米尔语
- 泰卢固语
- 塔吉克语
- 他加禄语
- 泰语
- 土耳其语
- 乌克兰语
- 乌尔都语
- 乌兹别克语
- 越南语
- 沃洛夫语
- 科萨语
- 约鲁巴语
- 马来语
- 祖鲁语
- 摩洛哥阿拉伯语
- 埃及阿拉伯语
- 粤语
- 佛得角克里奥尔语
指标:
- BLEU
- WER
- chrF
推理: False
标签:
- 自动语音识别
- 音频到音频
- 文本到语音
库名: seamless_communication
SeamlessM4T v2
SeamlessM4T 是我们基础的一体化大规模多语言多模态机器翻译模型,为近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-Large v2 | 2.3B | 检查点 | 指标 |
SeamlessM4T-Large (v1) | 2.3B | 检查点 | 指标 |
SeamlessM4T-Medium (v1) | 1.2B | 检查点 | 指标 |
我们在上述指标
文件中提供了论文中报告的SeamlessM4T-Large和SeamlessM4T-Medium的广泛评估结果(平均值)。
FLEURS、CoVoST2和CVSS-C的评估数据ID可在此处找到。
评估SeamlessM4T模型
要复现我们的结果或使用相同指标在您自己的测试集上进行评估,请查看评估README。
微调SeamlessM4T模型
请查看微调README。
Transformers使用
SeamlessM4T可在🤗 Transformers库中使用,依赖极少。入门步骤如下:
- 首先从主分支安装🤗 Transformers库和sentencepiece:
pip install git+https://github.com/huggingface/transformers.git sentencepiece
- 运行以下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")
# 从文本生成
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()
# 从音频生成
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) # 必须为16 kHz波形数组
audio_inputs = processor(audios=audio, return_tensors="pt")
audio_array_from_audio = model.generate(**audio_inputs, tgt_lang="rus")[0].cpu().numpy().squeeze()
- 在ipynb笔记本中收听音频样本:
from IPython.display import Audio
sample_rate = model.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.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)支持的语言。
源
列指定语言是否支持作为源语音(Sp
)和/或源文本(Tx
)。
目标
列指定语言是否支持作为目标语音(Sp
)和/或目标文本(Tx
)。
代码 | 语言 | 文字 | 源 | 目标 |
---|---|---|---|---|
afr | 南非荷兰语 | 拉丁 | Sp, Tx | Tx |
amh | 阿姆哈拉语 | 埃塞俄比亚 | Sp, Tx | Tx |
arb | 现代标准阿拉伯语 | 阿拉伯 | Sp, Tx | Sp, Tx |
ary | 摩洛哥阿拉伯语 | 阿拉伯 | Sp, Tx | Tx |
arz | 埃及阿拉伯语 | 阿拉伯 | Sp, Tx | Tx |
asm | 阿萨姆语 | 孟加拉 | Sp, Tx | Tx |
ast | 阿斯图里亚斯语 | 拉丁 | Sp | -- |
azj | 北阿塞拜疆语 | 拉丁 | Sp, Tx | Tx |
bel | 白俄罗斯语 | 西里尔 | Sp, Tx | Tx |
ben | 孟加拉语 | 孟加拉 | Sp, Tx | Sp, Tx |
bos | 波斯尼亚语 | 拉丁 | Sp, Tx | Tx |
bul | 保加利亚语 | 西里尔 | Sp, Tx | Tx |
cat | 加泰罗尼亚语 | 拉丁 | Sp, Tx | Sp, Tx |
ceb | 宿务语 | 拉丁 | Sp, Tx | Tx |
ces | 捷克语 | 拉丁 | Sp, Tx | Sp, Tx |
ckb | 中库尔德语 | 阿拉伯 | Sp, Tx | Tx |
cmn | 普通话(简体) | 简体中文 | Sp, Tx | Sp, Tx |
cmn_Hant | 普通话(繁体) | 繁体中文 | Sp, Tx | Sp, Tx |
cym | 威尔士语 | 拉丁 | Sp, Tx | Sp, Tx |
dan | 丹麦语 | 拉丁 | Sp, Tx | Sp, Tx |
deu | 德语 | 拉丁 | Sp, Tx | Sp, Tx |
ell | 希腊语 | 希腊 | Sp, Tx | Tx |
eng | 英语 | 拉丁 | Sp, Tx | Sp, Tx |
est | 爱沙尼亚语 | 拉丁 | Sp, Tx | Sp, Tx |
eus | 巴斯克语 | 拉丁 | Sp, Tx | Tx |
fin | 芬兰语 | 拉丁 | Sp, Tx | Sp, Tx |
fra | 法语 | 拉丁 | Sp, Tx | Sp, Tx |
fuv | 尼日利亚富拉尼语 | 拉丁 | Sp, Tx | Tx |
gaz | 西中奥罗莫语 | 拉丁 | Sp, Tx | Tx |
gle | 爱尔兰语 | 拉丁 | Sp, Tx | Tx |
glg | 加利西亚语 | 拉丁 | Sp, Tx | Tx |
guj | 古吉拉特语 | 古吉拉特 | Sp, Tx | Tx |
heb | 希伯来语 | 希伯来 | Sp, Tx | Tx |
hin | 印地语 | 天城文 | Sp, Tx | Sp, Tx |
hrv | 克罗地亚语 | 拉丁 | Sp, Tx | Tx |
hun | 匈牙利语 | 拉丁 | Sp, Tx | Tx |
hye | 亚美尼亚语 | 亚美尼亚 | Sp, Tx | Tx |
ibo | 伊博语 | 拉丁 | Sp, Tx | Tx |
ind | 印尼语 | 拉丁 | Sp, Tx | Sp, Tx |
isl | 冰岛语 | 拉丁 | Sp, Tx | Tx |
ita | 意大利语 | 拉丁 | Sp, Tx | Sp, Tx |
jav | 爪哇语 | 拉丁 | Sp, Tx | Tx |
jpn | 日语 | 日本 | Sp, Tx | Sp, Tx |
kam | 坎巴语 | 拉丁 | Sp | -- |
kan | 卡纳达语 | 卡纳达 | Sp, Tx | Tx |
kat | 格鲁吉亚语 | 格鲁吉亚 | Sp, Tx | Tx |
kaz | 哈萨克语 | 西里尔 | Sp, Tx | Tx |
kea | 佛得角克里奥尔语 | 拉丁 | Sp | -- |
khk | 喀尔喀蒙古语 | 西里尔 | Sp, Tx | Tx |
khm | 高棉语 | 高棉 | Sp, Tx | Tx |
kir | 吉尔吉斯语 | 西里尔 | Sp, Tx | Tx |
kor | 韩语 | 韩文 | Sp, Tx | Sp, Tx |
lao | 老挝语 | 老挝 | Sp, Tx | Tx |
lit | 立陶宛语 | 拉丁 | Sp, Tx | Tx |
ltz | 卢森堡语 | 拉丁 | Sp | -- |
lug | 干达语 | 拉丁 | Sp, Tx | Tx |
luo | 卢奥语 | 拉丁 | Sp, Tx | Tx |
lvs | 标准拉脱维亚语 | 拉丁 | Sp, Tx | Tx |
mai | 迈蒂利语 | 天城文 | Sp, Tx | Tx |
mal | 马拉雅拉姆语 | 马拉雅拉姆 | Sp, Tx | Tx |
mar | 马拉地语 | 天城文 | Sp, Tx | Tx |
mkd | 马其顿语 | 西里尔 | Sp, Tx | Tx |
mlt | 马耳他语 | 拉丁 | Sp, Tx | Sp, Tx |
mni | 梅泰语 | 孟加拉 | Sp, Tx | Tx |
mya | 缅甸语 | 缅甸 | Sp, Tx | Tx |
nld | 荷兰语 | 拉丁 | Sp, Tx | Sp, Tx |
nno | 新挪威语 | 拉丁 | Sp, Tx | Tx |
nob | 书面挪威语 | 拉丁 | Sp, Tx | Tx |
npi | 尼泊尔语 | 天城文 | Sp, Tx | Tx |
nya | 齐切瓦语 | 拉丁 | Sp, Tx | Tx |
oci | 奥克语 | 拉丁 | Sp | -- |
ory | 奥里亚语 | 奥里亚 | Sp, Tx | Tx |
pan | 旁遮普语 | 古鲁穆奇 | Sp, Tx | Tx |
pbt | 南普什图语 | 阿拉伯 | Sp, Tx | Tx |
pes | 西波斯语 | 阿拉伯 | Sp, Tx | Sp, Tx |
pol | 波兰语 | 拉丁 | Sp, Tx | Sp, Tx |
por | 葡萄牙语 | 拉丁 | Sp, Tx | Sp, Tx |
ron | 罗马尼亚语 | 拉丁 | Sp, Tx | Sp, Tx |
rus | 俄语 | 西里尔 | Sp, Tx | Sp, Tx |
slk | 斯洛伐克语 | 拉丁 | Sp, Tx | Sp, Tx |
slv | 斯洛文尼亚语 | 拉丁 | Sp, Tx | Tx |
sna | 修纳语 | 拉丁 | Sp, Tx | Tx |
snd | 信德语 | 阿拉伯 | Sp, Tx | Tx |
som | 索马里语 | 拉丁 | Sp, Tx | Tx |
spa | 西班牙语 | 拉丁 | Sp, Tx | Sp, Tx |
srp | 塞尔维亚语 | 西里尔 | Sp, Tx | Tx |
swe | 瑞典语 | 拉丁 | Sp, Tx | Sp, Tx |
swh | 斯瓦希里语 | 拉丁 | Sp, Tx | Sp, Tx |
tam | 泰米尔语 | 泰米尔 | Sp, Tx | Tx |
tel | 泰卢固语 | 泰卢固 | Sp, Tx | Sp, Tx |
tgk | 塔吉克语 | 西里尔 | Sp, Tx | Tx |
tgl | 他加禄语 | 拉丁 | Sp, Tx | Sp, Tx |
tha | 泰语 | 泰文 | Sp, Tx | Sp, Tx |
tur | 土耳其语 | 拉丁 | Sp, Tx | Sp, Tx |
ukr | 乌克兰语 | 西里尔 | Sp, Tx | Sp, Tx |
urd | 乌尔都语 | 阿拉伯 | Sp, Tx | Sp, Tx |
uzn | 北乌兹别克语 | 拉丁 | Sp, Tx | Sp, Tx |
vie | 越南语 | 拉丁 | Sp, Tx | Sp, Tx |
xho | 科萨语 | 拉丁 | Sp | -- |
yor | 约鲁巴语 | 拉丁 | Sp, Tx | Tx |
yue | 粤语 | 繁体中文 | Sp, Tx | Tx |
zlm | 口语马来语 | 拉丁 | Sp | -- |
zsm | 标准马来语 | 拉丁 | Tx | Tx |
zul | 祖鲁语 | 拉丁 | 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}
}











