Seamless é uma família de modelos de IA que permitem uma comunicação mais natural e autêntica entre os idiomas. SeamlessM4T é um modelo de tradução multimodal multilíngue maciço que suporta cerca de 100 idiomas. SeamlessM4T serve como base para a SeamlessExpressive, um modelo que preserva elementos de prosódia e estilo de voz entre idiomas e transmissões, um modelo que suporta tradução simultânea e streaming ASR para cerca de 100 idiomas. SeamlessExpressive e sem costura são combinados em um modelo unificado, com traduções multilíngues, em tempo real e expressivas.
Seamlessm4t v2 | Sem costura expressiva | Sem costura | |
---|---|---|---|
Demonstração | Demonstração de desamparo V2 V2 | Demonstração sem costura | |
Demoção do espaço Huggingface | ? Espaço sem costura V2 | ? Espaço sem costura expressivo | ? Espaço sem costura |
Sem costura
Emma
SONAR
Ai no meta blog
Um tutorial exaustivo dado na Expo Neurips 2023 - sem costura, que é uma loja única para aprender a usar todo o conjunto de modelos perfeitos. Por favor, sinta -se à vontade para brincar com o caderno.
SeamlessM4T é o nosso modelo de renda de renda de Mini - in-One fundamental e Model de Ranslação, fornecendo tradução de alta qualidade para a fala e o texto em quase 100 idiomas.
Os modelos desleixados do suporte suportam as tarefas de:
? Estamos lançando o SeamlessM4T V2, uma versão atualizada com nossa nova arquitetura Unity2 . Esse novo modelo melhora em relação à letra de qualidade desamparada v1 em qualidade e na latência das tarefas de geração de fala.
Para saber mais sobre a coleção de modelos semibilizados, a abordagem usada em cada um, sua cobertura de idioma e seu desempenho, visite o readme sem costura ou? Cartão modelo.
Observação
O M4T sem costura também está disponível no? Biblioteca Transformers. Visite esta seção para mais detalhes.
SeamlessExpressive é um modelo de tradução de fala a fala que captura certos aspectos subexplorados da prosódia, como taxa de fala e pausas, preservando o estilo da voz e da alta qualidade de tradução de conteúdo.
Para saber mais sobre modelos sem costura expressivos, visite o Readme ou SeamlessExpressive ReadMe ou? Cartão modelo
Seamlessstreaming é um modelo de tradução de streaming. O modelo suporta a fala como modalidade de entrada e fala/texto como modalidades de saída.
O modelo de sepultura suporta as seguintes tarefas:
Para saber mais sobre os modelos Seamless Streaming, visite o Readme ou SeamlessTreaming ou? Cartão modelo
O modelo sem costura é o modelo unificado para traduções expressivas de streaming de fala a fala.
Observação
Um dos pré-requisitos é o FairSeq2, que possui pacotes pré-criados disponíveis apenas para computadores Linux X86-64 e Apple-Silicon Mac. Além disso, ele tem uma dependência do LBSNDFILE, que pode não estar instalado em sua máquina. Se você tiver algum problema de instalação, consulte o seu ReadMe para obter mais instruções.
pip install .
Observação
Transcrição do áudio de inferência para a métrica de computação usa o Whisper, que é instalado automaticamente. Por sua vez, o Whisper exige que a ferramenta de linha de comando ffmpeg
seja instalada no seu sistema, disponível na maioria dos gerentes de pacotes.
Aqui está um exemplo de uso da CLI no diretório raiz para executar a inferência.
S2ST Tarefa:
m4t_predict < path_to_input_audio > --task s2st --tgt_lang < tgt_lang > --output_path < path_to_save_audio >
Tarefa T2TT:
m4t_predict < input_text > --task t2tt --tgt_lang < tgt_lang > --src_lang < src_lang >
Consulte o Inference ReadMe para obter instruções detalhadas sobre como executar a inferência e a lista de idiomas suportados na fonte, lados de destino para modalidades de fala.
Para executar o S2TT/ASR nativamente (sem Python) usando GGML, consulte a seção Unity.cpp.
Observação
Por favor, verifique a seção sobre como baixar o modelo.
Aqui está um exemplo de uso da CLI no diretório raiz para executar a inferência.
expressivity_predict < path_to_input_audio > --tgt_lang < tgt_lang > --model_name seamless_expressivity --vocoder_name vocoder_pretssel --output_path < path_to_save_audio >
A avaliação de streaming ReadMe possui instruções detalhadas para executar avaliações para os modelos Seamlessstreaming e sem costura. A CLI tem uma opção --no-scoring
que pode ser usada para pular a parte de pontuação e apenas executar a inferência.
Por favor, verifique a inferência ReadMe para obter mais detalhes.
Você pode duplicar o espaço de HF semaming para executar a demonstração de streaming.
Você também pode executar a demonstração localmente, clonando o espaço daqui. Consulte o ReadMe do repositório de HF semaming para mais detalhes sobre a instalação.
Para lançar o mesmo espaço de demonstração, hospedamos o rosto abraçando o rosto localmente:
cd demo
pip install -r requirements.txt
python app.py
Nome do modelo | #params | Ponto de verificação | métricas |
---|---|---|---|
V2 despelessm4t-Large | 2.3b | ? Cartão de modelo - ponto de verificação | métricas |
Seamlessm4t-Large (V1) | 2.3b | ? Cartão de modelo - ponto de verificação | métricas |
Seamlessm4t-medium (v1) | 1.2b | ? Cartão de modelo - ponto de verificação | métricas |
? Cartão modelo
Para acessar e baixar o SeamlessExpressive, solicite os artefatos do modelo através deste formulário de solicitação. Após a aprovação, você receberá um email com links para download para cada artefato de modelo.
Observe que o SeamlessExpressive é disponibilizado sob sua própria licença e política de uso aceitável.
Nome do modelo | #params | Ponto de verificação | métricas |
---|---|---|---|
Sem costura | 2.5b | ? Modelo Card - Ponto de verificação do decodificador monotônico - Streaming Unity2 Ponto de verificação | métricas |
O modelo sem costura é simplesmente o modelo semestrativo com o vocoder_v2
não expressivo_v2 trocado com o expressivo vocoder_pretssel
. Confira a seção acima sobre como adquirir ponto de verificação vocoder_pretssel
.
Nome do modelo | #params | Ponto de verificação |
---|---|---|
W2V-Bert 2.0 | 600m | ? Cartão de modelo - ponto de verificação |
Veja como você deve fazer uma passagem pelo codificador de fala:
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 )
Para reproduzir nossos resultados ou avaliar o uso das mesmas métricas sobre seus próprios conjuntos de testes, consulte o ReadMe aqui.
Abaixo está o script para uma avaliação em lotes eficientes.
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}
Confira esta seção ReadMe
A avaliação de streaming ReadMe possui instruções detalhadas para executar avaliações sobre os modelos semaming e sem costura.
Para ativar a comunicação perfeita em todos os lugares, implementamos o Unity.cpp para que os usuários pudessem executar modelos sem costura no GGML - uma biblioteca de tensores C, permitindo uma integração mais fácil em plataformas verbose.
Para transcrever/traduzir um determinado áudio,
./ggml/bin/unity --model seamlessM4T_medium.ggml input.wav
Para detalhes de construção e mais uso, consulte a Unity.cpp
Criamos dois conjuntos de dados de tradução expressivos de fala a falar, Mexpresso e Mdral, entre inglês e cinco outros idiomas-francês, alemão, italiano, mandarim e espanhol. Atualmente, o código aberto o texto para o texto do mexpresso para direções fora do inglês e abriremos a parte restante dos conjuntos de dados em breve. Para detalhes, confira o ReadMe
Estamos introduzindo o primeiro procedimento expressivo de alinhamento de fala. Começando com dados brutos, o procedimento de alinhamento expressivo descobre automaticamente pares de segmentos de áudio que compartilham não apenas o mesmo significado, mas também a mesma expressividade geral. Para mostrar esse procedimento, estamos disponibilizando metadados para criar um conjunto de dados de benchmarking chamado SeamlessAliSalignexpressive, que pode ser usado para validar a qualidade do nosso método de alinhamento. Seamlessalignexpressive é a primeira coleção em larga escala (11K+ horas) de alinhamentos de áudio multilíngues para tradução expressiva. Mais detalhes podem ser encontrados no Readme Seamlessalignexpressive.
Por favor, confira o ReadMe aqui. Observe que o modelo SeamlessM4T V1 usa unidades reduzidas e outros modelos usam unidades não reduzidas.
A comunicação perfeita depende de 4 bibliotecas desenvolvidas pela Meta.
O FairSeq2 é a nossa biblioteca de seqüências de componentes de modelagem de sequência de código aberto de última geração que fornece a pesquisadores e desenvolvedores blocos para tradução de máquinas, modelagem de idiomas e outras tarefas de geração de sequência. Todos os modelos sem costura neste repositório são alimentados pelo Fairseq2.
Sonar, representações multimodais e agnósticas em nível de sentença é um novo espaço de incorporação de sentença multilíngue e-modal que supera as incorporações de sentença existente, como LASER3 e LABSE nas tarefas de pesquisa de similaridade XSIM e XSIM ++. O sonar fornece codificadores de texto e fala para vários idiomas. Seamlessalign foram extraídos com base em incorporações de sonar.
O Blaser 2.0 é a nossa mais recente métrica de avaliação baseada em modelo para tradução multimodal. É uma extensão de blaser, apoiando a fala e o texto. Ele opera diretamente no sinal de origem e, como tal, não requer nenhum sistema ASR intermediário como o ASR-BLEU. Como na primeira versão, o BLASER 2.0 aproveita a semelhança entre as incorporação da frase de entrada e saída. O sonar é o espaço de incorporação subjacente para o Blaser 2.0. Os scripts para executar a avaliação com o blaser 2.0 podem ser encontrados no repositório do sonar.
Como parte do projeto de comunicação contínua, estendemos a biblioteca Stopes. A versão 1 forneceu uma ferramenta de mineração de texto para texto para criar o conjunto de dados de treinamento para modelos de tradução. A versão 2 foi estendida graças ao SONAR, para apoiar tarefas ao treinamento de grandes modelos de tradução de fala. Em particular, fornecemos ferramentas para ler/escrever os conjuntos de dados FairSeq Audiozip e um novo pipeline de mineração que pode fazer mineração de fala para falar, texto a falar, falar em texto e texto para texto, tudo com base em O novo espaço de incorporação de sonar.
Simuleval é uma biblioteca usada para avaliar os modelos de tradução simulânea. O Simuleval também fornece um back -end para a geração usando entradas parciais/incrementais com estados flexíveis/extensíveis, que são usados para implementar a inferência de streaming. Os usuários definem agentes que implementam a interface do Simuleval, que podem ser conectados juntos em um pipeline. Você pode encontrar agentes implementados para a Seamlessstreaming aqui.
Por favor, confira o ReadMe aqui.
Além dos modelos sem costura-M4T (2,3b) e médio (1,2b), também estamos liberando um modelo pequeno (281m) direcionado para a inferência no dispositivo. Para saber mais sobre o uso e os detalhes do modelo, consulte o ReadMe aqui.
Nós de código aberto os metadados do FILESSALIGN, o maior conjunto de dados aberto para tradução multimodal, totalizando 270K+ horas de dados alinhados de fala e texto. O conjunto de dados pode ser reconstruído pela comunidade com base no ReadMe Seamlessalign.
Se você usar sem costura em seu trabalho ou em qualquer modelos/conjuntos de dados/artefatos publicados no Seamless, cite:
@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 }
}
Temos três categorias de licença.
Os seguintes componentes não generativos são licenciados no MIT, conforme encontrado em mit_license:
Os modelos a seguir são CC-BY-NC 4.0 licenciados conforme encontrado na licença:
Os modelos a seguir são licenciados sem costura como encontrado em Seamless_license: