CoolFace
Modelpublic

foksly/wmt26-constrained-submission

sourceHugging Faceotherupdated 2mo agoView on Hugging Face
0likes109downloads
Model Card

8B submission to the WMT26 General MT task

This repository contains our constrained submission to the WMT26 General Machine Translation task. The model translates English into Russian, Belarusian, Kazakh, and Armenian. It is an approximately 8B-parameter decoder-only causal language model.

Model details

PropertyValue
Model typeDecoder-only causal language model
ParametersApproximately 8B
Source languageEnglish
Target languagesRussian, Belarusian, Kazakh, Armenian
Context length32,768 tokens
LicenseSee `LICENSE`

Usage

The repository includes `inference.py`, which supports plain translation prompts, the four WMT26 domain prompts, and custom instructions. It uses greedy decoding and prints only the generated translation to standard output.

Install the required packages:

bash
python -m pip install "torch>=2.1" "transformers>=4.46.3,<5" accelerate sentencepiece packaging

Translate a string into Russian:

bash
python inference.py \
  --target ru \
  --text "The agreement will enter into force next month."

Use one of the WMT26 domain instructions:

bash
python inference.py \
  --target kk \
  --domain news \
  --text "The committee announced the results on Tuesday."

The supported domain values are social, speech, news, and software. The source text can also be supplied through standard input. Use --prompt or --prompt-file to provide a custom instruction.

Transformers example

python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "foksly/wmt26-constrained-submission"
tokenizer = AutoTokenizer.from_pretrained(model_id, use_fast=False)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16,
    device_map="auto",
).eval()

prompt = """Переведи с английского на казахский:
The committee announced the results on Tuesday."""
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(
    output[0, inputs["input_ids"].shape[1]:],
    skip_special_tokens=True,
))

Evaluation

We evaluate the released checkpoint against five public models with at most 20B parameters. These are local evaluation results, not official WMT26 scores.

BOUQuET

The following paragraph-level results use the BOUQuET references. MetricX uses the `google/metricx-24-hybrid-xxl-v2p6` checkpoint.

ChrF++ (higher is better)
Systemen-ruen-been-kken-hy
Our Model62.358.055.353.5
TranslateGemma-12B62.254.947.950.1
Qwen-3.5-9B60.149.148.349.6
MADLAD-400-10B59.454.246.850.3
NLLB-200-3.3B57.452.147.852.8
GPT-OSS-20B51.929.349.012.9
MetricX-24-XXL (lower is better)
Systemen-ruen-been-kken-hy
Our Model1.583.873.445.41
TranslateGemma-12B1.523.835.606.30
Qwen-3.5-9B2.225.735.527.32
MADLAD-400-10B4.795.565.867.13
NLLB-200-3.3B6.017.637.106.35
GPT-OSS-20B2.726.165.829.18

WMT25 General MT source paragraphs

We also translate the official English source paragraphs from the WMT25 General MT task and evaluate them with ORBIT-SC using GPT-5.4 as a single judge. The MQM score is computed as 5 × Major + Minor from the predicted error spans.

Accuracy (higher is better)
Systemen-ruen-been-kken-hy
Our Model81.669.169.952.2
TranslateGemma-12B73.959.147.241.8
Qwen-3.5-9B69.651.146.239.1
MADLAD-400-10B32.540.540.828.3
NLLB-200-3.3B39.733.832.235.0
GPT-OSS-20B62.440.940.830.2
Fluency (higher is better)
Systemen-ruen-been-kken-hy
Our Model85.369.572.054.0
TranslateGemma-12B81.264.452.548.1
Qwen-3.5-9B72.751.851.444.8
MADLAD-400-10B32.544.848.437.5
NLLB-200-3.3B40.333.835.736.4
GPT-OSS-20B63.539.342.329.4
MQM (lower is better)
Systemen-ruen-been-kken-hy
Our Model11.324.222.337.6
TranslateGemma-12B17.930.840.943.8
Qwen-3.5-9B21.438.540.846.4
MADLAD-400-10B34.538.640.131.7\*
NLLB-200-3.3B39.546.045.546.2
GPT-OSS-20B27.246.844.552.4

\* The MADLAD English-to-Armenian MQM value is affected by the count-based aggregation of a small number of long critical spans. Its low value should not be interpreted as strong translation quality.

License

The model is distributed under the terms in `LICENSE`. Review the license before using or redistributing the model.