Traducere automată · Originalul în engleză

Traducere MADLAD-400 (On-Device, 400+ Limbi)

MADLAD-400-3B-MT este un model T5 v1.1 decodor-decodor de la Google antrenat pentru multi-la-multe mașini de traducere peste Limbi 400+. Apache 2.0. Soniqo construiește rulează ca quantized MLX Securizare (INT4 / INT8) on Apple Silicon fără să sune norul. ASR pentru subtitrare live, după TTS Pregăteşte-te pentru agenţi multilingvi de voce, sau foloseşte-l de unul singur.

Conductă de la ASR

speech transcribe meeting.wav | speech translate --to es același binar, limba țintă este singura intrare necesară. Limba sursă este auto-detectată de codor; specificati doar ceea ce doriti tradus în .

Start rapid

import MADLADTranslation

let translator = try await MADLADTranslator.fromPretrained()

// Greedy decode (recommended default)
let es = try translator.translate("Hello, how are you?", to: "es")
// → "Hola, ¿cómo estás?"

let zh = try translator.translate("Where is the library?", to: "zh")
// → "图书馆在哪里?"

// Streaming
for try await piece in translator.translateStream("Good morning", to: "fr") {
    print(piece, terminator: "")
}

CLI

speech translate "Hello, how are you?" --to es
speech translate "Bonjour" --to en --quantization int8
speech translate "Hello world" --to es --stream
speech translate --to fr --json    # JSON with timing metrics

# Pipe from ASR
speech transcribe meeting.wav | speech translate --to es

Arhitectură

T5 v1.1 codor-decodor,3 Parametrii B. 32 codor + 32 straturi de decodor; d_model = 1024, d_kv = 128, num_heads = 16, gated Gelu FFN (d_ff = 8192) Informaţiile despre poziţie sosesc printr-un studiu Prejudiciu relativ (32 găleți, max distanță 128) în loc de pozitii înglobări nu scalat de 1/√d_k E un capriciu T5.

Atentie incrucisata K/V este calculata odata din productia de codor si reutilizata pentru fiecare pas de decodare (decodor in DecoderLayerCache.crossAttn). Decodorul se auto-attentioneaza KV cache creste pe jeton generat. Decodarea lacoma este implicita si recomandata pentru traducere; temperatura / top-k / top-p de esantionare este expusa pentru utilizarea in stil parafraza.

Model Variante

VariantăCuantificareDimensiune CalculeazăHuggingFace
MADLAD-400-3B-MTINT4~1,7 GBMetal GPU (MLX)aufklare/MADLAD400-3B-MT-MLX (int4/)
MADLAD-400-3B-MTINT8~3.1 GBMetal GPU (MLX)aufklarer/MADLAD400-3B-MT-MLX (int8/)

Limbi țintă

A se preciza ținta ca fiind codul lingvistic utilizat în vocabularul MADLAD (de obicei ISO 639-1 like es, fr, zh, ja, plus variante regionale 400+, cum ar fi yue pentru cantoneză; min_nan pentru Hokkien). Tokenizer rezolvă <2{lang}> prin căutarea directă a vocabularului și aruncări MADLADTranslationError.unsupportedLanguage în cazul în care codul nu este recunoscut. Limba sursă este auto-detectat de intrare

// Errors out if the language code isn't in MADLAD's vocab.
do {
    let _ = try translator.translate("Hello", to: "xx")
} catch MADLADTranslationError.unsupportedLanguage(let code) {
    print("MADLAD doesn't support: \(code)")
}

Configurare eșantionare

let sampling = TranslationSamplingConfig(
    temperature: 0.0,        // greedy (default, recommended for MT)
    topK: 0,                 // disabled
    topP: 1.0,               // disabled
    maxTokens: 256,
    repetitionPenalty: 1.0
)
let result = try translator.translate("Long-form text…", to: "es", sampling: sampling)
ParametruImplicit Descriere
temperature0.00 = lacomi. 0.6–0.8 pentru variaţia parafrazării.
topK0Top-K cutoff (0 = dezactivat).
topP1.0S-a întrerupt prelevarea de probe de nucleu.
maxTokens256Capac greu pe lungimea de ieșire.
repetitionPenalty1.0>1 penalizeaza jetoane recent generate.

Conversie

Seifetensors MLX la aufklaer/MADLAD400-3B-MT-MLX sunt cuantizate din original Google/madlad400-3b-mt prin mx.quantize (dimensiunea grupului 64). q/k/v/o, wi_0/wi_1/wo, lm_head, și shared înglobarea sunt cuantizate; solzi de reglare a stratului și tabelul relative-poziție-bias sunt păstrate ca fp16. MADLAD numai HF tasta de înglobare (decoder.embed_tokens.weight) este redenumit shared.weight la ora de conversie, atât codorul cât și decodorul îl reutilizează.

Licență

Apache 2.0 (moştenit din google/madlad400-3b-mt). Model de card enumeră setul complet de coduri lingvistice acceptate.