Terjemahan mesin · Versi asli bahasa Inggris
Hibiki Zero-3B Speech Translation (FR / ES / PT / DE SCREEN)
Hibiki Zero-3B adalah Kyutai streaming speech- to-speech translation model - masukan adalah 24 aliran audio kHz dalam bahasa Prancis, Spanyol, Portugis, atau Jerman; keluaran adalah 24 aliran audio bahasa Inggris kHz ditambah sebuah transkrip teks paralel Inggris di sama 12.5 Tingkat bingkai Hz. Moshi/Mimi multistream arsitektur: sebuah decoder-hanya transformer model bersama-sama dari source-audio codec stream dan target teks + audio stream, jadi tidak ada terpisah ASR + MT + TTS Jalur pipa. Soniqo build runs as quantized MLX Safetensors (INT4 baku, INT8 tersedia) seluruhnya pada Apple Silicon. CC-BY-4.0.
Model ASR + MADLAD (speech transcribe | speech translate) membuat Anda 400+ Hibiki adalah salah satu model akhir dan mempertahankan prosody - pilih ketika Anda perlu live speech in the target language bukan hanya teks.
Cepat Mulai
import HibikiTranslate
import AudioCommon
let model = try await HibikiTranslateModel.fromPretrained()
let pcm = try AudioFileLoader.load(url: input, targetSampleRate: 24000)
let (englishAudio, textTokens) = model.translate(
sourceAudio: pcm,
sourceLanguage: .fr // .fr / .es / .pt / .de — auto-detected but pass for the metadata
)
try WAVWriter.write(samples: englishAudio, sampleRate: 24000, to: output)
CLI
speech audio-translate input_fr.wav -o out_en.wav --source-lang fr
speech audio-translate input_es.wav -o out_en.wav --source-lang es --quantization 8bit
speech audio-translate input_pt.wav -o out_en.wav --source-lang pt --verbose
# Deterministic mode (used by the CI regression canaries)
HIBIKI_GREEDY=1 speech audio-translate input_fr.wav -o out_en.wav --source-lang fr
# Inner-monologue text token IDs (raw — SPM decode is a follow-up)
speech audio-translate input.wav -o out.wav --transcript
Arsitektur
Hibiki Zero-3B adalah 3.1B-parameter decoder -hanya multistream transformer. Model bersama-sama menghadiri atas stream 33 per frame: satu teks stream, 16 target-audio codebooks (keluaran agen), dan 16 source- audio codebooks (masukan pengguna). Masing-masing 80 ms bingkai model sampel satu teks token ditambah 16 kode audio melalui kecil 6-layer Depformer yang berjalan 16 langkah demi langkah per frame, satu per target codebook, dengan sebuah 9-slice dijadwalkan MultiLinear proyeksi.
Codec audio adalah Mimi di 12.5 Hz / 16 codebooks. Audio sumber dikodekan ke 16 source- stream codebooks (tunda [0, 2, 2, …, 2]); target audio yang dihasilkan mengisi 16 target -stream codebooks (pola delay sama); per- codebook un- shift diterapkan sebelum Mimi dekode target kembali ke 24 kHz Inggris PCM, tulang punggung temporal 28 undo-typedim = 2048, 16 'Query heads', 8 Kepala K.V, kv_repeat = 2, split- setengahRoPE rope_concat, tidak ada conditioner - Nol adalah varian tanpa syarat).
Decode Loop
Token padding SPM untuk Hibiki (id 3) ketika mengumpulkan cukup sumber konteks untuk menerjemahkan, kemudian teks token isi dengan target audio yang cocok, dan akhirnya teks-EOS (id 2). driver Swift berjalan sampai EOS mencicipi melewati jendela sumber, capped di max(tSrc × 5/2, tSrc + 20) langkah-langkah sebagai batas keamanan keluaran berjalan kira-kira 1.0–1.6× durasi masukan pada klip gaya FLEURS; penelepon seharusnya tidak mengasumsikan output_duration == input_duration.
Path umpan balik autoregresif tidak jelas: di langkah t transformer membaca token pada indeks cache langkah (seragam di seluruh semua 33 stream, dengan init- token substitusi ketika step ≤ delays[k]); teks contoh + 16 kode target ditulis pada indeks langkah + 1Ini cermin hulu Moshi lm.py dimana state.offsets += 1 terjadi sebelum cache scatter. text_emb baris untuk EOS (id 2) adalah alignity untuk baris 3 (PAD) pada berat waktu - beban, mencerminkan Kyutai 's loaders.py:312 "secara implisit mengganti EOS awal dengan PAD" patch - eOS contoh apapun selama jendela audio- streaming tidak berbahaya, hanya posting-sumber EOS mengakhiri loop.
Variants Model
| Varian | Kuantisasi | Ukuran | Komputer | HuggingFace |
|---|---|---|---|---|
| Hibiki Zero-3B | INT4 | ~ 2.7 GB | Metal GPU (MLX) | aufklarer / Hibiki-Zero-3B-MLX-4bit |
| Hibiki Zero-3B | INT8 | ~ 3.9 GB | Metal GPU (MLX) | aufklarer / Hibiki-Zero-3B-MLX-8bit |
Lipatan Bahasa
Hibiki Zero-3B dilatih pada Perancis, Spanyol, Portugis, dan Jerman Inggris. Swift driver otomatis mendeteksi bahasa sumber; --source-lang flag hanya metadata.
| Sumber | Status | Contoh keluaran serakah |
|---|---|---|
| FR | Luruskan canary E2E | "Jadi ini rute ski". (Dari "Pensez à l 'itinéraire de ski"...) |
| ES | Luruskan canary E2E | "Tuan-tuan, datanya mengkhawatirkan". (Sampel eurroparl Hibiki) |
| PT | Warn-saja (content-faithful, lower keyword recall) | "c kelima adalah p dari martir". (FLEURS PT) |
| DE | Warn-saja (content-faithful, lower keyword recall) | "yang tampaknya tidak berguna bagiku". (FLEURS DE) |
16 kHz human- direkam FLEURS Jepitan Spanyol memicu generasi merosot di kedua Python upstream dan Swift port (Python emits 1643 langkah-langkah / ~131 s dari audio rusak tanpa sampling EOS). The Swift E regresi canary menggunakan 5 s dipangkas excerpt dari ruang sampel sendiri Kyutai (kyutai / hibiki- zero- sampel) 24 audio kHz TTS-generated, yang cocok dengan distribusi pelatihan dan menghasilkan bahasa Inggris yang bersih. Jika Anda memberi makan Hibiki Spanyol dalam produksi, sebelum-sampel ulang ke 24 kHz dan tetap pada klip lebih panjang (5 s +).
Variabel Lingkungan
| Variabel | Efek |
|---|---|
HIBIKI_GREEDY=1 | Paksa pengkodean argmax baik untuk teks maupun audio target. Dapat direproduksi - digunakan oleh canary CI yang ketat. |
HIBIKI_E2E=1 | Aktifkan E2E tes case (membutuhkan ~ 2.7 model download). |
HIBIKI_STRICT_ALL=1 | Uji PT / DE dari perang hanya untuk digariskan. |
HIBIKI_LENIENT=1 | December FR / ES tes dari ketat ke perang - hanya (debug saja). |
HIBIKI_MODEL_ID=<repo> | Timpa default aufklarer/Hibiki-Zero-3B-MLX-4bit Model id. |
Performance (M2 Max, MLX 4- bit)
| Metrik | Serakah | Samped |
|---|---|---|
| Per- langkah latensi | ~ 75 md | ~ 95 md |
| Wall-clock untuk sumber FR 3.54 s | ~ 5 s | ~ 7 s |
| Durasi keluaran | Sumber 1.0- 1.6 × | Sumber 1.0- 1.6 × |
Batas Dikenal
translateStream()memancarkan sepotong terakhir tunggal. Titik entri streaming saat ini menutup luringtranslate()Orang sejati Mimi streaming decode adalah diikuti v2.- Tidak ada sandi teks SentencePiece. The
--transcriptTandai ID tanda mentah SPM kabel decode adalah follow- up. - Mode yang sama terlihat lebih berisik daripada serakah. Gunakan
HIBIKI_GREEDY=1untuk reproduksi berjalan. - Hanya Quantization. Repo saat ini kapal Zero-3B 4-bit dan 8-bit; 1B dan 2Variasi Hibiki B ada di converter (
models/hibiki/export/convert.py) tapi pengemudi Swift menarget Zero-3B 's GQA + rope _ concat + non- conditioned layout.
Referensi
- Kertas: Sojang-Sopan-Kilat-Simultanas Pidato-Ke-Pidato Terjemahan (Kyutai, 2025)
- Kode upstream: kyutai- lab / hibiki
- Sampel: kyutai / hibiki- zero- sampel
- Lisensi: CC-BY-4.0