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.

Pipa dari ASR

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

VarianKuantisasiUkuranKomputerHuggingFace
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 /)

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)
ParameterBakuDeskripsi
temperature0.00 = serakah. Bump ke 0.6- 0.8 untuk variasi paraphrase.
topK0Top-K cutoff (0 = dinonaktifkan).
topP1.0Nucleus sampling cutoff.
maxTokens256Hard cap pada panjang keluaran.
repetitionPenalty1.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.