Model Card: mBART-50 Fine-tuned for Hrê - Vietnamese Translation

Mô hình này là một phiên bản tinh chỉnh (fine-tuned) của cấu trúc mBART-50, được thiết kế đặc thù để xử lý bài toán dịch máy song ngữ giữa tiếng Việt (Vietnamese) và tiếng Hrê (Hre) – một ngôn ngữ thiểu số thuộc dải tài nguyên cực thấp (extremely low-resource).

Chi tiết Mô hình (Model Details)

  • Kiến trúc cơ sở: mBART-50 (Multilingual BART)
  • Tác vụ (Task): Translation (Dịch máy Seq2Seq)
  • Ngôn ngữ hỗ trợ: Tiếng Việt (vi_VN), Tiếng Hrê (hre)
  • Định dạng trọng số: PyTorch

Mục đích Sử dụng (Intended Use)

  • Phù hợp cho: Dịch thuật trực tiếp các văn bản hành chính cơ bản, tài liệu giáo dục và giao tiếp thông thường từ tiếng Việt sang tiếng Hrê và ngược lại.
  • Không phù hợp cho: Các văn bản mang tính pháp lý cao, y tế chuyên sâu, hoặc các câu ghép có cấu trúc ngữ pháp quá phức tạp chưa từng xuất hiện trong tập huấn luyện.

Cấu trúc Dữ liệu Huấn luyện (Training Data)

Do sự khan hiếm của ngữ liệu tiếng Hrê, tập dữ liệu huấn luyện đã được thiết kế và tăng cường theo phương pháp tiêm từ điển (Dictionary Injection) và xáo trộn cấu trúc (Data Augmentation). Tổng số lượng mẫu dữ liệu đầu vào là 6.612 mẫu, bao gồm:

Loại Dữ liệu Khối lượng Mô tả chi tiết
Dữ liệu Lõi (Ground Truth) 1.154 mẫu Gồm 335 câu gốc (dịch sát nghĩa 1:1) và 242 câu Hrê bổ sung từ bài khóa tài liệu. Toàn bộ tập này được nhân bản 2 lần (Oversampling) để neo giữ cấu trúc ngữ pháp chuẩn xác cho mạng nơ-ron.
Tập Từ điển (Dictionary) 2.684 mẫu Gồm các từ vựng đơn lẻ và câu cực ngắn, đóng vai trò giải quyết hiện tượng phân mảnh hình thái và từ hiếm (OOV).
Dữ liệu Tăng cường: Cấu trúc 778 mẫu Sinh ra từ kỹ thuật làm nhiễu có kiểm soát (Masking/Deletion), cắt cụm (Chunking) theo dấu câu và đảo vế mệnh đề.
Dữ liệu Tăng cường: Từ vựng 1.996 mẫu Sinh ra từ kỹ thuật thay thế từ vựng "mù" (Heuristic Lexical Replacement) để ép mô hình học khung cấu trúc ngữ pháp thay vì học vẹt.
TỔNG CỘNG 6.612 mẫu Tập dữ liệu đã được gộp và xáo trộn ngẫu nhiên (Shuffle) hoàn toàn trước khi đưa vào mô hình.

Thông số Huấn luyện (Training Procedure & Hyperparameters)

Mô hình kế thừa toàn bộ bộ siêu tham số (hyperparameters) đã được tối ưu hóa cho kiến trúc Seq2Seq (tương tự M2M100_418M) nhằm tối đa hóa hiệu năng trên phần cứng khả dụng và chống tràn bộ nhớ (OOM).

  • Learning Rate: 3e-5
  • Scheduler: Cosine Annealing (lr_scheduler_type="cosine")
  • Warmup Steps: 100 bước (Khởi động tỷ lệ học chậm để tránh vỡ trọng số)
  • Epochs: 5
  • Batch Size (Per Device): 8
  • Gradient Accumulation Steps: 1
  • Gradient Checkpointing: True (Tối ưu hóa VRAM)
  • Dataloader Workers: 1 luồng CPU
  • Mixed Precision: FP16 (fp16=True)
  • Weight Decay: 0.01
  • Label Smoothing: 0.1 (Làm mịn nhãn 10% để giảm tự tin thái quá của mô hình và tăng cường sự chú ý vào các từ vựng Hrê hiếm).

Hạn chế và Rủi ro (Limitations & Biases)

  • Nhiễu dữ liệu sinh tạo: Do hơn 40% dữ liệu (2.774 mẫu) là dữ liệu tăng cường nhân tạo (Synthetic Data), mô hình đôi khi có thể sinh ra các bản dịch đúng ngữ pháp nhưng thiếu logic thực tế (semantic anomalies).
  • Thiên kiến dịch từng từ (Word-by-word bias): Việc tập từ điển chiếm tỷ trọng khá lớn có thể khiến mô hình ở một số trường hợp ưu tiên dịch ghép từ (literal translation) hơn là dịch thoát ý toàn câu.
  • Độ chính xác dấu câu: Các kỹ thuật tăng cường (đặc biệt là cắt cụm và đảo vế) dựa nhiều vào dấu phẩy, có thể làm thay đổi nhẹ sự phân bố dấu câu trong kết quả sinh ra.

Hướng dẫn Sử dụng nhanh (How to Use)

Bạn có thể khởi tạo mô hình và bộ tách từ (Tokenizer) thông qua thư viện transformers:

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

model_name = "ntviet/mbart50-hre-viet" # Thay bằng ID repo thực tế của bạn
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)

# Ví dụ dịch thuật
src_text = "Ne ta uông van zơ loh pagôq, eng nghea 'mang trương hnoq moiq ngai bôq đôiq lah."
inputs = tokenizer(src_text, return_tensors="pt")
translated_tokens = model.generate(**inputs, num_beams=5) # Sử dụng Beam Search = 5 khi inference
translated_text = tokenizer.decode(translated_tokens[0], skip_special_tokens=True)
print(translated_text)
Downloads last month
13
Safetensors
Model size
0.6B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Spaces using ntviet/mBart50-hre-viet 2