Seamless는 언어에서보다 자연스럽고 진정한 커뮤니케이션을 가능하게하는 AI 모델 제품군입니다. SeamlessM4T는 약 100 개 언어를 지원하는 대규모 다국어 멀티 모드 기계 번역 모델입니다. SeamlessM4T는 언어와 음성 스타일의 요소를 보존하고 SeamlessStreaming의 요소를 보존하는 모델 인 SeamlessExpressive의 기초 역할을합니다. Seamless Pexpressive 및 SeamlessStreaming은 다국어, 실시간 및 표현력이있는 통합 모델 인 Seamless로 결합됩니다.
Seamlessm4t v2 | 매끄러운 표현 | SeamlessStreaming | |
---|---|---|---|
데모 | SeamlessM4T V2 데모 | 매끄럽게 표현적인 데모 | |
포옹 페이스 스페이스 데모 | ? SeamlessM4T V2 공간 | ? 매끄러운 표현 공간 | ? 매끄럽게하는 공간 |
원활한
엠마
소나
메타 블로그에서 AI
The Neurips 2023 -Seamless Expo에 제공된 철저한 튜토리얼은 전체 원활한 모델 제품군을 사용하는 방법을 배우는 원 스톱 상점입니다. 노트북으로 자유롭게 연주 해주세요.
SeamlessM4T는 우리의 기초적인 올인원 으로 , 거의 100 개 언어로 음성 및 텍스트에 대한 고품질 번역을 제공하는 최종적 으로 최종적으로 및 최종 모드로 변함이 있습니다.
SeamlessM4T 모델은 다음의 작업을 지원합니다.
? 우리는 소설 Unity2 아키텍처를 갖춘 업데이트 된 버전 인 SeamlessM4T V2를 출시하고 있습니다. 이 새로운 모델은 SeamlessM4T V1보다 품질과 언어 생성 작업의 추론 대기 시간을 향상시킵니다.
SeamlessM4T 모델의 컬렉션, 각각에 사용 된 접근 방식, 언어 적용 범위 및 성능에 대한 자세한 내용은 SeamlessM4T ReadMe 또는? 모델 카드.
메모
Seamless M4T도 사용할 수 있습니까? 트랜스포머 라이브러리. 자세한 내용은이 섹션을 방문하십시오.
Seamlessexpressive는 음성과 콘텐츠 번역 품질의 스타일을 보존하면서 언어 속도 및 일시 정지와 같은 프로 코디의 특정 미숙 한 측면을 포착하는 음성 음성 변환 모델입니다.
Seamlessexpressive 모델에 대한 자세한 내용은 Seamlessexpressive Readme 또는? 모델 카드
SeamlessStreaming은 스트리밍 번역 모델입니다. 이 모델은 연설을 입력 양식으로, 음성/텍스트를 출력 방식으로 지원합니다.
SeamlessStreaming 모델은 다음과 같은 작업을 지원합니다.
SeamlessStreaming 모델에 대한 자세한 내용은 SeamlessStreaming ReadMe 또는? 모델 카드
원활한 모델은 표현 스트리밍 음성 음성 변환을위한 통합 모델입니다.
메모
전제 조건 중 하나는 Linux X86-64 및 Apple-Silicon MAC 컴퓨터에만 사용할 수있는 사전 제작 된 패키지가있는 FairSeQ2입니다. 또한 컴퓨터에 설치되지 않을 수있는 libsndfile에 의존합니다. 설치 문제가 발생하면 추가 지침은 readme를 참조하십시오.
pip install .
메모
컴퓨팅을위한 추론 오디오 전사 메트릭은 자동으로 설치된 Whisper를 사용합니다. Whisper는 대부분의 패키지 관리자가 사용할 수있는 시스템에 명령 줄 도구 ffmpeg
설치해야합니다.
다음은 루트 디렉토리에서 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 섹션을 참조하십시오.
메모
모델 다운로드 방법에 대한 섹션을 확인하십시오.
다음은 루트 디렉토리에서 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 >
스트리밍 평가 readme에는 매끄러운 스트리밍 및 원활한 모델에 대한 평가를 실행하기위한 자세한 지침이 있습니다. CLI에는 점수 부품을 건너 뛰고 추론을 실행하는 데 사용할 수있는 --no-scoring
옵션이 있습니다.
자세한 내용은 추론 읽기를 확인하십시오.
SeamlessStreaming HF 공간을 복제하여 스트리밍 데모를 실행할 수 있습니다.
여기에서 공간을 복제하여 데모를 로컬로 실행할 수도 있습니다. 설치에 대한 자세한 내용은 SeamlessStreaming HF Repo의 README를 참조하십시오.
현지에서 포옹 페이스에서 호스팅하는 것과 동일한 데모 공간을 시작하려면 :
cd demo
pip install -r requirements.txt
python app.py
모델 이름 | #Params | 검문소 | 메트릭 |
---|---|---|---|
Seamlessm4t-large v2 | 2.3b | ? 모델 카드 - 체크 포인트 | 메트릭 |
SeamlessM4T-Large (v1) | 2.3b | ? 모델 카드 - 체크 포인트 | 메트릭 |
SeamlessM4T-Medium (V1) | 1.2b | ? 모델 카드 - 체크 포인트 | 메트릭 |
? 모델 카드
SeamlessExpressive에 액세스하고 다운로드하려면이 요청 양식을 통해 모델 아티팩트를 요청하십시오. 승인되면 각 모델 아티팩트에 대한 다운로드 링크가 포함 된 이메일을 받게됩니다.
Seamlessexpressive는 자체 라이센스 및 허용 가능한 사용 정책에 따라 제공됩니다.
모델 이름 | #Params | 검문소 | 메트릭 |
---|---|---|---|
SeamlessStreaming | 2.5b | ? 모델 카드 - 단조 디코더 체크 포인트 - 스트리밍 unity2 checkpoint | 메트릭 |
Seamless Model은 단순히 표현력 vocoder_pretssel
과 교환되지 않은 비 실성적인 vocoder_v2
있는 SeamlessStreaming 모델입니다. vocoder_pretssel
Checkpoint를 획득하는 방법에 대한 위의 섹션에서 확인하십시오.
모델 이름 | #Params | 검문소 |
---|---|---|
W2V-Bert 2.0 | 600m | ? 모델 카드 - 체크 포인트 |
다음은 음성 인코더를 통해 성가신 패스를 수행 해야하는 방법입니다.
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}
이 readme 섹션을 확인하십시오
스트리밍 평가 readme에는 SeamlessStreaming 및 완벽한 모델에 대한 평가를 실행하기위한 자세한 지침이 있습니다.
어디에서나 원활한 커뮤니케이션을 가능하게하기 위해 Unity.cpp를 구현하여 사용자가 GGML에서 SeamlessM4T 모델을 실행할 수 있도록 구현했습니다.
주어진 오디오를 전사/번역하려면
./ggml/bin/unity --model seamlessM4T_medium.ggml input.wav
빌드 및 더 많은 사용에 대한 자세한 내용은 Unity.cpp를 확인하십시오.
우리는 영어와 프랑스어, 독일어, 이탈리아, 만다린 및 스페인어의 5 개 언어 사이에 두 가지 표현 음성 음성 변환 데이터 세트, Mexpresso 및 MDRAL을 만들었습니다. 우리는 현재 영어가 아닌 방향으로 Mexpresso의 음성 텍스트를 오픈 소스이며, 곧 데이터 세트의 나머지 부분을 오픈 소스를 열 것입니다. 자세한 내용은 ReadMe를 확인하십시오
우리는 첫 번째 표현 음성 정렬 절차를 소개하고 있습니다. 원시 데이터로 시작하여 표현 적 정렬 절차는 동일한 의미뿐만 아니라 동일한 전체 표현성을 공유하는 오디오 세그먼트 쌍을 자동으로 발견합니다. 이 절차를 보여주기 위해 정렬 방법의 품질을 검증하는 데 사용할 수있는 SeamlessAlignexpressive라는 벤치마킹 데이터 세트를 만들기 위해 메타 데이터를 사용할 수 있도록합니다. Seamlessalignexpressive는 표현 번역을위한 최초의 대규모 (11k+ 시간) 다국어 오디오 정렬 컬렉션입니다. 자세한 내용은 Seamlessalignexpressive Readme에서 찾을 수 있습니다.
여기에서 readme를 확인하십시오. SeamlessM4T V1 모델은 감소 된 단위를 사용하고 다른 모델은 감소되지 않은 장치를 사용합니다.
원활한 커뮤니케이션은 Meta가 개발 한 4 개의 라이브러리에 따라 다릅니다.
FairSeQ2는 기계 번역, 언어 모델링 및 기타 시퀀스 생성 작업을위한 빌딩 블록을 연구원과 개발자에게 제공하는 차세대 오픈 소스 서열 모델링 구성 요소 라이브러리입니다. 이 저장소의 모든 SeamlessM4T 모델은 FairSeQ2에 의해 구동됩니다.
Sonar, 문장 수준의 멀티 모드 및 언어 공유 표현은 XSIM 및 XSIM ++ 다중 언어 유사성 검색 작업의 LASER3 및 LABSE와 같은 기존 문장 임베드를 능가하는 새로운 다국어 및 모달 문장 임베딩 공간입니다. Sonar는 많은 언어에 대한 텍스트 및 음성 인코더를 제공합니다. Seamlessalign은 소나 임베딩에 따라 채굴되었습니다.
Blaser 2.0은 멀티 모달 변환을위한 최신 모델 기반 평가 메트릭입니다. 말과 텍스트를 모두 지원하는 블래저의 확장입니다. 소스 신호에서 직접 작동하므로 ASR-Bleu와 같은 중간 ASR 시스템이 필요하지 않습니다. 첫 번째 버전에서와 같이 Blaser 2.0은 입력과 출력 문장 임베딩 사이의 유사성을 활용합니다. Sonar는 Blaser 2.0의 기본 임베딩 공간입니다. Blaser 2.0으로 평가를 실행하는 스크립트는 Sonar Repo에서 찾을 수 있습니다.
원활한 커뮤니케이션 프로젝트의 일환으로 Stopes Library를 확장했습니다. 버전 1은 번역 모델을위한 교육 데이터 세트를 구축하기위한 텍스트-텍스트 마이닝 도구를 제공했습니다. 대형 언어 번역 모델을 훈련하는 작업을 지원하기 위해 Sonar 덕분에 버전 2가 확장되었습니다. 특히 FairSeQ Audiozip 데이터 세트를 읽고 쓰고 쓰는 도구와 음성 음성, 텍스트 음성, 음성 텍스트 및 텍스트-텍스트 마이닝을 수행 할 수있는 새로운 마이닝 파이프 라인을 제공합니다. 새로운 소나 매립 공간.
SimuleVal은 동시 번역 모델을 평가하는 데 사용되는 라이브러리입니다. SimuleVal은 또한 유연한/확장 상태가있는 부분/증분 입력을 사용하여 생성을위한 백엔드를 제공하며, 이는 스트리밍 추론을 구현하는 데 사용됩니다. 사용자는 파이프 라인에 함께 연결할 수있는 SimuleVal의 인터페이스를 구현하는 에이전트를 정의합니다. 여기에서 SeamlessStreaming을 위해 구현 된 에이전트를 찾을 수 있습니다.
여기에서 readme를 확인하십시오.
Seamless-M4T Large (2.3b) 및 중간 (1.2b) 모델 외에도, 우리는 또한 기기 추론을 대상으로하는 작은 모델 (281m)을 출시합니다. 사용법 및 모델 세부 정보에 대한 자세한 내용은 여기를 참조하십시오.
우리는 Metadata를 Seamlessalign에 오픈 소스 인 Multimodal Translation을위한 최대의 오픈 데이터 세트, 총 270k+ 시간의 정렬 된 음성 및 텍스트 데이터를 개방합니다. 데이터 세트는 Seamlessalign ReadMe를 기반으로 커뮤니티에서 재건 할 수 있습니다.
작업 또는 Seamless에 게시 된 모든 모델/데이터 세트/아티팩트에서 Seamless를 사용하는 경우 다음과 같이 인용하십시오.
@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에서 찾은대로 라이센스가 부여됩니다.
다음 모델은 라이센스에있는 CC-By-NC 4.0 라이센스입니다.
다음 모델은 Seamless_license에서 볼 수 있듯이 완벽한 라이센스입니다.