🔥 The Bench 265 models are tiny, powerful bidirectional translation models for translating Japanese and English. 🔥
Models
| Repo | Format | Size |
|---|---|---|
| rikai jp<->eng Bench 265 1.4B (this repo, root) | safetensors, fp16 | ~2.8 GB |
rikai jp<->eng Bench 265 1.4B mlx-8bit (this repo, mlx-8bit/) |
MLX, 8-bit affine, group size 64 | 1.5 GB |
| rikai jp<->eng Bench 265 .8B | safetensors, fp16 + MLX 8-bit | ~1.5 GB / 812 MB |
Evaluation at a glance
rikai 1.4B matches/beats CAT-Translate-3.3B on most automatic metrics at 2.4× its decode speed. This model acheived the best scores across all metrics relative to its size.
| rikai jp<->eng Bench 265 1.4B | rikai .8B | CAT-0.8B | CAT-1.4B | CAT-3.3B-β | CAT-3.3B | CAT-7B | |
|---|---|---|---|---|---|---|---|
| 26-domain gate, CometKiwi ↑ | 0.8425 | 0.8384 | 0.8304 | 0.8353 | 0.8420 | 0.8430 | 0.8430 |
| 26-domain gate, MetricX-24-QE error ↓ | 2.75 | 2.85 | 3.29 | 3.04 | 2.89 | 2.76 | 2.78 |
| 26-domain gate, MetricX-24 error ↓ | 3.16 | 3.34 | 3.83 | 3.51 | 3.31 | 3.14 | 3.14 |
| 26-domain gate, COMET-22 ↑ | 0.8632 | 0.8568 | 0.8455 | 0.8513 | 0.8582 | 0.8616 | 0.8645 |
| 26-domain gate, BLEU, mean over sets ↑ | 23.88 | 22.02 | 21.13 | 19.41 | 23.14 | 23.22 | 26.07 |
| 26-domain gate, chrF++, mean over sets ↑ | 38.33 | 36.88 | 35.62 | 35.31 | 38.06 | 38.31 | 40.17 |
| Blind 500, CometKiwi ↑ | 0.8081 | 0.8020 | 0.7944 | 0.7992 | 0.8064 | 0.8046 | 0.8061 |
| Blind 500, MetricX-24-QE (1 − err/25) ↑ | 0.8684 | 0.8586 | 0.8391 | 0.8493 | 0.8562 | 0.8604 | 0.8663 |
| Blind 500 en→ja, MetricX-24-QE ↑ | 0.8475 | 0.8436 | 0.8101 | 0.8279 | 0.8286 | 0.8428 | 0.8503 |
| LLM judge (Sonnet 5.5), score 0–100 ↑ | 66.9 | 60.3 | 58.5 | 60.6 | 70.4 | 71.6 | 73.4 |
| LLM judge, translations with a critical error ↓ | 3.8% | 6.2% | 7.4% | 7.8% | 3.2% | 2.0% | 1.4% |
| Decode speed, tok/s (M4 Pro, 8-bit MLX) ↑ | 147 | 217 | 218 | 146 | 61 | 61 | 28 |
Evaluation
1. 26-domain gate (human references)
This is our main test battery: 1,550 human-referenced items in 26 sets.
| Direction | Sets |
|---|---|
| ja→en (820 items) | BSD business dialogue (whole documents and single lines), court interpreting, EJMMT medical, FLORES-200 (sentences and multi-sentence articles), WMT23 (ads, e-commerce, news, Q&A, user reviews), Tatoeba, OpenMantra manga pages |
| en→ja (730 items) | BSD, EJMMT, FLORES-200, NTREX-128, WMT23 (Mastodon, news, speech, user reviews), WMT24++ paragraphs (literary, social, news, speech), Tatoeba |
How it was run:
- None of these items were used in training. All training data was screened against them, using 12-character shingles.
- Every model is greedy-decoded at 8-bit (MLX) with its own recommended prompt. Ours is decoded with the prefix mask.
2. chrF++ and BLEU
Per-domain results for every metric →
3. LLM as Judge results
The only thing benchmaxing here is me, so this model was also trained with an LLM judge.
Judge: Claude Sonnet 5.5, on 500 blind items it never saw in training (350 ja→en, 150 en→ja).
Prompt: it sees the source, a reference marked as "one acceptable translation", and one model's translation, never two side by side. It scores it 0–100 (100 perfect, 75 minor errors, 50 a major error, 25 meaning wrong, 0 unusable) and lists any errors as minor, major or critical. Every item is judged twice, in differently shuffled batches, and the two scores are averaged.
| Model | Score (0–100) | Translations with a critical error |
|---|---|---|
| rikai jp<->eng Bench 265 1.4B | 66.9 | 3.8% |
| rikai jp<->eng Bench 265 .8B | 60.3 | 6.2% |
| CAT-0.8B | 58.5 | 7.4% |
| CAT-1.4B | 60.6 | 7.8% |
| TranslateGemma-4B | 63.7 | 5.8% |
| LFM2-350M-ENJP-MT | 51.8 | 13.2% |
| LFM2.5-1.2B-JP | 50.6 | 17.2% |
| TinySwallow-1.5B | 52.0 | 15.6% |
| Gemma-2-2B-jpn | 52.2 | 19.6% |
| Gemma-2-2B-jpn-translate | 55.4 | 14.0% |
| HY-MT1.5-1.8B | 58.0 | 7.2% |
Larger models score higher and are left off the chart: CAT-3.3B-β 70.4, CAT-3.3B 71.6, CAT-7B 73.4, Tower-Plus-9B 74.0, TranslateGemma-12B 75.5.
Usage
The prompt and chat template are the same as CAT-Translate's:
Translate the following {src_lang} text into {tgt_lang}.
{src_text}
It runs on a custom prefix mask, so the prompt gets read in both directions before the first word comes out. Here's an MLX example (Apple silicon, 8-bit build):
import mlx.core as mx, mlx_lm.models.llama as llama
from mlx_lm import load
from mlx_lm.models.cache import make_prompt_cache
from huggingface_hub import snapshot_download
path = snapshot_download("rikai-translate/rikai-jp-eng-Bench-265-1.4B", allow_patterns="mlx-8bit/*") + "/mlx-8bit"
model, tok = load(path)
causal_mask = llama.create_attention_mask
def translate(text, src="Japanese", tgt="English", max_tokens=1024):
msg = [{"role": "user", "content": f"Translate the following {src} text into {tgt}.\n\n{text}"}]
ids = tok.apply_chat_template(msg, add_generation_prompt=True)
cache = make_prompt_cache(model)
llama.create_attention_mask = lambda *a, **k: None # prompt[:-1] attends in both directions
model(mx.array([ids[:-1]]), cache=cache)
llama.create_attention_mask = causal_mask # generation stays causal
logits, out = model(mx.array([ids[-1:]]), cache=cache), []
for _ in range(max_tokens):
t = mx.argmax(logits[0, -1]).item()
if t in tok.eos_token_ids: break
out.append(t); logits = model(mx.array([[t]]), cache=cache)
return tok.decode(out).strip()
print(translate("駅前の新しいパン屋、朝七時から開いてるらしいよ。"))
# The new bakery in front of the station seems to be open from seven in the morning.
License
MIT.
Citation
If you use this model, please cite the base model:
@misc{jinnai2026cattranslatebuildingcompactopensource,
title={CAT-Translate: Building Compact Open-Source Models for Japanese-English Translation},
author={Yuu Jinnai},
year={2026},
eprint={2606.21413},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2606.21413},
}
Acknowledgments
- CAT-Translate by CyberAgent: the base model.
- Hy-MT2-7B by Tencent: the teacher.
- sarashina2.2 by SB Intuitions: the pre-trained base under CAT-Translate.
- Metrics: MetricX-24 (Juraska et al.), COMET-22 and CometKiwi (Rei et al.), and sacrebleu (Post).
- Claude Sonnet 5.5 by Anthropic: the LLM judge.
- Data: FLORES-200, WMT23 / WMT24++, NTREX-128, EJMMT, OpenMantra, Tatoeba, BSD, JESC and pfmt-bench-fin-ja.
- MLX and mlx-lm by Apple: training and inference.
About
| Built by Ryan Farrar: one person, one Mac, a lot of evaluation runs. This model was built for rikAI, an on-device Japanese ⇄ English translator and study app for iPhone. |
current Bench PR 265
Bayla, head of QA.