Konekäännös · Englanninkielinen alkuperäinen

MADLAD-400 Käännös (On-Device, 400+ Kielet)

MADLAD-400-3B-MT on T5 v1.1 kooderi-dekooderimalli Googlesta koulutettu moniin konekäännöksiin 400+ kielet. Apache 2.0. Soniqo-rakenne toimii kvantitasoituina MLX -safetensorina (INT4 / INT8) Apple Silicon:llä ilman pilvipuheluja. Pudota se ASR in jälkeen livekuvaukseen, sen jälkeen kun TTS on valmisteltu monikielisille ääniagenteille, tai käytä sitä erillisenä.

Putki ASR

speech transcribe meeting.wav | speech translate --to es ... sama binääri, kohdekieli on ainoa vaadittu syöte. Lähdekieli on automaattisesti havaitsema encoder; voit vain määrittää mitä haluat sen kääntää osaksi .

Pikakäynnistys

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: "")
}

KLI

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

Arkkitehtuuri

T5 v1.1-kooderi-dekooderi, ~3B-parametrit. 32 -enkooderi + 32 d_model = 1024, d_kv = 128, num_heads = 16, aidattu GeLU FFN (d_ff = 8192) Asematiedot saapuvat opitun suhteellinen asennon harha (32 kauhat, max etäisyys 128) sijasta position upotetaan . Kaksisuuntainen koodain, yksisuuntainen (pas-vain) dekooderi. Partitiopöytä elää vain ensimmäisellä tasolla kunkin pinon ja lisätään kautta myöhemmin kerrokset. Huomio pisteet ovat ei skaalataan 1/√d_k Se on T5-juoni.

Cross-a Huomio K/V lasketaan kerran koodaajan lähdöstä ja käytetään uudelleen jokaiseen dekoodausvaiheeseen (välimuistissa DecoderLayerCache.crossAttn). Dekooderin itsehuomio KV välimuisti kasvaa per luotu kuponki. Ahne dekoodaus on oletus ja suositellaan kääntämiseen; lämpötila / top-k / top - p näyte on altis parafrase-tyyliselle käytölle.

Mallivaihtoehdot

Variantti Määrä Koko LaskeHuggingFace
MADLAD-400-3B-MTINT4~1,7 GBMetal GPU (MLX)aufklarer/MADLAD400-3B-MT-MLX (int4/)
MADLAD-400-3B-MTINT8~3,1 GBMetal GPU (MLX)aufklarer/MADLAD400-3B-MT-MLX (int8/)

Kohdekielet

Määritä kohde kielikoodiksi, jota käytetään MADLADin sanastossa (tyypillisesti ISO 639-1:n kaltainen kielikoodi) es, fr, zh, ja, plus 400+ alueelliset vaihtoehdot, kuten yue kantonin osalta, min_nan Hokkienille). Tokeneizer ratkaisee <2{lang}> suoralla sanastolla etsimällä ja heittää MADLADTranslationError.unsupportedLanguage jos koodia ei tunnisteta. Lähdekieli on automaattisesti havaittu syöte ... et määrittele sitä.

// 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)")
}

Näytteenottoasetukset

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)
ParametriOletus Tavaran kuvaus
temperature0.00 = ahne. Nosta 0,6...0,8, jos käytetään parafraasivaihtelua.
topK0Top-K cutoff (0 = ei käytössä).
topP1.0Nucleus-näytteen katkaisu.
maxTokens256Kova korkki lähtöpituudelle.
repetitionPenalty1.0> 1 rankaisee äskettäin luotuja rahakkeita.

Muuntaminen

MLX-turvaportit osoitteessa aufklarer/MADLAD400-3B-MT-MLX on kvantitatiivinen alkuperäisestä google/madlad400-3b-mt via mx.quantize (ryhmän koko 64). q/k/v/o, wi_0/wi_1/wo, lm_head, shared upottaminen on kvantitatiivinen; kerroksen normivaaka ja suhteellinen-asema-bias taulukko pidetään fp16. MADLAD ainoa HF upotusavain (decoder.embed_tokens.weight) on nimetty shared.weight konversion aikana niin sekä koodaaja ja dekooderi uudelleenkäyttö sen.

Lisenssi

Apache 2.0 (peritty google/madlad400-3b-mt). Mallikorttiluettelossa on kaikki tuetut kielikoodit.