無縫是一個AI模型的家族,可以跨語言進行更自然和真實的溝通。 SeamlessM4T是一種龐大的多語言多模式翻譯模型,支持大約100種語言。 SeamlessM4T是無縫表達的基礎,該模型可保留跨語言和無縫流的韻律和語音樣式的元素,該模型支持同時翻譯和流式傳輸ASR,以大約100種語言。無縫表達和無縫式流媒體被合併為無縫的,這是一種統一模型,具有多語言,實時和表達的翻譯。
SeamlessM4T V2 | 無縫表達 | 無縫流 | |
---|---|---|---|
演示 | SeamlessM4T V2演示 | 無縫表達演示 | |
擁抱面太空演示 | ? SeamlessM4T V2空間 | ?無縫表達空間 | ?無縫流空間 |
無縫的
艾瑪
聲納
AI在Meta博客
一個詳盡的教程,在2023年Neurips -2023-無縫博覽會上,這是一家一站式商店,可學習如何使用整個無縫模型。請隨時使用筆記本。
SeamlessM4T是我們基礎的總合作,毫無疑問和最終興趣的a achine t ranslation模型,以近100種語言提供高質量的語音和文本翻譯。
SeamlessM4T模型支持:
?我們正在發布帶有新型Unity2架構的更新版本SeamlessM4T V2。這個新模型在質量和語音生成任務的質量以及推理潛伏期中改善了SeamlessM4T V1。
要了解有關SeamlessM4T模型集合的更多信息,每種方法中使用的方法,其語言覆蓋範圍和性能,請訪問SeamlessM4T讀數還是?型號卡。
筆記
無縫M4T也可以在?變形金剛庫。請訪問此部分以獲取更多詳細信息。
無縫表達是一種語音到語音翻譯模型,可捕獲某些韻律的某些未經置換的方面,例如語音率和暫停,同時保持語音的風格和高內容翻譯質量。
要了解有關無縫表達模型的更多信息,請訪問無縫表達式讀數或?型號卡
無縫流是流媒體翻譯模型。該模型將語音作為輸入模式和語音/文本作為輸出方式。
無縫流模型支持以下任務:
要了解有關SeamlessStreaming Models的更多信息,請訪問無縫的讀書文件還是?型號卡
無縫模型是表達流式語音到語音翻譯的統一模型。
筆記
先決條件之一是FairSeq2,其僅可用於Linux X86-64和Apple-Silicon Mac計算機。此外,它對Libsndfile具有依賴性,該Libsndfile可能無法安裝在您的計算機上。如果您遇到任何安裝問題,請參閱其讀數以獲取進一步的說明。
pip install .
筆記
計算指標的轉錄推理音頻使用Whisper,該低語是自動安裝的。腦電圖又需要在系統上安裝命令行工具ffmpeg
,這可以從大多數包裝管理器中獲得。
這是使用Root Directory的CLI來運行推理的一個示例。
S2ST任務:
m4t_predict < path_to_input_audio > --task s2st --tgt_lang < tgt_lang > --output_path < path_to_save_audio >
T2TT任務:
m4t_predict < input_text > --task t2tt --tgt_lang < tgt_lang > --src_lang < src_lang >
有關如何運行推理的詳細說明以及源上的支持語言列表,語音的目標方面,文本模式。
有關使用GGML本地運行S2TT/ASR(無python),請參閱unity.cpp部分。
筆記
請檢查有關如何下載模型的部分。
這是使用Root Directory的CLI來運行推理的一個示例。
expressivity_predict < path_to_input_audio > --tgt_lang < tgt_lang > --model_name seamless_expressivity --vocoder_name vocoder_pretssel --output_path < path_to_save_audio >
流式評估讀取文件具有詳細的指令,用於運行無縫流和無縫模型的評估。 CLI具有一個--no-scoring
選項,可用於跳過得分零件並僅運行推理。
請檢查推理讀數文件以獲取更多詳細信息。
您可以復制無縫的HF空間來運行流媒體演示。
您也可以通過從這里克隆空間來在本地運行演示。有關安裝的更多詳細信息,請參見無縫播放HF回購的錄音。
要在當地擁抱面孔上啟動相同的演示空間:
cd demo
pip install -r requirements.txt
python app.py
模型名稱 | #params | 檢查點 | 指標 |
---|---|---|---|
Seamlessm4t-large V2 | 2.3b | ?型號卡 - 檢查站 | 指標 |
Seamlessm4t-large(V1) | 2.3b | ?型號卡 - 檢查站 | 指標 |
SeamlessM4T中級(V1) | 1.2b | ?型號卡 - 檢查站 | 指標 |
?型號卡
要訪問和下載無縫表達,請通過此請求表請求模型工件。批准後,您將收到一封電子郵件,其中包含每個型號工件的下載鏈接。
請注意,根據自己的許可和可接受的使用政策,無縫表達可用。
模型名稱 | #params | 檢查點 | 指標 |
---|---|---|---|
無縫流 | 2.5b | ?型號卡 - 單調解碼器檢查點 - 流unity2檢查點 | 指標 |
無縫模型只是無縫播放模型,其非表達vocoder_v2
與Exprandive vocoder_pretssel
交換。請查看有關如何獲取vocoder_pretssel
檢查點的部分。
模型名稱 | #params | 檢查點 |
---|---|---|
W2V-bert 2.0 | 600m | ?型號卡 - 檢查站 |
這是您應該通過語音編碼器進行foward的方式:
import torch
from fairseq2 . data . audio import AudioDecoder , WaveformToFbankConverter
from fairseq2 . memory import MemoryBlock
from fairseq2 . nn . padding import get_seqs_and_padding_mask
from fairseq2 . data import Collater
from pathlib import Path
from seamless_communication . models . conformer_shaw import load_conformer_shaw_model
audio_wav_path , device , dtype = ...
audio_decoder = AudioDecoder ( dtype = torch . float32 , device = device )
fbank_converter = WaveformToFbankConverter (
num_mel_bins = 80 ,
waveform_scale = 2 ** 15 ,
channel_last = True ,
standardize = True ,
device = device ,
dtype = dtype ,
)
collater = Collater ( pad_value = 1 )
model = load_conformer_shaw_model ( "conformer_shaw" , device = device , dtype = dtype )
model . eval ()
with Path ( audio_wav_path ). open ( "rb" ) as fb :
block = MemoryBlock ( fb . read ())
decoded_audio = audio_decoder ( block )
src = collater ( fbank_converter ( decoded_audio ))[ "fbank" ]
seqs , padding_mask = get_seqs_and_padding_mask ( src )
with torch . inference_mode ():
seqs , padding_mask = model . encoder_frontend ( seqs , padding_mask )
seqs , padding_mask = model . encoder ( seqs , padding_mask )
為了重現我們的結果,或使用相同的指標在您自己的測試集上進行評估,請在此處查看README。
以下是用於有效批處理評估的腳本。
export MODEL_DIR= " /path/to/SeamlessExpressive/model "
export TEST_SET_TSV= " input.tsv " # Your dataset in a TSV file, with headers "id", "audio"
export TGT_LANG= " spa " # Target language to translate into, options including "fra", "deu", "eng" ("cmn" and "ita" are experimental)
export OUTPUT_DIR= " tmp/ " # Output directory for generated text/unit/waveform
export TGT_TEXT_COL= " tgt_text " # The column in your ${TEST_SET_TSV} for reference target text to calcuate BLEU score. You can skip this argument.
export DFACTOR= " 1.0 " # Duration factor for model inference to tune predicted duration (preddur=DFACTOR*preddur) per each position which affects output speech rate. Greater value means slower speech rate (default to 1.0). See expressive evaluation README for details on duration factor we used.
expressivity_evaluate ${TEST_SET_TSV}
--gated-model-dir ${MODEL_DIR} --task s2st --tgt_lang ${TGT_LANG}
--audio_root_dir " " --output_path ${OUTPUT_DIR} --ref_field ${TGT_TEXT_COL}
--model_name seamless_expressivity --vocoder_name vocoder_pretssel
--text_unk_blocking True --duration_factor ${DFACTOR}
請查看此讀數部分
流式評估回顧有詳細的說明,用於在無縫流和無縫模型上進行評估。
為了啟用各處無縫的通信,我們實現了Unity.cpp,因此用戶可以在GGML中運行SeamlessM4T模型 - C Tensor庫可以更輕鬆地集成在冗長的平台上。
要轉錄/翻譯給定的音頻,
./ggml/bin/unity --model seamlessM4T_medium.ggml input.wav
有關構建和更多用法的詳細信息,請查看unity.cpp
我們在英語和其他五種語言之間創建了兩個富有表現力的語音翻譯數據集,即Mexpresso和Mdral,例如法語,德語,意大利語,普通話和西班牙語。目前,我們將Mexpresso的語音到文本開源,以實現英語外觀,我們將很快開放數據集的其餘部分。有關詳細信息,請查看README
我們正在介紹第一個表達性語音對準程序。從原始數據開始,表達式對齊過程自動發現成對的音頻段不僅共享相同的含義,而且共享相同的總體表現力。為了展示此過程,我們正在使元數據可用來創建一個名為SeamlessAlignExpressiveress的基準測量數據集,該數據集可用於驗證我們的對齊方法的質量。 SeamlessElessAlignExpression是第一個大規模(11k+小時)的多語言音頻一致性集合,用於表達翻譯。更多細節可以在無縫表達的讀數中找到。
請在此處查看讀書文件。請注意,SeamlessM4T V1模型使用還原單元,而其他模型則使用非還原單元。
無縫溝通取決於Meta開發的4個庫。
FairSeq2是我們的下一代開源序列建模組件庫,可為研究人員和開發人員提供機器翻譯,語言建模和其他序列生成任務的基礎。該存儲庫中的所有SeamlessM4T模型均由FairSeq2提供動力。
Sonar,句子級的多模式和語言敏捷表示是一種新的多語言和模式句子嵌入空間,它在XSIM和XSIM ++多語言相似性搜索任務上勝過現有的句子嵌入(例如Laser3和Labse )。 Sonar提供了許多語言的文本和語音編碼器。根據聲納嵌入開採Seamlesseralign。
Blaser 2.0是我們最新的基於模型的評估度量指標,用於多模式翻譯。它是Blaser的擴展,支持語音和文字。它直接在源信號上運行,因此,不需要像ASR-BLEU這樣的任何中間ASR系統。與第一個版本一樣,Blaser 2.0利用輸入和輸出句子嵌入之間的相似性。 Sonar是Blaser 2.0的基礎嵌入空間。可以在Sonar Repo中找到用於使用Blaser 2.0進行評估的腳本。
作為無縫通信項目的一部分,我們擴展了Stopes Library。版本1提供了一種文本到文本挖掘工具,用於構建用於翻譯模型的培訓數據集。由於Sonar,版本2已擴展,以支持圍繞培訓大型語音翻譯模型的任務。特別是,我們提供了讀/編寫Fairseq AudioZip數據集的工具和一條新的採礦管道,該管道可以進行語音到語音,文本到語音,語音到文本和文本對文本挖掘,這都是基於新的聲納嵌入空間。
Simuleval是用於評估模擬翻譯模型的庫。 Simuleval還提供了使用具有靈活/可擴展狀態的部分/增量輸入來生成的後端,該輸入用於實現流推斷。用戶定義了實現Simuleval接口的代理,該接口可以在管道中連接在一起。您可以在此處找到用於無縫流的代理。
請在此處查看讀書文件。
除了無縫的M4T大型(2.3b)和培養基(1.2B)模型外,我們還釋放了針對性推理的小型型號(281m)。要了解有關用法和模型詳細信息的更多信息,請在此處查看README。
我們將元數據開放為Seamlessalign,這是最大的開放數據集,用於多模式翻譯,總計270k+小時的對齊語音和文本數據。可以根據Seamlessalign Readme進行社區重建數據集。
如果您在工作中使用無縫或任何模型/數據集/文物,請引用:
@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 }
}
我們有三個許可類別。
如MIT_LICENSE中發現的以下非生成組件已獲得MIT許可:
以下模型是許可中發現的CC-BY-NC 4.0許可:
以下模型是無縫許可,如Seamless_license中發現: