Instructions to use WPS-Qingqiu/Qingqiu-MT-9B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use WPS-Qingqiu/Qingqiu-MT-9B with Transformers:
# Use a pipeline as a high-level helper # Warning: Pipeline type "translation" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # 'pip install "transformers<5.0.0' from transformers import pipeline pipe = pipeline("translation", model="WPS-Qingqiu/Qingqiu-MT-9B")# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("WPS-Qingqiu/Qingqiu-MT-9B") model = AutoModelForMultimodalLM.from_pretrained("WPS-Qingqiu/Qingqiu-MT-9B", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Qingqiu-MT-9B
Model Introduction
Qingqiu-MT-9B is an instruction-following multilingual translation model from Kingsoft Office WPS-Qingqiu Team, released for the constrained track of the WMT26 General Machine Translation Shared Task.
It is based on Qwen/Qwen3.5-9B and primarily supports mutual translation among 20 languages, covering 22 of the 23 official WMT26 language pairs (excluding English→Northern Sámi). Unlike conventional MT settings that only provide source text and a target language, each sample also includes a natural-language translation instruction. The model is expected to follow that instruction and output only the translation.
License: Apache 2.0. For system details, see our WMT26 system paper (Qingqiu-MT-9B: An Instruction-Following Multilingual Translation Model).
System Overview
Figure: Qingqiu-MT-9B system overview — source-grounded instruction-translation data construction, two-stage SFT by data quality, and GRPO reinforcement learning.
Evaluation Results
We report development results on IF-WMT25 (main set; 5,239 samples covering 22 WMT26 directions) and IFMTBench multi-constraint subset (2,838 samples). Evaluation uses an LLM-as-a-judge protocol (GLM-5): for each source text and instruction, anonymous system outputs are scored jointly on Accuracy / Terminology / Format / Fluency / Style (0–100), and the overall score is a weighted sum with weights (0.40, 0.20, 0.15, 0.15, 0.10). Tables report pairwise Win / Lose / Gap (%) of Qingqiu-MT-9B vs each baseline (Gap = Win − Lose; ties counted in the denominator). Overall is sample-level aggregation over the full set.
Baselines: Qwen3.5-9B, HY-MT2-7B, Gemma4-12B, DeepSeek-v4-flash.
Overall summary
IF-WMT25
| Baseline | Win | Lose | Gap |
|---|---|---|---|
| Qwen3.5-9B | 83.2 | 13.7 | +69.5 |
| HY-MT2-7B | 52.4 | 40.8 | +11.6 |
| Gemma4-12B | 52.3 | 38.3 | +14.0 |
| DeepSeek-v4-flash | 38.7 | 52.4 | -13.7 |
IFMTBench (multi-constraint)
| Baseline | Win | Lose | Gap |
|---|---|---|---|
| Qwen3.5-9B | 52.5 | 26.6 | +25.9 |
| HY-MT2-7B | 45.9 | 28.5 | +17.4 |
| Gemma4-12B | 31.9 | 30.8 | +1.1 |
| DeepSeek-v4-flash | 28.3 | 38.8 | -10.5 |
IF-WMT25 (by direction)
| Direction | Qwen3.5-9B W/L/G | HY-MT2-7B W/L/G | Gemma4-12B W/L/G | DeepSeek-v4-flash W/L/G |
|---|---|---|---|---|
| cs→de | 81.1 / 18.9 / +62.2 | 45.2 / 52.4 / -7.2 | 44.8 / 48.0 / -3.2 | 29.9 / 63.8 / -33.9 |
| cs→uk | 84.1 / 15.1 / +69.0 | 43.9 / 52.0 / -8.1 | 53.4 / 42.5 / +10.9 | 29.9 / 63.8 / -33.9 |
| cs→vi | 80.3 / 17.3 / +63.0 | 61.6 / 36.8 / +24.8 | 46.6 / 40.6 / +6.0 | 46.5 / 48.0 / -1.5 |
| en→arz | 93.7 / 6.3 / +87.4 | 78.7 / 18.1 / +60.6 | 35.6 / 54.9 / -19.3 | 44.9 / 52.8 / -7.9 |
| en→be | 86.7 / 12.5 / +74.2 | -- | 82.8 / 12.8 / +70.0 | 29.5 / 62.3 / -32.8 |
| en→cs | 90.5 / 7.9 / +82.6 | 39.1 / 57.0 / -17.9 | 63.5 / 29.4 / +34.1 | 29.4 / 65.1 / -35.7 |
| en→de | 86.1 / 12.0 / +74.1 | 56.1 / 43.0 / +13.1 | 34.6 / 55.7 / -21.1 | 41.7 / 51.9 / -10.2 |
| en→et | 88.0 / 10.4 / +77.6 | -- | 81.1 / 16.9 / +64.2 | 27.2 / 68.8 / -41.6 |
| en→hy | 96.1 / 3.9 / +92.2 | -- | 76.4 / 22.4 / +54.0 | 41.1 / 57.3 / -16.2 |
| en→id | 80.8 / 15.4 / +65.4 | 44.4 / 55.6 / -11.2 | 37.5 / 57.8 / -20.3 | 48.8 / 43.9 / +4.9 |
| en→is | 94.5 / 5.5 / +89.0 | -- | 84.1 / 13.5 / +70.6 | 34.9 / 61.9 / -27.0 |
| en→ja | 83.5 / 13.4 / +70.1 | 39.3 / 55.7 / -16.4 | 31.5 / 52.2 / -20.7 | 29.9 / 55.9 / -26.0 |
| en→kk | 89.6 / 10.4 / +79.2 | 83.5 / 15.7 / +67.8 | 58.7 / 37.7 / +21.0 | 43.2 / 52.0 / -8.8 |
| en→ko | 86.6 / 11.0 / +75.6 | 44.5 / 48.4 / -3.9 | 31.0 / 61.9 / -30.9 | 43.2 / 48.0 / -4.8 |
| en→lij | 78.2 / 20.2 / +58.0 | -- | 67.7 / 26.3 / +41.4 | 52.0 / 44.0 / +8.0 |
| en→lld | 70.2 / 27.4 / +42.8 | -- | 79.7 / 17.6 / +62.1 | 53.7 / 39.7 / +14.0 |
| en→ru | 72.4 / 13.0 / +59.4 | 51.2 / 32.8 / +18.4 | 33.7 / 34.1 / -0.4 | 35.7 / 40.5 / -4.8 |
| en→th | 94.9 / 5.1 / +89.8 | 58.0 / 35.8 / +22.2 | 34.6 / 54.6 / -20.0 | 66.7 / 26.9 / +39.8 |
| en→uk | 87.2 / 6.4 / +80.8 | 46.8 / 46.0 / +0.8 | 38.6 / 52.6 / -14.0 | 29.5 / 57.4 / -27.9 |
| en→zh | 62.7 / 26.2 / +36.5 | 46.0 / 37.1 / +8.9 | 41.0 / 41.4 / -0.4 | 30.4 / 47.2 / -16.8 |
| en→zh-Hant | 61.0 / 30.9 / +30.1 | 48.0 / 35.4 / +12.6 | 37.5 / 47.8 / -10.3 | 33.1 / 48.8 / -15.7 |
| zh→ja | 85.9 / 9.4 / +76.5 | 50.8 / 35.9 / +14.9 | 42.5 / 37.2 / +5.3 | 45.7 / 40.2 / +5.5 |
| Overall | 83.2 / 13.7 / +69.5 | 52.4 / 40.8 / +11.6 | 52.3 / 38.3 / +14.0 | 38.7 / 52.4 / -13.7 |
IFMTBench multi-constraint (by direction)
| Direction | Qwen3.5-9B W/L/G | HY-MT2-7B W/L/G | Gemma4-12B W/L/G | DeepSeek-v4-flash W/L/G |
|---|---|---|---|---|
| de→en | 75.0 / 0.0 / +75.0 | 37.5 / 37.5 / 0.0 | 12.5 / 37.5 / -25.0 | 25.0 / 25.0 / 0.0 |
| en→de | 63.6 / 27.3 / +36.3 | 54.5 / 45.5 / +9.0 | 18.2 / 72.7 / -54.5 | 18.2 / 63.6 / -45.4 |
| en→ja | 64.3 / 21.4 / +42.9 | 40.0 / 33.3 / +6.7 | 53.3 / 26.7 / +26.6 | 28.6 / 35.7 / -7.1 |
| en→ko | 88.9 / 11.1 / +77.8 | 33.3 / 55.6 / -22.3 | 55.6 / 22.2 / +33.4 | 22.2 / 77.8 / -55.6 |
| en→zh | 43.5 / 34.8 / +8.7 | 42.6 / 31.3 / +11.3 | 30.8 / 29.1 / +1.7 | 23.1 / 41.0 / -17.9 |
| ja→en | 50.0 / 8.3 / +41.7 | 16.7 / 33.3 / -16.6 | 33.3 / 25.0 / +8.3 | 8.3 / 33.3 / -25.0 |
| ja→zh | 65.6 / 6.2 / +59.4 | 56.2 / 14.6 / +41.6 | 50.0 / 14.6 / +35.4 | 36.5 / 27.1 / +9.4 |
| ko→en | 64.3 / 14.3 / +50.0 | 21.4 / 35.7 / -14.3 | 21.4 / 35.7 / -14.3 | 42.9 / 21.4 / +21.5 |
| ko→zh | 47.4 / 36.8 / +10.6 | 42.1 / 26.3 / +15.8 | 36.8 / 31.6 / +5.2 | 26.3 / 36.8 / -10.5 |
| zh→en | 43.3 / 29.4 / +13.9 | 56.9 / 18.1 / +38.8 | 28.0 / 25.1 / +2.9 | 31.6 / 36.6 / -5.0 |
| zh→ja | 84.6 / 15.4 / +69.2 | 46.2 / 30.8 / +15.4 | 30.8 / 46.2 / -15.4 | 38.5 / 30.8 / +7.7 |
| zh→ko | 83.3 / 16.7 / +66.6 | 50.0 / 38.9 / +11.1 | 38.9 / 55.6 / -16.7 | 44.4 / 44.4 / 0.0 |
| Overall | 52.5 / 26.6 / +25.9 | 45.9 / 28.5 / +17.4 | 31.9 / 30.8 / +1.1 | 28.3 / 38.8 / -10.5 |
Prompts
Use the English name from the language table below for {src_lang} / {tgt_lang} (not the abbreviation). Separate paragraphs in {text} with blank lines (\n\n).
Translate the following {src_lang} text into {tgt_lang}. Strictly follow the instruction below. Output only the translation.
instruction:
{instruction}
text:
{text}
Use with transformers
Requires a recent transformers with Qwen3.5 support (transformers>=5.2.0 recommended).
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name_or_path = "WPS-Qingqiu/Qingqiu-MT-9B"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_name_or_path,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
PROMPT = (
"Translate the following {src_lang} text into {tgt_lang}. "
"Strictly follow the instruction below. Output only the translation.\n\n"
"instruction:\n{instruction}\n\n"
"text:\n{text}"
)
messages = [
{
"role": "user",
"content": PROMPT.format(
src_lang="English",
tgt_lang="Simplified Chinese",
instruction="Use a formal register suitable for an official notice. Output only the translation.",
text="Campus dining hall hours will change next week.\n\nBreakfast starts at 7:00.",
),
}
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False, # non-thinking mode
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=2048,
do_sample=True,
temperature=0.3,
top_p=0.90,
top_k=20,
repetition_penalty=1.05,
)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True).strip())
We recommend using the following set of parameters for inference:
{
"top_k": 20,
"top_p": 0.90,
"repetition_penalty": 1.05,
"temperature": 0.3
}
Supported languages
| Languages | Abbr. | Chinese Names |
|---|---|---|
| English | en | 英语 |
| Simplified Chinese | zh | 简体中文 |
| Traditional Chinese | zh-Hant | 繁体中文 |
| Czech | cs | 捷克语 |
| Japanese | ja | 日语 |
| Korean | ko | 韩语 |
| German | de | 德语 |
| Russian | ru | 俄语 |
| Ukrainian | uk | 乌克兰语 |
| Vietnamese | vi | 越南语 |
| Indonesian | id | 印度尼西亚语 |
| Thai | th | 泰语 |
| Estonian | et | 爱沙尼亚语 |
| Icelandic | is | 冰岛语 |
| Belarusian | be | 白俄罗斯语 |
| Armenian | hy | 亚美尼亚语 |
| Kazakh | kk | 哈萨克语 |
| Egyptian Arabic | arz | 埃及阿拉伯语 |
| Ligurian (Italy) | lij | 利古里亚语 |
| Ladin (Italy) | lld | 多洛米蒂拉定语 |
Main WMT26 directions:cs→de/uk/vi, en→arz/be/cs/de/et/hy/id/is/ja/kk/ko/lij/lld/ru/th/uk/zh/zh-Hant, zh→ja.
Citation
@inproceedings{xia2026qingqiu,
title={Qingqiu-MT-9B: An Instruction-Following Multilingual Translation Model},
author={Xia, Tian and Chen, Chao and Yang, Mengpeng and Yang, Jingxu and Sun, Yabo and Liu, Qiang},
booktitle={Proceedings of the Eleventh Conference on Machine Translation (WMT)},
year={2026}
}
Authors & contact
Tian Xia, Chao Chen, Mengpeng Yang, Jingxu Yang, Yabo Sun, Qiang Liu
Kingsoft Office WPS-Qingqiu / Wuhan, China
xiatian3@wps.cn, chenchao9@wps.cn, yangmengpeng@wps.cn, yangjingxu1@wps.cn, sunyabo@wps.cn, liuqiang2@wps.cn
Built on Qwen3.5-9B by Alibaba Cloud.
- Downloads last month
- -