Strojový překlad · Anglický originál
Hibiki Zero-3B Překlady slov (FR / ES / PT / DE → EN)
Hibiki Zero-3B je Kyutai streaming speech- to- speak translation model - vstup je 24 audio stream kHz ve francouzštině, španělštině, portugalštině nebo němčině; výstup je 24 kHz anglický audio stream plus paralelní anglický textový přepis 12.5 Hz frekvence rámu. Moshi/Mimi multistream architektura: jediný dekodér - pouze transformátor společně modely source- audio kodek proud a cílový text + audio proudy, takže není žádný samostatný ASR + MT + TTS ropovod. Soniqo build runs as quantized MLX safetensorové (INT4 výchozí hodnota, INT8 k dispozici) v plném rozsahu Apple Silicon. CC-BY-4.0.
ASR + MADLAD (speech transcribe | speech translate) dostane 400+ jazyky, ale přidává kruhový výlet latence tří modelů. Hibiki je jeden model end- to- end a zachovává prosody - vybrat, když potřebujete živá řeč v cílovém jazyce než jen textovku.
Rychlý start
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
Architektura
Hibiki Zero-3B je parametr 3.1B-dekodér pouze multistreamový transformátor. Model se společně účastní nad 33 proudy na rámeček: jeden textový proud, Target- audio kódy 16 (výstup agenta), a 16 source- audio kódy (vstup uživatele). Na každém rámu 80 je model vzorkem jednoho textového token plus 16 audio kódy pomocí malé 6-layer depformer který běží 16 podkroky na rám, jeden na cílový kód, s 9- plátek plánované MultiLinear projekci.
Audio kodek je Mimi v kódech 12.5 Hz / 16. Zdrojový zvuk je zakódován do zdrojového kódu 16 (zpoždění) [0, 2, 2, …, 2]); generovaný cílový zvuk vyplní kódové kódy 16 target- stream (stejný vzor zpoždění); per- codebook un- shift je aplikován před Mimi dekóduje cíl zpět na 24 kHz English PCM. Časová páteř je 28 GQA vrstvy (dim = 2048, 16 hlavy dotazu, 8 KV hlavy, kv_repeat = 2, rozštěpený - polovina RoPE rope_concat, žádný kondicionér - Nula je bezpodmínečná varianta).
Decode Loop
Hibiki emituje SPM plovací žetony (id 3) zatímco to akumuluje dostatek zdrojového kontextu přeložit, pak obsah textových tokeny s odpovídající cíl audio, a nakonec text- EOS (id 2). Swift ovladač běží dokud není EOS odebrán vzorek z okna zdroje, s limitem max(tSrc × 5/2, tSrc + 20) kroky jako bezpečnostní vázání. Výstup běží zhruba 1.0-1.6 × doba trvání vstupu na klipy ve stylu FLEURS-; volající by neměli předpokládat output_duration == input_duration.
Autoregresivní cesta zpětné vazby není zřejmá: v krocích t transformátor čte tokeny na cache indexu krok (uniforma napříč všemi proudy 33, s init- token substituce, když step ≤ delays[k]); v indexu jsou zapsány vybrané texty + cílové kódy 16 step + 1. Tato zrcátka proti proudu Moshi lm.py kde state.offsets += 1 To se stane před tím, než se ten cache rozptýlí. text_emb řádek pro EOS (id 2) je aliased to row 3 (PAD) at heavy-load time, mirroring Kyutai 's loaders.py:312 "implicitně nahradit časné EOS PAD" patch - každý EOS odebraný během audio-streaming okna je neškodný, pouze post-source EOS ukončuje smyčku.
Vzor Variantů
| Varianta | Kvantizace | Velikost | Vypočítejte | 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 |
Jazykové pokrytí
Hibiki Zero-3B je vyškolen na Francouzština, španělština, portugalština a němčina → Angličtina. Swift ovladač automaticky detekuje zdrojový jazyk; --source-lang vlajka je pouze metadata.
| Zdroj | Stav | Vzorek nenasytný výstup |
|---|---|---|
| FR | Přísný kanárek E2E | "takže je to lyžařská trasa." (z "Pensez à l 'itinéraire de ski...") |
| ES | Přísný kanárek E2E | "Pánové, data jsou znepokojující." (Hibiki europarl vzorek) |
| PT | Warn- only (content- faith-, nižší klíčová slova stažení) | "Pátá c je p mučedníka." (FLEURS PT) |
| DE | Warn- only (content- faith-, nižší klíčová slova stažení) | "to mi nepřipadalo užitečné." (FLEURS DE) |
16 kHz lidsky zaznamenané FLEURS španělské klipy spouštěcí degenerační generaci v obou Python proti proudu a Swift port (Python emituje 1643 kroky / ~ 131 s rozbitým zvukem bez odběru vzorků EOS). Swift ES regresní kanář používá zkrácený excerpt 5 z vlastního prostoru pro vzorky Kyutai (vzorky kyutai / hibiki- zero) v 24 kHz TTS- generovaný zvuk, který odpovídá rozdělení školení a produkuje čistou angličtinu. Pokud krmíte Hibiki španělsky ve výrobě, pre- resample na 24 kHz a držet na delší klipy (5 s +).
Proměnné životního prostředí
| Proměnná | Účinek |
|---|---|
HIBIKI_GREEDY=1 | Force argmax dekódování jak pro text a cíl audio. Reproduciable - používá přísné CI kanály. |
HIBIKI_E2E=1 | Povolit zkušební případy E2E (vyžaduje ~ 2.7 GB model ke stažení). |
HIBIKI_STRICT_ALL=1 | Podporovat PT / DE testy od varovacího až po striktní. |
HIBIKI_LENIENT=1 | Demonstrujte testy FR / ES od striktního až po varovné (pouze ladění). |
HIBIKI_MODEL_ID=<repo> | Zrušit výchozí aufklarer/Hibiki-Zero-3B-MLX-4bit model ID. |
Výkon (M2 Max, MLX 4-bit)
| Metrické | Greedy | Vzorek |
|---|---|---|
| Trvalá zpoždění | ~ 75 ms | ~ 95 ms |
| Tapety pro 3.54 s zdroj FR | ~ 5 s | ~ 7 s |
| Doba trvání výstupu | 1.0-1.6 × zdroj | 1.0-1.6 × zdroj |
Známá omezení
translateStream()Vydává jeden poslední kus. Proudový vstupní bod v současné době zahaluje offlinetranslate(). True per- chunk Mimi streaming decode is a v2 follow- up.- Žádný dekodér SentencePick. V
--transcriptSPM dekódování kabeláže je sledování. - Vzorkovaný režim je znatelně hlučnější než nenasytný. Použití
HIBIKI_GREEDY=1pro reprodukovatelné běhy. - Pouze množství. Repo v současné době lodě Zero-3B 4-bit a 8-bit; 1B a 2B Hibiki varianty existují v převodníku (
models/hibiki/export/convert.py) ale Swift cíle řidiče Zero-3B GQA + lane _ concat + non-condicioned layout.
Odkazy
- Papír: High- Fidelity Simultánní Speech-to-Speech Translation (Kyutai, 2025)
- Kód směrem nahoru: kyutai- labs / hibiki
- Vzorky: vzorky kyutai / hibiki- zero
- Licence: CC-BY-4.0