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.
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ă | Cuantificare | Dimensiune | Calculează | HuggingFace |
|---|---|---|---|---|
| MADLAD-400-3B-MT | INT4 | ~1,7 GB | Metal GPU (MLX) | aufklare/MADLAD400-3B-MT-MLX (int4/) |
| MADLAD-400-3B-MT | INT8 | ~3.1 GB | Metal 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)
| Parametru | Implicit | Descriere |
|---|---|---|
temperature | 0.0 | 0 = lacomi. 0.6–0.8 pentru variaţia parafrazării. |
topK | 0 | Top-K cutoff (0 = dezactivat). |
topP | 1.0 | S-a întrerupt prelevarea de probe de nucleu. |
maxTokens | 256 | Capac greu pe lungimea de ieșire. |
repetitionPenalty | 1.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.