Seamless ist eine Familie von KI -Modellen, die eine natürlichere und authentischere Kommunikation über die Sprachen hinweg ermöglichen. SeamlessM4T ist ein massives mehrsprachiges multimodales maschinelles Übersetzungsmodell, das rund 100 Sprachen unterstützt. SeamlessM4T dient als Grundlage für Seamlessexpressive, ein Modell, das Elemente des Prosodie- und Sprachstils über Sprachen und SeamlessStreaming hinweg bewahrt, ein Modell, das gleichzeitige Übersetzung und Streaming ASR für rund 100 Sprachen unterstützt. Seamlessexpressive und nahtloses Streaming werden zu nahtlos kombiniert, ein einheitliches Modell mit mehrsprachiger, Echtzeit und ausdrucksstarker Übersetzungen.
SeamlessM4T V2 | Seamlessexpressive | Seamlessstreaming | |
---|---|---|---|
Demo | SeamlessM4T V2 Demo | Seamlessexpressive Demo | |
Umarmung der Space Demo | ? SeamlessM4T V2 Space | ? Seamlessexpressive Raum | ? Seamlessstreaming -Raum |
Nahtlos
Emma
SONAR
KI im Meta -Blog
Ein umfassendes Tutorial, das in den Neurips 2023 - Seamless Expo angegeben ist, ist ein One -Stop -Laden, um zu lernen, wie man die gesamte Suite von nahtlosen Modellen verwendet. Bitte zögern Sie nicht, mit dem Notizbuch zu spielen.
SeamlessM4T ist unser grundlegendes All-in-One -M - m ultintellingual und m ultimodales Mach - T- Ranslationsmodell, das in fast 100 Sprachen eine qualitativ hochwertige Übersetzung für Sprache und Text liefert.
SeamlessM4T -Modelle unterstützen die Aufgaben von:
? Wir veröffentlichen SeamlessM4T V2, eine aktualisierte Version mit unserer neuartigen Unity2 -Architektur. Dieses neue Modell verbessert sich über SeamlessM4T V1 in Qualität sowie Inferenzlatenz bei den Aufgaben der Sprachgenerierung.
Um mehr über die Sammlung von SeamlessM4T -Modellen zu erfahren, den in jedem verwendeten Ansatz, ihre Sprachberichterstattung und deren Leistung, besuchen Sie den SeamlessM4T Readme oder? Modellkarte.
Notiz
Nahtloser M4T ist auch in der erhältlich? Transformers Library. Besuchen Sie diesen Abschnitt für weitere Informationen.
SeamlessExpressive ist ein Übersetzungsmodell für Sprachausgleich, das bestimmte, untererklärte Aspekte von Prosodien wie Sprachrate und Pausen erfasst und gleichzeitig den Stil der Sprach- und Hochinhaltsübersetzungsqualität bewahrt.
Um mehr über nahtlose modelle Modelle zu erfahren, besuchen Sie die Seamlessexpressive Readme oder? Modellkarte
Seamlessstreaming ist ein Streaming -Übersetzungsmodell. Das Modell unterstützt Sprache als Eingabemodalität und Sprache/Text als Ausgabemodalitäten.
Das SeamlessStreaming -Modell unterstützt die folgenden Aufgaben:
Um mehr über nahtlose Streaming -Modelle zu erfahren, besuchen Sie die nahtlosen Streaming Readme oder? Modellkarte
Das nahtlose Modell ist das einheitliche Modell für ausdrucksstarke Übersetzungen mit Sprachreden zu Speech.
Notiz
Eine der Voraussetzungen ist Fairseq2, das vorgefertigte Pakete nur für Linux X86-64 und Apple-Silicon Mac-Computer zur Verfügung stellt. Außerdem hat es eine Abhängigkeit von der Libsnd -Datei, die möglicherweise nicht auf Ihrer Maschine installiert ist. Wenn Sie an Installationsproblemen verfügen, finden Sie weitere Anweisungen in der Readme.
pip install .
Notiz
Transkripting Inferenz -Audio für die Computermetrik verwendet Whisper, das automatisch installiert wird. Flüsterteils erfordert das Befehlszeilen-Tool ffmpeg
um in Ihrem System zu installieren, das bei den meisten Paketmanagern erhältlich ist.
Hier ist ein Beispiel für die Verwendung der CLI aus dem Root -Verzeichnis, um Inferenz auszuführen.
S2ST -Aufgabe:
m4t_predict < path_to_input_audio > --task s2st --tgt_lang < tgt_lang > --output_path < path_to_save_audio >
T2TT -Aufgabe:
m4t_predict < input_text > --task t2tt --tgt_lang < tgt_lang > --src_lang < src_lang >
In der Inferenz -Readme finden Sie eine detaillierte Anweisung zum Ausführen von Inferenz und der Liste der unterstützten Sprachen auf der Quelle, Zielseiten für Sprache, Textmodalitäten.
Für das Ausführen von S2TT/ASR nativ (ohne Python) unter Verwendung von GGML finden Sie den Abschnitt "Unity.cpp".
Notiz
Bitte überprüfen Sie den Abschnitt zum Herunterladen des Modells.
Hier ist ein Beispiel für die Verwendung der CLI aus dem Root -Verzeichnis, um Inferenz auszuführen.
expressivity_predict < path_to_input_audio > --tgt_lang < tgt_lang > --model_name seamless_expressivity --vocoder_name vocoder_pretssel --output_path < path_to_save_audio >
Streaming Evaluation ReadMe enthält detaillierte Anweisungen zum Ausführen von Bewertungen für die nahtlosen Streaming- und nahtlosen Modelle. Die CLI verfügt über eine Option --no-scoring
, mit der der Bewertungsteil übersprungen und einfach Schlussfolgerung ausgeführt werden kann.
Bitte überprüfen Sie die Inferenz -Readme, um weitere Informationen zu erhalten.
Sie können den nahtlosen HF -Raum duplizieren, um die Streaming -Demo auszuführen.
Sie können die Demo auch lokal ausführen, indem Sie den Raum von hier aus klonen. Weitere Informationen zur Installation finden Sie im Readme des nahtlosen HF -Repo.
Um den gleichen Demo -Raum zu starten, veranstalten wir vor Ort auf dem Umarmungsgesicht:
cd demo
pip install -r requirements.txt
python app.py
Modellname | #params | Kontrollpunkt | Metriken |
---|---|---|---|
SeamlessM4T-Large V2 | 2.3b | ? Modellkarte - Kontrollpunkt | Metriken |
SeamlessM4T-Large (v1) | 2.3b | ? Modellkarte - Kontrollpunkt | Metriken |
SeamlessM4T-Medium (V1) | 1.2b | ? Modellkarte - Kontrollpunkt | Metriken |
? Modellkarte
Um auf SeamlessExpressive zuzugreifen und herunterzuladen, fordern Sie bitte die Modellartefakte über dieses Anfrageformular an. Nach Genehmigung erhalten Sie eine E -Mail mit Download -Links zu jedem Modell -Artefakt.
Bitte beachten Sie, dass SeamlessExpressive unter seiner eigenen Lizenz und einer akzeptablen Nutzungsrichtlinie zur Verfügung gestellt wird.
Modellname | #params | Kontrollpunkt | Metriken |
---|---|---|---|
Seamlessstreaming | 2,5b | ? Modellkarte - monotonischer Decoder -Checkpoint - Streaming Unity2 Checkpoint | Metriken |
Nahtloses Modell ist einfach das nahtlosen Modell mit dem nicht expressiven vocoder_v2
der mit dem ausdrucksstarken vocoder_pretssel
ausgetauscht wird. Bitte lesen Sie den obigen Abschnitt zum Erwerb von vocoder_pretssel
-Kontrollpunkt.
Modellname | #params | Kontrollpunkt |
---|---|---|
W2V-Bert 2.0 | 600 m | ? Modellkarte - Kontrollpunkt |
So sollten Sie einen Foward -Pass durch den Sprachcodierer machen:
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 )
Um unsere Ergebnisse zu reproduzieren oder die Verwendung der gleichen Metriken über Ihre eigenen Testsätze zu bewerten, lesen Sie bitte das Readme hier.
Im Folgenden finden Sie das Skript für eine effiziente Chargenbewertung.
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}
Bitte sehen Sie sich diesen Abschnitt "Readme" an
Streaming Evaluation ReadMe enthält detaillierte Anweisungen zum Ausführen von Bewertungen zu den nahtlosen Streaming- und nahtlosen Modellen.
Um überall eine nahtlose Kommunikation zu ermöglichen, haben wir Unity.cpp implementiert, damit Benutzer SeamlessM4T -Modelle in GGML ausführen können - eine C -Tensor -Bibliothek, die eine einfachere Integration auf ausführliche Plattformen ermöglicht.
Ein bestimmtes Audio transkribieren/übersetzen,
./ggml/bin/unity --model seamlessM4T_medium.ggml input.wav
Einzelheiten zu Build und mehr Nutzung finden Sie in Unity.cpp.
Wir haben zwei ausdrucksstarke Datensätze für Sprachübersetzungen, Mexpresso und Mdral, zwischen Englisch und fünf weiteren Sprachen erstellt-Französisch, Deutsch, Italienisch, Mandarin und Spanisch. Derzeit Open Source den Sprach-Text-Text von Mexpresso für außerschulische Richtungen, und wir werden den verbleibenden Teil der Datensätze in Kürze eröffnen. Weitere Informationen finden Sie unter Readme
Wir führen das erste Ausstellungsverfahren für ausdrucksstarke Sprachausrichtungen ein. Ausgehend von Rohdaten entdeckt das ausdrucksstarke Ausrichtungsverfahren automatisch Paare von Audiosegmenten, die nicht nur die gleiche Bedeutung, sondern auch die gleiche Gesamtausdrucksfähigkeit teilen. Um dieses Verfahren zu demonstrieren, stellen wir Metadaten zur Verfügung, um einen Benchmarking -Datensatz namens Seamlessalignexpressive zu erstellen, mit dem die Qualität unserer Ausrichtungsmethode validiert werden kann. Seamlessalignexpressive ist die erste große Sammlung von mehrsprachigen Audioausrichtungen für ausdrucksstarke Übersetzung. Weitere Details finden Sie in der Seamlessalignexpressive Readme.
Bitte schauen Sie sich die Readme hier an. Beachten Sie, dass das SeamlessM4T-V1-Modell reduzierte Einheiten und andere Modelle nicht reduzierte Einheiten verwendet.
Die nahtlose Kommunikation hängt von 4 von Meta entwickelten Bibliotheken ab.
FairSeq2 ist unsere Open-Source-Bibliothek der Sequenzmodellierungskomponenten der nächsten Generation, die Forschern und Entwicklern Bausteine für maschinelle Übersetzung, Sprachmodellierung und andere Aufgaben zur Erzeugung von Sequenzgenerationen ermöglicht. Alle SeamlessM4T -Modelle in diesem Repository werden von Fairseq2 angetrieben.
SONAR, Multimodal- und Sprach-agnostische Repräsentationen auf Satzebene ist ein neuer mehrsprachiger und -modaler Satz, der vorhandene Satz Einbettungen wie Laser3 und Labse auf den Suchaufgaben von XSIM und XSIM ++ übertrifft. Sonar bietet Text- und Sprachcodierer für viele Sprachen. Seamlessalign wurde auf der Grundlage von Sonar -Einbettungen abgebaut.
Blaser 2.0 ist unsere neueste modellbasierte Bewertungsmetrik für die multimodale Übersetzung. Es ist eine Erweiterung von Blaser, die sowohl Sprache als auch Text unterstützt. Es arbeitet direkt auf dem Quellsignal und erfordert daher kein Zwischen-ASR-System wie ASR-BLeu. Wie in der ersten Version nutzt Blaser 2.0 die Ähnlichkeit zwischen Eingangs- und Ausgabegemöden. Sonar ist der zugrunde liegende Einbettungsraum für Blaser 2.0. Skripte zur Ausführung der Bewertung mit Blaser 2.0 finden Sie im Sonar -Repo.
Im Rahmen des nahtlosen Kommunikationsprojekts haben wir die Stopes -Bibliothek erweitert. Version 1 stellte ein Text-zu-Text-Mining-Tool zur Verfügung, mit dem Trainingsdatensatz für Übersetzungsmodelle erstellt wurden. Version 2 wurde dank Sonar erweitert, um Aufgaben zum Training großer Sprachübersetzungsmodelle zu unterstützen. Insbesondere bieten wir Tools zum Lesen/Schreiben der Fairseq-Audiozip-Datensätze und einer neuen Mining-Pipeline, mit Der neue Sonar einbettet Raum.
Simuleval ist eine Bibliothek, die zur Bewertung von Simulaneous -Translationsmodellen verwendet wird. Simuleval bietet auch ein Backend für die Generation mit partiellen/inkrementellen Eingaben mit flexiblen/erweiterbaren Zuständen, die zur Implementierung von Streaming -Inferenz verwendet werden. Benutzer definieren Agenten, die die Simuleval -Schnittstelle implementieren, die in einer Pipeline miteinander verbunden werden kann. Hier finden Sie Agenten, die für das SeamlessStreaming hier implementiert sind.
Bitte schauen Sie sich die Readme hier an.
Neben nahtlosen M4T-Modellen (2,3B) und mittel (1,2B) veröffentlichen wir auch ein kleines Modell (281 m), das für die Inferenz für das Gerät abzielt. Weitere Informationen zu den Nutzungs- und Modelldetails finden Sie im Readme hier.
Wir haben die Metadaten zu SeamlessAnign Open-Source, dem größten offenen Datensatz für multimodale Übersetzung, mit insgesamt 270.000 Stunden ausgerichteter Sprach- und Textdaten. Der Datensatz kann von der Community basierend auf dem Seamlessalign Readme wieder aufgebaut werden.
Wenn Sie in Ihrer Arbeit nahtlos oder in nahtlos veröffentlichten Modellen/Datensätzen/Artefakten verwendet werden, zitieren Sie bitte:
@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 }
}
Wir haben drei Lizenzkategorien.
Die folgenden nicht generativen Komponenten sind MIT lizenziert, wie in MIT_LICENSE gefunden:
Die folgenden Modelle sind CC-by-NC 4.0 lizenziert, wie in der Lizenz gefunden:
Die folgenden Modelle sind nahtlos lizenziert, wie in Seamless_License vorhanden: