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

SeamlessM4T v2

SeamlessM4T 是我们推出的一体化基础型 Massively Multilingual and Multimodal Machine Translation(大规模多语言多模态机器翻译)模型,可提供近 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.3Bcheckpointmetrics
SeamlessM4T-Large (v1)2.3Bcheckpointmetrics
SeamlessM4T-Medium (v1)1.2Bcheckpointmetrics

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

FLEURS、CoVoST2 和 CVSS-C 的评估数据 ID 可在此处获取。

评估 SeamlessM4T 模型

若要复现我们的结果,或使用相同指标在您自己的测试集上进行评估,请查看此处的评估 README。

微调 SeamlessM4T 模型

请查看此处的微调 README。

Transformers 使用方法

SeamlessM4T 已在 🤗 Transformers 库中可用,所需依赖极少。入门步骤如下:

  1. 首先从主分支安装 🤗 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)

如需了解更多关于使用 🤗 Transformers 库进行 SeamlessM4T 模型推理的详细信息,请参考**SeamlessM4T v2 文档** 或这份实用的 Google Colab。

支持的语言:

以下列出了 SeamlessM4T-large(v1/v2)支持的语言。 source 列指定一种语言是否支持作为源语音(Sp)和/或源文本(Tx)。 target 列指定一种语言是否支持作为目标语音(Sp)和/或目标文本(Tx)。

codelanguagescriptSourceTarget
afr南非荷兰语LatnSp, TxTx
amh阿姆哈拉语EthiSp, TxTx
arb现代标准阿拉伯语ArabSp, TxSp, Tx
ary摩洛哥阿拉伯语ArabSp, TxTx
arz埃及阿拉伯语ArabSp, TxTx
asm阿萨姆语BengSp, TxTx
ast阿斯图里亚斯语LatnSp--
azj北阿塞拜疆语LatnSp, TxTx
bel白俄罗斯语CyrlSp, TxTx
ben孟加拉语BengSp, TxSp, Tx
bos波斯尼亚语LatnSp, TxTx
bul保加利亚语CyrlSp, TxTx
cat加泰罗尼亚语LatnSp, TxSp, Tx
ceb宿务语LatnSp, TxTx
ces捷克语LatnSp, TxSp, Tx
ckb中库尔德语ArabSp, TxTx
cmn普通话HansSp, TxSp, Tx
cmn_Hant普通话HantSp, TxSp, Tx
cym威尔士语LatnSp, TxSp, Tx
dan丹麦语LatnSp, TxSp, Tx
deu德语LatnSp, TxSp, Tx
ell希腊语GrekSp, TxTx
eng英语LatnSp, TxSp, Tx
est爱沙尼亚语LatnSp, TxSp, Tx
eus巴斯克语LatnSp, TxTx
fin芬兰语LatnSp, TxSp, Tx
fra法语LatnSp, TxSp, Tx
fuv尼日利亚富拉语LatnSp, TxTx
gaz西中奥罗莫语LatnSp, TxTx
gle爱尔兰语LatnSp, TxTx
glg加利西亚语LatnSp, TxTx
guj古吉拉特语GujrSp, TxTx
heb希伯来语HebrSp, TxTx
hin印地语DevaSp, TxSp, Tx
hrv克罗地亚语LatnSp, TxTx
hun匈牙利语LatnSp, TxTx
hye亚美尼亚语ArmnSp, TxTx
ibo伊博语LatnSp, TxTx
ind印度尼西亚语LatnSp, TxSp, Tx
isl冰岛语LatnSp, TxTx
ita意大利语LatnSp, TxSp, Tx
jav爪哇语LatnSp, TxTx
jpn日语JpanSp, TxSp, Tx
kam坎巴语LatnSp--
kan卡纳达语KndaSp, TxTx
kat格鲁吉亚语GeorSp, TxTx
kaz哈萨克语CyrlSp, TxTx
kea卡布韦迪语LatnSp--
khk哈拉哈蒙古语CyrlSp, TxTx
khm高棉语KhmrSp, TxTx
kir吉尔吉斯语CyrlSp, TxTx
kor韩语KoreSp, TxSp, Tx
lao老挝语LaooSp, TxTx
lit立陶宛语LatnSp, TxTx
ltz卢森堡语LatnSp--
lug干达语LatnSp, TxTx
luo卢奥语LatnSp, TxTx
lvs标准拉脱维亚语LatnSp, TxTx
mai迈蒂利语DevaSp, TxTx
mal马拉雅拉姆语MlymSp, TxTx
mar马拉地语DevaSp, TxTx
mkd马其顿语CyrlSp, TxTx
mlt马耳他语LatnSp, TxSp, Tx
mni梅泰语(曼尼普尔语)BengSp, TxTx
mya缅甸语MymrSp, TxTx
nld荷兰语LatnSp, TxSp, Tx
nno挪威尼诺斯克语LatnSp, TxTx
nob挪威博克马尔语LatnSp, TxTx
npi尼泊尔语DevaSp, TxTx
nya尼扬贾语(齐切瓦语)LatnSp, TxTx
oci奥克西坦语LatnSp--
ory奥里亚语OryaSp, TxTx
pan旁遮普语GuruSp, TxTx
pbt南普什图语ArabSp, TxTx
pes西波斯语(波斯语)ArabSp, TxSp, Tx
pol波兰语LatnSp, TxSp, Tx
por葡萄牙语LatnSp, TxSp, Tx
ron罗马尼亚语LatnSp, TxSp, Tx
rus俄语CyrlSp, TxSp, Tx
slk斯洛伐克语LatnSp, TxSp, Tx
slv斯洛文尼亚语LatnSp, TxTx
sna绍纳语LatnSp, TxTx
snd信德语ArabSp, TxTx
som索马里语LatnSp, TxTx
spa西班牙语LatnSp, TxSp, Tx
srp塞尔维亚语CyrlSp, TxTx
swe瑞典语LatnSp, TxSp, Tx
swh斯瓦希里语LatnSp, TxSp, Tx
tam泰米尔语TamlSp, TxTx
tel泰卢固语TeluSp, TxSp, Tx
tgk塔吉克语CyrlSp, TxTx
tgl他加禄语LatnSp, TxSp, Tx
tha泰语ThaiSp, TxSp, Tx
tur土耳其语LatnSp, TxSp, Tx
ukr乌克兰语CyrlSp, TxSp, Tx
urd乌尔都语ArabSp, TxSp, Tx
uzn北乌兹别克语LatnSp, TxSp, Tx
vie越南语LatnSp, TxSp, Tx
xho科萨语LatnSp--
yor约鲁巴语LatnSp, TxTx
yue粤语HantSp, TxTx
zlmcolloquial MalayLatnSp--
zsmStandard MalayLatnTxTx
zul祖鲁语LatnSp, TxTx

请注意,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}
}