chi-vi/hirashiba-mt-ja2vi
Viewer • Updated • 2.44M • 15
MarianMT (4 encoder layers / 8 decoder layers, d_model=512) dịch tiếng Nhật → tiếng Việt, train từ đầu trên light-novel/web-novel song song.
| Kiến trúc | MarianMT, encoder 4L / decoder 8L, 8 heads, ffn 2048 |
| Params | ~96M |
| Vocab | 32,000 SentencePiece BPE riêng cho mỗi bên (ja / vi) |
| Max position | 512 |
| Dữ liệu train | ~2.55M cặp câu đã lọc (hirashiba-mt-ja2vi + higa jp-vi), ~8.5 epochs |
| Tokenizer | MarianTokenizer với SentencePiece BPE riêng ja/vi |
| Model | BLEU | chrF++ |
|---|---|---|
| transformers (beam 4) | 30.66 | 48.89 |
| ONNX fp32 (greedy) | 30.50 | 48.66 |
| ONNX int8 (greedy, lm_head fp32) | 29.85 | 48.33 |
from transformers import MarianMTModel, MarianTokenizer
tok = MarianTokenizer.from_pretrained("USER/hirashiba-mt-medium-ja-vi")
model = MarianMTModel.from_pretrained("USER/hirashiba-mt-medium-ja-vi").eval()
text = "「私が勝手に部屋へ入っても、本当にいいの?」"
enc = tok(text, return_tensors="pt")
gen = model.generate(**enc, num_beams=4, max_new_tokens=192)
print(tok.batch_decode(gen, skip_special_tokens=True))
./ — model PyTorch (transformers) + tokenizeronnx/ — ONNX fp32 (encoder.onnx + decoder.onnx), greedy decodeonnx-int8/ — ONNX int8 dynamic (giữ lm_head fp32 để bảo toàn chất lượng)Lưu ý: bản ONNX dùng greedy decode; với beam search hãy dùng bản transformers.