Seamless เป็นครอบครัวของโมเดล AI ที่ช่วยให้การสื่อสารที่เป็นธรรมชาติและเป็นธรรมชาติมากขึ้นในภาษาต่างๆ SeamlessM4T เป็นรูปแบบการแปลหลายภาษาหลายภาษาหลายภาษาที่รองรับประมาณ 100 ภาษา SeamlessM4T ทำหน้าที่เป็นรากฐานสำหรับ SeamlessExpressive ซึ่งเป็นแบบจำลองที่เก็บรักษาองค์ประกอบของฉันทลักษณ์และสไตล์เสียงในภาษาและ SeamlessStreaming โมเดลที่รองรับการแปลและสตรีมมิ่ง ASR พร้อมกันประมาณ 100 ภาษา SeamlessExpressive และ SeamlessStreaming รวมกันเป็น Seamless โมเดลแบบครบวงจรที่มีการแปลหลายภาษาการแปลแบบเรียลไทม์และการแสดงออก
Seamlessm4t v2 | มีการแสดงออกอย่างไร้รอยต่อ | การส่งเยอะแยะ | |
---|---|---|---|
การสาธิต | SeamlessM4T V2 DEMO | การสาธิตที่ไร้รอยต่อ | |
การสาธิตอวกาศ HuggingFace | - seamlessm4t v2 space | - พื้นที่ที่ไม่มีรอยต่อ | - พื้นที่ไร้รอยต่อ |
ไร้รอยต่อ
เอ็มม่า
โซนาร์
AI ที่บล็อก Meta
การสอนที่ครบถ้วนสมบูรณ์ที่ Neurips 2023 - Expo Seamless ซึ่งเป็นร้านค้าครบวงจรเพื่อเรียนรู้วิธีการใช้ทั้งชุดของแบบจำลองที่ไร้รอยต่อ โปรดอย่าลังเลที่จะเล่นกับสมุดบันทึก
Seamlessm4t เป็นพื้นฐานของเรา all-in-one m uncevely ultilingual และ m ultimodal m achine t ranslation แบบจำลองการแปลคุณภาพสูงสำหรับการพูดและข้อความในเกือบ 100 ภาษา
รุ่น SeamlessM4T รองรับงานของ:
- เรากำลังเปิดตัว SeamlessM4T V2 ซึ่งเป็นเวอร์ชันที่อัปเดตด้วยสถาปัตยกรรม Unity2 นวนิยายของเรา โมเดลใหม่นี้ปรับปรุงผ่าน SeamlessM4T V1 ในด้านคุณภาพและเวลาแฝงการอนุมานในงานการสร้างคำพูด
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคอลเลกชันของแบบจำลอง SeamlessM4T วิธีการที่ใช้ในแต่ละการครอบคลุมภาษาและประสิทธิภาพของพวกเขาเยี่ยมชม SeamlessM4T ReadMe หรือ? การ์ดรุ่น
บันทึก
Seamless M4T ยังมีอยู่ใน? ห้องสมุด Transformers เยี่ยมชมส่วนนี้สำหรับรายละเอียดเพิ่มเติม
SeamlessExpressive เป็นรูปแบบการแปลคำพูดเป็นคำพูดที่จับภาพที่ไม่ได้รับแสงบางอย่างของฉันทลักษณ์เช่นอัตราการพูดและหยุดชั่วคราวในขณะที่รักษารูปแบบของเสียงและคุณภาพการแปลเนื้อหาสูง
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโมเดลที่มีรอยต่อแบบไร้รอยต่อเยี่ยมชม readme ที่ไร้รอยต่อหรือ? การ์ดรุ่น
SeamlessStreaming เป็นรูปแบบการแปลสตรีมมิ่ง โมเดลรองรับคำพูดเป็นโมเดิร์นอินพุตและคำพูด/ข้อความเป็นโมดูลเอาต์พุต
โมเดล SeamlessStreaming รองรับงานต่อไปนี้:
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโมเดล SeamlessStreaming โปรดไปที่ readme ที่ไร้รอยต่อหรือ? การ์ดรุ่น
โมเดลที่ไร้รอยต่อเป็นโมเดลแบบครบวงจรสำหรับการแปลคำพูดการพูดสตรีมไปเป็นคำพูดที่แสดงออก
บันทึก
หนึ่งในข้อกำหนดเบื้องต้นคือ Fairseq2 ซึ่งมีแพ็คเกจที่สร้างไว้ล่วงหน้าสำหรับคอมพิวเตอร์ Linux X86-64 และ Apple-Silicon Mac เท่านั้น นอกจากนี้ยังมีการพึ่งพา 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 >
โปรดดูที่การอนุมานการอนุมานสำหรับคำแนะนำโดยละเอียดเกี่ยวกับวิธีการอนุมานและรายการภาษาที่รองรับในแหล่งที่มาด้านเป้าหมายสำหรับการพูดคำพูดข้อความ
สำหรับการรัน S2TT/ASR โดยธรรมชาติ (ไม่มี Python) โดยใช้ GGML โปรดดูส่วน 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
สามารถใช้ในการข้ามส่วนการให้คะแนนและเพียงแค่เรียกใช้การอนุมาน
โปรดตรวจสอบการอนุมานการอนุมานสำหรับรายละเอียดเพิ่มเติม
คุณสามารถทำซ้ำพื้นที่ HF SeamlessStreaming เพื่อเรียกใช้การสาธิตการสตรีม
นอกจากนี้คุณยังสามารถเรียกใช้การสาธิตในพื้นที่โดยโคลนพื้นที่จากที่นี่ ดู readme ของ REPO HF SeamlessStreaming สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้ง
เพื่อเปิดพื้นที่สาธิตเดียวกันกับที่เราเป็นเจ้าภาพบนใบหน้ากอดในพื้นที่:
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 | - การ์ดรุ่น - จุดตรวจ | ตัวชี้วัด |
- การ์ดรุ่น
ในการเข้าถึงและดาวน์โหลด SeamlessPressive โปรดขอสิ่งประดิษฐ์โมเดลผ่านแบบฟอร์มคำขอนี้ เมื่อได้รับการอนุมัติคุณจะได้รับอีเมลพร้อมลิงค์ดาวน์โหลดไปยังแต่ละรุ่น
โปรดทราบว่ามีการแสดงออกอย่างไร้รอยต่อภายใต้ใบอนุญาตของตัวเองและนโยบายการใช้งานที่ยอมรับได้
ชื่อนางแบบ | #params | ด่าน | ตัวชี้วัด |
---|---|---|---|
การส่งเยอะแยะ | 2.5B | - Model Card - จุดตรวจสอบตัวถอดรหัสแบบโมโนโทนิก - จุดตรวจสอบ Unity2 Streaming Unity2 | ตัวชี้วัด |
แบบจำลองที่ไร้รอยต่อเป็นเพียงรูปแบบการไร้รอยต่อที่มีการใช้งานที่ไม่ได้แสดงออกมาพร้อมกับ vocoder_v2
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}
โปรดตรวจสอบส่วน readme นี้
readme การประเมินสตรีมมิ่งมีคำแนะนำโดยละเอียดสำหรับการประเมินผลการประเมินบนแบบจำลองที่ไร้รอยต่อและไร้รอยต่อ
เพื่อเปิดใช้งานการสื่อสารที่ไร้รอยต่อทุกที่เราได้ใช้ Unity.cpp เพื่อให้ผู้ใช้สามารถเรียกใช้โมเดล SeamlessM4T ใน GGML - ไลบรารี C Tensor ที่ช่วยให้สามารถรวมแพลตฟอร์ม Verbose ได้ง่ายขึ้น
เพื่อถอดความ/แปลเสียงที่กำหนด
./ggml/bin/unity --model seamlessM4T_medium.ggml input.wav
สำหรับรายละเอียดการสร้างและการใช้งานเพิ่มเติมโปรดตรวจสอบ unity.cpp
เราสร้างชุดข้อมูลการแปลคำพูดเป็นคำพูดสองชุด Mexpresso และ Mdral ระหว่างภาษาอังกฤษและอีกห้าภาษา-ฝรั่งเศสเยอรมันอิตาลีแมนดารินและสเปน ขณะนี้เราเปิดแหล่งข้อมูลคำพูดเป็น Mexpresso สำหรับทิศทางที่ไม่เป็นภาษาอังกฤษและเราจะเปิดแหล่งข้อมูลส่วนที่เหลือของชุดข้อมูลในไม่ช้า สำหรับรายละเอียดโปรดตรวจสอบ readme
เรากำลังแนะนำขั้นตอนการจัดตำแหน่งคำพูดที่แสดงออกครั้งแรก เริ่มต้นด้วยข้อมูลดิบขั้นตอนการจัดตำแหน่งที่แสดงออกโดยอัตโนมัติจะค้นพบคู่ของกลุ่มเสียงที่แบ่งปันไม่เพียง แต่ความหมายเดียวกันเท่านั้น แต่ยังเป็นการแสดงออกโดยรวมที่เหมือนกัน เพื่อแสดงขั้นตอนนี้เรากำลังทำให้ข้อมูลเมตาพร้อมใช้งานเพื่อสร้างชุดข้อมูลการเปรียบเทียบที่เรียกว่า SeamlessalignExpressive ซึ่งสามารถใช้เพื่อตรวจสอบคุณภาพของวิธีการจัดตำแหน่งของเรา SeamlessalignExpressive เป็นคอลเล็กชั่นขนาดใหญ่ (11K+ ชั่วโมง) ครั้งแรกของการจัดตำแหน่งเสียงหลายภาษาสำหรับการแปลที่แสดงออก รายละเอียดเพิ่มเติมสามารถพบได้ใน readme แบบไร้รอยต่อ
โปรดตรวจสอบ readme ที่นี่ โปรดทราบว่าแบบจำลอง SeamlessM4T V1 ใช้หน่วยที่ลดลงและรุ่นอื่น ๆ ใช้หน่วยที่ไม่ได้ลดลง
การสื่อสารที่ไร้รอยต่อขึ้นอยู่กับ 4 ห้องสมุดที่พัฒนาโดย Meta
Fairseq2 เป็นห้องสมุดโอเพนซอร์ซรุ่นต่อไปของเราของส่วนประกอบการสร้างแบบจำลองลำดับที่ให้นักวิจัยและนักพัฒนาที่มีการสร้างบล็อกสำหรับการแปลเครื่องการสร้างแบบจำลองภาษาและงานสร้างลำดับอื่น ๆ แบบจำลอง SeamlessM4T ทั้งหมดในที่เก็บนี้ขับเคลื่อนโดย Fairseq2
Sonar, การเป็นตัวแทนหลายรูปแบบและภาษาที่ไม่เชื่อเรื่องภาษาเป็นประโยคการฝังประโยคที่มีหลายภาษาและการฝังประโยคใหม่ซึ่งมีประสิทธิภาพสูงกว่าประโยคที่มีอยู่การฝังตัวเช่น Laser3 และ Labse บน XSIM และ XSIM ++ งานค้นหาที่คล้ายคลึงกันหลายภาษา Sonar จัดทำตัวเข้ารหัสข้อความและคำพูดสำหรับหลายภาษา Seamlessalign ถูกขุดขึ้นอยู่กับ Sonar Embeddings
Blaser 2.0 เป็นตัวชี้วัดการประเมินผลแบบจำลองล่าสุดของเราสำหรับการแปลหลายรูปแบบ มันเป็นส่วนขยายของ Blaser สนับสนุนทั้งคำพูดและข้อความ มันทำงานโดยตรงกับสัญญาณต้นฉบับและไม่จำเป็นต้องใช้ระบบ ASR ระดับกลางเช่น ASR-Bleu เช่นเดียวกับในเวอร์ชันแรก Blaser 2.0 ใช้ประโยชน์จากความคล้ายคลึงกันระหว่างการฝังตัวของอินพุตและประโยคเอาต์พุต Sonar เป็นพื้นที่ฝังตัวสำหรับ Blaser 2.0 สคริปต์เพื่อเรียกใช้การประเมินผลด้วย Blaser 2.0 สามารถพบได้ใน Sonar Repo
ในฐานะส่วนหนึ่งของโครงการสื่อสารที่ไร้รอยต่อเราได้ขยายห้องสมุดหยุด เวอร์ชัน 1 จัดทำเครื่องมือขุดข้อความเป็นข้อความเพื่อสร้างชุดข้อมูลการฝึกอบรมสำหรับรูปแบบการแปล เวอร์ชัน 2 ได้รับการขยายขอบคุณ Sonar เพื่อสนับสนุนงานเกี่ยวกับการฝึกอบรมแบบจำลองการแปลคำพูดขนาดใหญ่ โดยเฉพาะอย่างยิ่งเรามีเครื่องมือในการอ่าน/เขียนชุดข้อมูล Audiozip Fairseq และไปป์ไลน์การขุดใหม่ที่สามารถทำคำพูดเพื่อพูดคำพูดข้อความคำพูดเป็นข้อความและข้อความเป็นข้อความทั้งหมด พื้นที่ฝังโซนาร์ใหม่
Simuleval เป็นห้องสมุดที่ใช้สำหรับการประเมินแบบจำลองการแปลแบบจำลอง Simuleval ยังให้แบ็กเอนด์สำหรับรุ่นโดยใช้อินพุตบางส่วน/เพิ่มขึ้นพร้อมสถานะที่ยืดหยุ่น/ขยายได้ซึ่งใช้ในการใช้การอนุมานการสตรีม ผู้ใช้กำหนดตัวแทนที่ใช้อินเทอร์เฟซของ Simuleval ซึ่งสามารถเชื่อมต่อเข้าด้วยกันในท่อ คุณสามารถค้นหาตัวแทนที่นำไปใช้เพื่อการส่งต่อได้ที่นี่
โปรดตรวจสอบ readme ที่นี่
นอกเหนือจากรุ่นที่ไม่มีรอยต่อขนาดใหญ่ (2.3b) และรุ่นปานกลาง (1.2b) เรายังปล่อยรุ่นเล็ก ๆ (281m) เป้าหมายสำหรับการอนุมานบนอุปกรณ์ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับรายละเอียดการใช้งานและแบบจำลองตรวจสอบ readme ที่นี่
เราเปิดแหล่งข้อมูลเมตาไปสู่ Seamlessalign ซึ่งเป็นชุดข้อมูลแบบเปิดที่ใหญ่ที่สุดสำหรับการแปลหลายรูปแบบรวมเป็น 270k+ ชั่วโมงของการจัดตำแหน่งและข้อมูลข้อความ ชุดข้อมูลสามารถสร้างขึ้นใหม่โดยชุมชนตาม readme ที่ไร้รอยต่อ
หากคุณใช้อย่างราบรื่นในงานของคุณหรือรุ่น/ชุดข้อมูล/สิ่งประดิษฐ์ใด ๆ ที่เผยแพร่ใน 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 ตามที่พบใน mit_license:
รุ่นต่อไปนี้ได้รับใบอนุญาต CC-by-NC 4.0 ตามที่พบในใบอนุญาต:
รุ่นต่อไปนี้ได้รับใบอนุญาตไร้รอยต่อตามที่พบใน Seamless_license: