Hy-MT2-1.8B for WMT26 — Full-Parameter SFT Checkpoint

This repository contains the full-parameter supervised fine-tuning (full-SFT) checkpoint of Hy-MT2-1.8B submitted to the WMT26 Chinese–Southeast Asian multilingual translation shared task. It is the exact model used to generate the blind-test translations submitted on 2026-08-20.

Author

Zesheng Shi
System developer, model trainer, and repository maintainer for this WMT26 submission.

See AUTHORS.md for the repository authorship record.

Submitted branch: Full-parameter SFT (not the LoRA branch). Under matched data, seed, and evaluation conditions, full-parameter SFT outperforms LoRA SFT on all 14 directions (see Validation results below and docs/wmt26_hymt2_1_8b_paper_emnlp.pdf).


Model summary

Field Value
Base model Tencent-Hunyuan/Hy-MT2-1.8B (downloaded from ModelScope)
Adaptation lineage Hy-MT2-1.8B → CPT 1-epoch (monolingual continued pretraining) → Full-parameter SFT
Architecture HunYuanDenseV1ForCausalLM (model_type: hunyuan_v1_dense)
Parameters 1.8B (≤ 20B → complies with shared-task size limit)
Precision bfloat16
Context cutoff 4,096 train / 2,048 max new tokens at inference
Languages Chinese (ZH) ↔ 7 Southeast Asian languages: ID, TH, KM, MS, VI, MY, LO
License Apache-2.0 (inherited from the Hy-MT2-1.8B base model)

⚠️ Loading requirement (important)

HunYuanDenseV1ForCausalLM is a native transformers architecture — present in transformers>=4.57.6 (verified in the live venv venvs/hymt2-1_8b-wmt26; model_doc/hunyuan_v1_dense). The config.json contains no auto_map, so trust_remote_code is NOT required and no custom modeling_*.py is needed. The config.json declares transformers_version: "4.57.6", which matches the actual runtime — install exactly this version (or newer) to be safe.

pip install "transformers>=4.57.6" torch accelerate safetensors
# exact pinned versions for full reproducibility: see code/requirements.txt

Covered translation directions (14)

Family Directions
Southeast Asian → Chinese ID–ZH, TH–ZH, KM–ZH, MS–ZH, VI–ZH, MY–ZH, LO–ZH
Chinese → Southeast Asian ZH–ID, ZH–TH, ZH–KM, ZH–MS, ZH–VI, ZH–MY, ZH–LO

Quick start

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained(
    ".",                      # this repository
    torch_dtype="auto",
    device_map="auto",
    # trust_remote_code=False  (default) — architecture is native (verified on transformers 4.57.6)
)
tokenizer = AutoTokenizer.from_pretrained(".")

src_lang, tgt_lang = "Thai", "Chinese"
src_text = "สวัสดีครับ ยินดีที่ได้รู้จัก"

messages = [{
    "role": "user",
    "content": (
        f"Translate the following {src_lang} into {tgt_lang}. "
        f"Output only the translation and do not add explanations.\n{src_text}"
    ),
}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=2048, do_sample=False)  # temperature=0 / greedy
print(tokenizer.decode(out[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))

The production inference script (code/generate_wmt26_translations.py) applies the same instruction contract and chat template, shards the validation set across GPUs, and stops on the end-of-sequence marker (2,048 is an upper bound, not a target length).


Repository layout

hymt2-1_8b-wmt26-full-sft-hf/
├── model.safetensors            # full-parameter SFT weights (bf16, ~3.8 GB)
├── config.json                  # architecture = HunYuanDenseV1ForCausalLM
├── generation_config.json
├── tokenizer.json
├── tokenizer_config.json
├── special_tokens_map.json
├── chat_template.jinja
├── eval_results.json            # validation metrics for this checkpoint
├── AUTHORS.md                   # authorship and repository-maintainer record
├── README.md                    # this file
├── code/                        # inference + reproduction (authored in train/wmt26, uploaded as-is)
│   ├── generate_wmt26_translations.py   # native Transformers inference
│   ├── start_wmt26_vllm_4gpu.sh         # optional 4×80G vLLM serving (throughput only)
│   ├── record_wmt26_environment.py      # dumps environment manifest (deps/versions)
│   ├── hymt2_1_8b_wmt26_full_sft.yaml    # exact full-SFT training config
│   ├── WMT26_RUNBOOK_CN.md               # end-to-end reproduction runbook
│   ├── WMT26_EVAL_HANDOFF_CN.md          # evaluation handoff notes
│   └── requirements.txt                 # pinned dependency versions (live venv: venvs/hymt2-1_8b-wmt26)
├── docs/
│   └── wmt26_hymt2_1_8b_paper_emnlp.pdf  # system description (EMNLP-format)
└── evidence/                    # version-provenance archive (kept locally; lora-* contrast branches NOT uploaded)
    ├── evaluation/full-sft-best/        # confirms this repo == the 2026-08-20 blind-test submission
    └── records/                        # training logs + environment manifest (mirrored to code/)

Training / data-prep / scoring helper scripts that are not required for inference or reproduction are intentionally omitted from this repository; they live in the project's train/wmt26/ source tree.


Training configuration (full-parameter SFT)

Setting Value
Initialization CPT 1-epoch checkpoint
Trainable parameters All model parameters
Learning rate 1×10⁻⁵
Epochs 3
Per-device batch size 4
Gradient accumulation 4
Context cutoff 4,096 tokens
Precision bf16
Seed 2026
Checkpoint selection lowest validation loss (load_best_model_at_end)

Validation results (26,474-example reconstructed validation set)

Direction BLEU COMET Q
ID–ZH 65.99 85.98 75.98
ZH–ID 52.94 88.70 70.82
TH–ZH 47.74 83.87 65.80
ZH–TH 13.37 85.23 49.30
KM–ZH 44.51 84.66 64.58
ZH–KM 18.25 86.96 52.60
MS–ZH 63.88 85.67 74.77
ZH–MS 47.98 88.21 68.09
VI–ZH 61.12 88.16 74.64
ZH–VI 57.37 91.22 74.29
MY–ZH 42.61 85.72 64.17
ZH–MY 6.12 88.67 47.39
LO–ZH 31.02 81.91 56.47
ZH–LO 10.09 78.61 44.35
Macro average 40.21 85.97 63.09

COMET is reported on a 0–100 scale; the auxiliary quality score Q = (BLEU + COMET) / 2. These are validation-set numbers; the organizer-held blind test is kept separate and was not used for checkpoint selection, prompt design, or decoding-parameter tuning.


Evaluation notes

  • Quality metrics (sacreBLEU, COMET): computed by code/ in a separate scoring environment to avoid mixing training and scoring dependencies.
  • Throughput: measured by the shared-task organizers on a 4×80 GB platform. The bundled start_wmt26_vllm_4gpu.sh is provided for diagnostic throughput only and is not required for the quality comparison.

System description

The full methodology, data construction (leakage-controlled), staged CPT→SFT design, and direction-level analysis are described in docs/wmt26_hymt2_1_8b_paper_emnlp.pdf ("Hy-MT2-1.8B for WMT26: Staged Multilingual Adaptation for Chinese–Southeast Asian Translation").

Downloads last month
19
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support