HachimiMT-30 zh→vi — ONNX cho trình duyệt (transformers.js)

Bản ONNX của ngocdang83/HachimiMT-30-zh-vi (MarianMT ~31M tham số, 6 encoder / 2 decoder, dịch tiếng Trung → tiếng Việt, tối ưu cho truyện mạng/tiên hiệp), đóng gói để chạy trực tiếp trong trình duyệt bằng 🤗 Transformers.js.

Lưu ý: đừng nhầm với DanVP/MoxhiMT-30 — một model khác (8 encoder / 2 decoder, ~37M) dùng vocab khác, không tương thích với bộ ONNX/tokenizer này.

🖥️ Demo: DanVP/moxhimt — dịch hoàn toàn trên thiết bị, không gửi văn bản lên máy chủ.

File

File Kích thước Ghi chú
onnx/encoder_model_quantized.onnx ~26 MB int8 động (QUInt8, per-channel) — mặc định cho WASM
onnx/decoder_model_merged_quantized.onnx ~29 MB int8 động, quantize cả subgraph của node If
onnx/encoder_model_fp16.onnx / decoder_model_merged_fp16.onnx ~51 / 57 MB cho WebGPU
onnx/encoder_model.onnx / decoder_model_merged.onnx ~102 / 113 MB fp32 gốc

Chất lượng q8 đã đối chiếu với PyTorch fp32: bản dịch giống hệt trên bộ câu thử.

Tokenizer

source.spm của model gốc là SentencePiece BPE (byte_fallback=true), vì vậy tokenizer.json ở đây được dựng bằng tokenizers.models.BPE với merges trích từ spm (không dùng Unigram như script chuyển đổi Marian thông thường — Unigram sẽ tách sai với spm kiểu BPE). Encode/decode đã được kiểm tra khớp 100% với MarianTokenizer gốc.

Dùng với Transformers.js

import { pipeline } from '@huggingface/transformers';

const translator = await pipeline('translation', 'DanVP/HachimiMT-30-zh-vi-onnx', {
  dtype: 'q8', // hoặc { encoder_model: 'q8', decoder_model_merged: 'q8' }
});
const out = await translator('他抬起头,看见月光下的剑冢。', { max_new_tokens: 128 });
// → "Hắn ngẩng đầu, nhìn thấy Kiếm Trủng dưới ánh trăng."

Gợi ý khi chạy trên mobile (tránh OOM trên iOS Safari): tách văn bản theo câu thành chunk ≤ ~192 token, pad về vài bucket cố định, dịch tuần tự num_beams: 1, và đặt env.backends.onnx.wasm.numThreads = 1 trên iOS. Xem source của Space demo để tham khảo.

Ghi công

  • Trọng số gốc: ngocdang83/HachimiMT-30-zh-vi
  • Export bằng 🤗 Optimum (text2text-generation-with-past), quantize bằng ONNX Runtime (quantize_dynamic, EnableSubgraph=True).
Downloads last month
68
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DanVP/HachimiMT-30-zh-vi-onnx

Quantized
(1)
this model

Space using DanVP/HachimiMT-30-zh-vi-onnx 1