Terjemahan mesin · Versi asli bahasa Inggris
MADLAD-400 Terjemahan (On- Device, 400+ Bahasa)
MADLAD-400-3B-MT adalah T5 v1.1 encoder- model decoder dari Google terlatih untuk many-to- banyak terjemahan mesin di seluruh Bahasa 400+. Apache 2.0. Soniqo build runs as quantized MLX Safetensors (INT4 / INT8) Apple Silicon tanpa panggilan awan, jatuhkan setelah itu. ASR untuk hidup captioning, setelah TTS persiapan untuk multibahasa agen suara, atau menggunakannya standalone.
speech transcribe meeting.wav | speech translate --to es - binari yang sama, bahasa target adalah satu-satunya masukan yang diperlukan. Bahasa sumber adalah auto- terdeteksi oleh penyandi; Anda hanya menentukan apa yang Anda inginkan diterjemahkan ke.
Cepat Mulai
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
Arsitektur
T5 v1.1 encoder-decoder, ~3Parameter B. 32 penyandi + 32 lapisan-lapisan yang indah-indah. d_model = 1024, d_kv = 128, num_heads = 16, gated GeLU FFN (d_ff = 8192Posisi informasi tiba melalui dipelajari bias posisi relatif (32 ember, jarak maksimal 128) alih-alih dikorupsi posisi - bidirectional dalam enkoder, unidirectional (pastonly) dalam decoder. Tabel bias hanya tinggal di lapisan pertama dari setiap stack dan disebarkan melalui lapisan berikutnya. Perhatian adalah tidak skala oleh 1/√d_k - Itu adalah T5 quirk.
Perhatian silang K / V dihitung sekali dari keluaran enkoder dan digunakan kembali untuk setiap langkah decode (cache in DecoderLayerCache.crossAttn). Decoder perhatian diri-perhatian KV cache tumbuh per token yang dihasilkan. Decoding greedy adalah baku dan direkomendasikan untuk terjemahan; suhu / top-k / top-p sampling terkena untuk penggunaan gaya paraphrase- gaya.
Variants Model
| Varian | Kuantisasi | Ukuran | Komputer | 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 /) |
Bahasa Target
Nyatakan target sebagai kode bahasa yang digunakan dalam kosakata MADLAD (biasanya ISO 639-1 seperti es, fr, zh, ja, plus 400+ varian regional seperti yue untuk Kanton, min_nan Untuk Hokkien). The tokenizer menyelesaikan <2{lang}> via direct commance lookup and throw MADLADTranslationError.unsupportedLanguage jika kode tidak dikenal. Bahasa sumber terdeteksi otomatis dari masukan - anda tidak menspesifikasinya.
// 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)")
}
Konfigurasi Sampling
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 | Baku | Deskripsi |
|---|---|---|
temperature | 0.0 | 0 = serakah. Bump ke 0.6- 0.8 untuk variasi paraphrase. |
topK | 0 | Top-K cutoff (0 = dinonaktifkan). |
topP | 1.0 | Nucleus sampling cutoff. |
maxTokens | 256 | Hard cap pada panjang keluaran. |
repetitionPenalty | 1.0 | & gt; 1 penalizes token recatly-generated. |
Konversi
The MLX safetensors at aufklarer / MADLAD400-3B-MT-MLX adalah kuantisasi dari asli google / madlad400-3b-mt via mx.quantize (Ukuran kelompok 64). q/k/v/o, wi_0/wi_1/wo, lm_head, dan shared pencampuran adalah kuantisasi; lapisan skala norma dan tabel relative- position- bias disimpan sebagai fp16. MADLAD 's hanya HF embedding kunci (decoder.embed_tokens.weight) adalah diganti nama ke shared.weight pada waktu konversi sehingga baik enkoder dan decoder menggunakan kembali itu.
Lisensi
Apache 2.0 (mewarisi dari google / madlad400-3b-mt). Model kartu daftar set penuh dari kode bahasa yang didukung.