Tłumaczenie automatyczne · Oryginał angielski

Hibiki Zero-3B Speech Translation (FR / ES / PT / DE → PL)

Hibiki Zero-3B jest Kyutai streaming speech- to- przemówienie tłumaczenie model - wejście 24 strumień audio kHz w języku francuskim, hiszpańskim, portugalskim lub niemieckim; wyjście 24 kHz angielski strumień audio plus równoległy angielski zapis tekstu przy tym samym 12.5 Szybkość ramki Hz. Moshi/Mimi architektura wielostrumieniowa: jeden transformator tylko dekoder wspólnie modeluje strumień kodek źródłowy-audio i docelowy tekst + strumienie audio, więc nie ma oddzielnego ASR + MT + TTS rurociąg. Soniqo build runs as quantized MLX sejfy (INT4 domyślny, INT8 dostępne) w całości na Apple Silicon. CC-BY-4.0.

Kiedy dotrzeć do Hibiki vs ASR + MADLAD

Pipe- style ASR + MADLAD (speech transcribe | speech translate) otrzymuje Ci języki 400+, ale dodaje latencję z trzech modeli. Hibiki jest jednym modelem end- to- end i zachowuje prosodie - wybierz go, gdy potrzebujesz Przemówienie na żywo w języku docelowym Zamiast pisać SMS-y.

Szybki 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 to transformator wielostrumieniowy z parametrem 3.1B-. Strumienie 33 na ramkę: jeden strumień tekstowy, 16 Kodebook audio (wyjście agenta), oraz 16 kodebook audio źródłowy (wejście użytkownika). Na każdym modelu 80 ms ramka próbki jeden token tekstowy plus 16 kody audio za pomocą małej warstwy 6- depformer który uruchamia podstopnie 16 na klatkę, jeden na target codebook, z zaplanowanym fragmentem 9-plasterem wieloliniowym.

Kodek audio jest Mimi w kodach 12.5 Hz / 16. Źródło audio jest kodowane do kodowania 16 strumień źródłowy (opóźnienie [0, 2, 2, …, 2]); generowany docelowy dźwięk wypełnia KDE 16 (ten sam wzorzec opóźnienia); per- codebook un- shift jest stosowany zanim Mimi odkoduje cel z powrotem do 24 kHz English PCM. Rdzeń skroniowy to warstwy 28 GQA (dim = 2048, 16 głowice zapytania, 8 głowice KV, kv_repeat = 2, split- half RoPE rope_concat, bez odżywki - Zero jest wariantem bezwarunkowym).

Pętla dekodowa

Hibiki emituje żetony wyściełające SPM (id 3) podczas gdy gromadzi wystarczająco dużo kontekstu źródłowego, aby przetłumaczyć, a następnie text- EOS (id 2). Kierowca Swift działa do czasu pobrania próbek EOS za oknem źródłowym, ograniczona do max(tSrc × 5/2, tSrc + 20) kroki związane z bezpieczeństwem. Wyjście działa w przybliżeniu 1.0- 1.6 × czas trwania wejścia na klipy w stylu FLEURS-; dzwoniący nie powinni zakładać output_duration == input_duration.

Autoregresywna ścieżka sprzężenia zwrotnego nie jest oczywista: na etapie t transformator odczytuje żetony w indeksie bufora krok (jednorodne we wszystkich strumieniach 33, z init- token podstawieniem, gdy step ≤ delays[k]); tekst z próby + kody docelowe 16 są zapisywane w indeksie krok + 1. To lusterka w górę Moshi lm.py gdzie: state.offsets += 1 dzieje się przed rozproszeniem pamięci. text_emb wiersz dla EOS (id 2) jest aliatowany do wiersza 3 (PAD) w czasie ciężaru, lustrzanie Kyutai 's loaders.py:312 "domyślnie zastąpić wczesny system EOS plastrem PAD" - każdy system EOS pobrany podczas audiostreamingu jest nieszkodliwy, tylko system EOS po źródle kończy pętlę.

Warianty modelu

WariantIlościowanieRozmiarObliczHuggingFace
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

Pokrycie językowe

Hibiki Zero-3B jest przeszkolony na Francuski, hiszpański, portugalski i niemiecki → Angielski. Kierowca Swift automatycznie wykrywa język źródłowy; --source-lang flaga to tylko metadane.

ŹródłoStatusPróbka chciwa wydajność
FRStrict E2E canary"więc to jest trasa narciarska". (z "Pensez à l 'itinéraire de ski"...)
ESStrict E2E canary"Panowie, dane są niepokojące". (próbka Hibiki europarl)
PTTylko warn (content- believe, lower keyword recalling)"piątym c jest p męczennika". (FLEURS PT)
DETylko warn (content- believe, lower keyword recalling)"które nie wydawały mi się przydatne". (FLEURS DE)
FLEURS hiszpański jest poza dystrybucją

16 kHz zapis ludzki FLEURS Hiszpańskie klipy wyzwalają degenerację generacji w obu Python w górę rzeki i w dół rzeki Swift port (Python emity 1643 kroki / ~131 s zepsutego dźwięku bez pobierania próbek EOS). Swift ES regresja kanarek wykorzystuje 5 s wycięty fragment z własnej przestrzeni próbek Kyutai (kyutai / próbki hibiki- zero) w audio generowanym przez 24 kHz, który pasuje do dystrybucji treningowej i produkuje czysty angielski. Jeśli karmisz Hibiki hiszpańskim w produkcji, pre- odtworzyć do 24 KHz i trzymać się dłuższych klipów (5 s +).

Zmienne środowiska

ZmiennaEfekt
HIBIKI_GREEDY=1Wymuś dekodowanie argmax zarówno dla tekstu, jak i dla dźwięku docelowego. Powtórzalne - używane przez ścisłych kanarków CI.
HIBIKI_E2E=1Włącza przypadki testowe E2E (wymaga pobrania modelu ~ 2.7 GB).
HIBIKI_STRICT_ALL=1Promowanie testów PT / DE od ostrzeżeń - tylko do rygorystycznych.
HIBIKI_LENIENT=1Wywołać testy FR / ES ze ścisłego do ostrzegającego (tylko debugowanie).
HIBIKI_MODEL_ID=<repo>Pomiń domyślną aufklarer/Hibiki-Zero-3B-MLX-4bit Model ID.

Wydajność (M2 Max, MLX 4- bit)

MetricGreedyPróbki
Opóźnienie w trakcie etapu75 ms- 95 ms
Wall- clock for 3.54 s FR source- 5 s- 7 s
Czas trwania produkcji1,0- 1,6 × źródło1,0- 1,6 × źródło

Znane ograniczenia

Odniesienia