Maskinoversættelse · Engelsk original

Hibiki Zero-3B Taleoversættelse (FR / ES / PT / DE → DA)

Hibiki Zero-3B er Kyutais streaming Speech- to- tale oversættelse model - input er en 24 kHz lydstrøm på fransk, spansk, portugisisk eller tysk; output er en 24 kHz English audio stream plus en parallel engelsk tekst udskrift på samme 12.5 Hz-frame rate. Bygget på Moshi/Mimi multistream arkitektur: en enkelt dekoder-kun transformer i fællesskab modellerer source- audio codec stream og måltekst + audio streams, så der er ingen separat ASR + MT + TTS rørledningen. Soniqo bygge løbere som kvantiseret MLX safetensorer (INT4 standard INT8 ), der er til rådighed, helt og holdent på Apple Silicon. CC-BY-4.0.

Hvornår skal man nå Hibiki vs. ASR + MADLAD

Pipe- style ASR + MADLAD (speech transcribe | speech translate) får dig 400+ sprog, men tilføjer rundtur latency af tre modeller. Hibiki er en model end-to-end og bevarer prosody - vælge det, når du har brug for levende tale i målsproget I stedet for bare at skrive.

Hurtig 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

Arkitektur

Hibiki Formand Zero-3B er et 3.1B- parameter dekoder -kun multistream transformer. Modellen i fællesskab deltager over 33-strømme per frame: en tekststream, 16 target- audio codebooks (agenten output), og 16 source- audio-codebookes (brugerens input). På hver 80 ms ramme modellen prøver en tekst token plus 16 lydkoder via et lille 6- lag depformer der kører 16 deltrin pr. ramme, en pr. mål kodebog, med en 9- skive skemalagt MultiLinear projektion.

Lydkoden er Mimi på 12.5 Hz / 16 kodebooks. Kildelyd er kodet ind i 16 source- stream kodebooks (forsinkelse) [0, 2, 2, …, 2]); genereret mål lyd fylder 16 target- stream kodebooks (samme forsinkelse mønster); per- codebook un- shift anvendes, før Mimi afkoder målet tilbage til 24 kHz engelsk PCM. Den tidsmæssige rygrad er 28 GQA lag (dim = 2048, 16 søgesedler 8 KV-hoveder kv_repeat = 2, split- halve RoPE rope_concat, ingen balsam - Nul er den betingelsesløse variant).

Decode- loopName

Hibiki udsender SPM-polstring- tokens (id 3) mens det akkumuleres nok kilde kontekst til at oversætte, så indhold tekst tokens med matchende mål lyd, og endelig tekst- EOS (id 2). Swift driveren kører indtil EOS er udtaget forbi kildevinduet, udjævnet til max(tSrc × 5/2, tSrc + 20) trin som en sikkerhed bundet. Output kører omtrent 1.0- 1.6 × input varighed på FLEURS- stil klip; ringer bør ikke antage output_duration == input_duration.

Den autoregressive feedback sti er non- indlysende: på trin t transformatoren læser tokens ved cache index trin (ensartet på tværs af alle 33-strømme, med init- token substitution, når step ≤ delays[k]); teksten i stikprøven + 16 målkoder er skrevet ved indeks step + 1. Dette spejle opstrøms Moshi lm.py hvor state.offsets += 1 sker før cache spredning. text_emb række for EOS (id 2) er aliased til række 3 (PAD) ved vægt- belastning tid, spejling Kyutai 's loaders.py:312 "Udskift implicit tidlig EOS med PAD" patch - enhver EOS, der udtages prøver under audiostreaming vinduet er harmløst, kun post-source EOS afslutter løkken.

Model Variants

VariantKvantificeringStørrelseBeregnHuggingFace
Hibiki Zero-3BINT4~ 2,7 GBMetal GPU (MLX)aufklarer / Hibiki-Zero-3B-MLX-4bit
Hibiki Zero-3BINT8~ 3,9 GBMetal GPU (MLX)aufklarer / Hibiki-Zero-3B-MLX-8bit

Sprogdækning

Hibiki Zero-3B er uddannet på Fransk, spansk, portugisisk og tysk → engelsk. Swift driver automatisk detekterer kildesproget; --source-lang Flaget er kun metadata.

KildeStatusPrøvegrå udgang
FRStreng E2E kanariefugl"så det er en skirute". (fra "Pensez à l 'itinéraire de ski"...)
ESStreng E2E kanariefugl"Mine herrer, dataene er bekymrende". (Hibiki europarl prøve)
PTWarn- kun (indhold- trofaste, lavere søgeord tilbagekaldelse)"Den femte c er p af martyr". (FLEURS PT)
DEWarn- kun (indhold- trofaste, lavere søgeord tilbagekaldelse)"Det virkede ikke nyttigt".FLEURS DE)
FLEURS Spansk er out- of- distribution

16 kHz human- indspillede FLEURS spanske klip udløser degenerator generation i både Python opstrøms og Swift port (Python udsender 1643 trin / ~ 131 s af brudt lyd uden at tage prøver EOS). Swift ES regressionskanalen bruger en 5 's trimmet excerpt fra Kyutais eget prøveareal (kyutai / hibiki- zero- prøver) på 24 kHz TTS- genereret lyd, som matcher træningsdistributionen og producerer rent engelsk. Hvis du fodrer Hibiki spansk i produktionen, pre- respelle til 24 KHz og holde sig til længere klip (5 s +).

Miljøvariabler

VariabelVirkning
HIBIKI_GREEDY=1Tving argmax afkodning for både tekst og mållyd. Reproducerbar - bruges af de strenge CI kanarier.
HIBIKI_E2E=1Aktivér E2E testcases (kræver ~ 2.7 GB model download).
HIBIKI_STRICT_ALL=1Fremme PT / DE test fra warn-kun til streng.
HIBIKI_LENIENT=1Påviser FR / ES test fra streng til kun warn (kun fejlsøgning).
HIBIKI_MODEL_ID=<repo>Overlad standardværdien aufklarer/Hibiki-Zero-3B-MLX-4bit model id.

Ydeevne (M2 Max, MLX 4- bit)

MetricGrådigtSamplet
Per- step latency~ 75 ms~ 95 ms
Wall- ur til 3,54 s FR kilde~ 5 s~ 7 s
Udgangsvarighed1.0- 1.6 × kilde1.0- 1.6 × kilde

Kendte begrænsninger

Henvisninger