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ä.
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 | Laske | 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/) |
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)
| Parametri | Oletus | Tavaran kuvaus |
|---|---|---|
temperature | 0.0 | 0 = ahne. Nosta 0,6...0,8, jos käytetään parafraasivaihtelua. |
topK | 0 | Top-K cutoff (0 = ei käytössä). |
topP | 1.0 | Nucleus-näytteen katkaisu. |
maxTokens | 256 | Kova korkki lähtöpituudelle. |
repetitionPenalty | 1.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.