Maskinoversættelse · Engelsk original
MADLAD-400 Oversættelse (On- Device, 400+ Languages)
MADLAD-400-3B-MT er en T5 v1.1 encoder- dekoder model fra Google uddannet til many- to- mange maskinoversættelse på tværs af 400+ sprog. Apache 2.0. Soniqo bygge løbere som kvantiseret MLX safetensorer (INT4 / INT8) den Apple Silicon med ingen cloud opkald. Smid det efter ASR til direkte billedoptagelse, efter TTS prep for flersprogede voice agents, eller bruge det selvstændigt.
speech transcribe meeting.wav | speech translate --to es - samme binære, målsprog er det eneste nødvendige input. Kildesprog er auto- detekteret af encoder; du kun angive, hvad du ønsker det oversat til.
Hurtig start
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
Arkitektur
T5 v1.1 encoder- dekoder, ~ 3B parametre. 32 encoder + 32 dekoder lag, d_model = 1024, d_kv = 128, num_heads = 16, GELU FFN (d_ff = 8192). Positionsinformation ankommer via en lært relativ partiskhed i positionen (32 spande, max afstand 128) i stedet for position indlejringer - tovejs i encoder, ensrettet (kun past-) i dekoderen. Situationstabellen bor kun på det første lag af hver stak og er formeret gennem efterfølgende lag. Opmærksomhed scores ikke skaleret af 1/√d_k - Det er en T5 quirk.
Cross- opmærksomhed K / V er beregnet én gang fra encoder output og genbruges for hvert dekodertrin (cachet i DecoderLayerCache.crossAttn). Dekoder selv- opmærksomhed KV cache vokser pr genereret token. Greedy dekodning er standard og anbefales til oversættelse; temperatur / top- k / top- p prøvetagning er udsat for paraprase- stil brug.
Model Variants
| Variant | Kvantificering | Størrelse | Beregn | HuggingFace |
|---|---|---|---|---|
| MADLAD-400-3B-MT | INT4 | ~ 1,7 GB | Metal GPU (MLX) | aufklarer / MADLAD400-3B-MT-MLX (int4 /) |
| MADLAD-400-3B-MT | INT8 | ~ 3,1 GB | Metal GPU (MLX) | aufklarer / MADLAD400-3B-MT-MLX (int8 /) |
Målsprog
Angiv målet som sprogkoden i MADLADs ordforråd (typisk ISO 639- 1 som es, fr, zh, ja, plus 400+ regionale varianter såsom yue for Cantonese min_nan for Hokkien). Den proximizer løser <2{lang}> via direkte ordforråd opslag og kast MADLADTranslationError.unsupportedLanguage hvis koden ikke genkendes. Kildesprog detekteres automatisk fra inddata - du angiver det ikke.
// 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)")
}
Konfiguration af prøveudtagning
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)
| Parameter | Standard | Varebeskrivelse |
|---|---|---|
temperature | 0.0 | 0 = grådig. Bump til 0.6-0.8 for parafrase variation. |
topK | 0 | Top- K cutoff (0 = deaktiveret). |
topP | 1.0 | Nucleus sampling cutoff. |
maxTokens | 256 | Hårdt låg på udgangslængde. |
repetitionPenalty | 1.0 | & gt; 1 straffer nyligt genererede tokens. |
Konvertering
MLX-safetensorerne ved aufklarer / MADLAD400-3B-MT-MLX quantized from the original google / madlad400-3b-mt via mx.quantize (gruppestørrelse 64). q/k/v/o, wi_0/wi_1/wo, lm_head, og shared indlejring er kvantiseret; lag norm skalaer og relative- position- bias tabel holdes som fp16. MADLAD eneste HF indlejring nøgle (decoder.embed_tokens.weight) er omdøbt til shared.weight på konverteringstid, så både encoder og dekoder genbruge det.
Licens
Apache 2.0 google / madlad400-3b-mt). Model kort lister det fulde sæt af understøttede sprogkoder.