MADLAD-400 अनुवाद (ऑन-डिवाइस, 400+ भाषाएँ)
MADLAD-400-3B-MT, Google का T5 v1.1 एन्कोडर-डिकोडर मॉडल है जिसे 400+ भाषाओं में बहु-दिशात्मक मशीनी अनुवाद के लिए प्रशिक्षित किया गया है। Apache 2.0. Soniqo बिल्ड Apple Silicon पर क्वांटाइज्ड MLX safetensors (INT4 / INT8) के रूप में चलता है — कोई क्लाउड कॉल नहीं। ASR के बाद लाइव कैप्शनिंग, TTS से पहले बहुभाषी वॉयस एजेंट्स, या स्टैंडअलोन — कहीं भी इस्तेमाल करें।
audio transcribe meeting.wav | audio translate --to es — एक ही बाइनरी; एकमात्र आवश्यक इनपुट लक्ष्य भाषा है। स्रोत भाषा एन्कोडर स्वतः पहचान लेता है, आप केवल बताते हैं कि किस भाषा में अनुवाद करना है।
त्वरित शुरुआत
import MADLADTranslation
let translator = try await MADLADTranslator.fromPretrained()
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")
// → "图书馆在哪里?"
for try await piece in translator.translateStream("Good morning", to: "fr") {
print(piece, terminator: "")
}
CLI
audio translate "Hello, how are you?" --to es
audio translate "Bonjour" --to en --quantization int8
audio translate "Hello world" --to es --stream
audio translate --to fr --json # JSON with timing metrics
# Pipe from ASR
audio transcribe meeting.wav | audio translate --to es
आर्किटेक्चर
T5 v1.1 एन्कोडर-डिकोडर, ~3B पैरामीटर। 32 एन्कोडर + 32 डिकोडर लेयर्स, d_model = 1024, d_kv = 128, num_heads = 16, gated GeLU FFN (d_ff = 8192). स्थिति की सूचना पोज़िशन एम्बेडिंग के बजाय रिलेटिव पोज़िशन बायस (32 बकेट्स, अधिकतम दूरी 128) के रूप में आती है — एन्कोडर में द्विदिशात्मक, डिकोडर में एकदिशात्मक (केवल अतीत)। बायस तालिका हर स्टैक की पहली लेयर में ही मौजूद होती है और बाद की लेयर्स में प्रसारित होती है। ध्यान स्कोर्स को 1/√d_k से नहीं स्केल किया जाता — यह T5 की विशेषता है।
क्रॉस-अटेंशन का K/V एन्कोडर आउटपुट से एक बार गणना होता है और हर डिकोड चरण में पुनः उपयोग होता है (DecoderLayerCache.crossAttn में कैश)। डिकोडर सेल्फ-अटेंशन का KV कैश हर जनरेट किए गए टोकन के साथ बढ़ता है। अनुवाद के लिए ग्रीडी डिकोडिंग डिफ़ॉल्ट और अनुशंसित है; पैराफ्रेज़-शैली के उपयोगों के लिए temperature / top-k / top-p सैंपलिंग उपलब्ध है।
मॉडल वेरिएंट
| वेरिएंट | क्वांटाइजेशन | आकार | कंप्यूट | 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/) |
लक्ष्य भाषाएँ
लक्ष्य को MADLAD की शब्दावली में दिए गए भाषा कोड से निर्दिष्ट करें (आमतौर पर ISO 639-1 — es, fr, zh, ja, साथ ही 400+ क्षेत्रीय रूप जैसे कैंटोनीज़ के लिए yue या होक्किएन के लिए min_nan)। टोकनाइज़र <2{lang}> को सीधे शब्दावली लुकअप के माध्यम से हल करता है और अज्ञात कोड के लिए MADLADTranslationError.unsupportedLanguage थ्रो करता है। स्रोत भाषा इनपुट टेक्स्ट से स्वतः पहचानी जाती है — इसे न दें।
सैंपलिंग कॉन्फ़िग
let sampling = TranslationSamplingConfig(
temperature: 0.0,
topK: 0,
topP: 1.0,
maxTokens: 256,
repetitionPenalty: 1.0
)
let result = try translator.translate("Long-form text…", to: "es", sampling: sampling)
| पैरामीटर | डिफ़ॉल्ट | विवरण |
|---|---|---|
temperature | 0.0 | 0 = ग्रीडी। पैराफ्रेज़ बदलाव के लिए 0.6–0.8 करें। |
topK | 0 | Top-K कटऑफ (0 = अक्षम)। |
topP | 1.0 | Nucleus सैंपलिंग कटऑफ। |
maxTokens | 256 | आउटपुट लंबाई की कठोर सीमा। |
repetitionPenalty | 1.0 | >1 हाल ही में जनरेट हुए टोकन्स को दंडित करता है। |
रूपांतरण
aufklarer/MADLAD400-3B-MT-MLX पर MLX safetensors को google/madlad400-3b-mt से mx.quantize (ग्रुप साइज़ 64) के माध्यम से क्वांटाइज़ किया गया है। q/k/v/o, wi_0/wi_1/wo, lm_head और shared एम्बेडिंग क्वांटाइज़ किए गए हैं; layer norm स्केल्स और रिलेटिव पोज़िशन बायस तालिका fp16 में रहती है। MADLAD की एकमात्र HF एम्बेडिंग कुंजी (decoder.embed_tokens.weight) रूपांतरण के समय shared.weight के रूप में पुनर्नामित होती है ताकि एन्कोडर और डिकोडर दोनों उसका उपयोग कर सकें।
लाइसेंस
Apache 2.0 (google/madlad400-3b-mt से प्राप्त)। मॉडल कार्ड में समर्थित भाषा कोड्स की पूरी सूची है।