E4B:
E2B:
Intended use
The model is especially optimized for live and conversational speech, including streaming content, where meaning often depends on previous lines, speaker intent, tone, and incomplete context. It performs particularly well when previous source and translated segments are supplied and can follow additional user instructions that define the desired style, tone, or level of formality.
Translate Gemma 4 Sub retains the language coverage of the underlying Gemma 4 model. The most extensively trained languages are:
- Tier 1: English, Russian, Spanish, German and Japanese;
- Tier 2: French, Portuguese, Chinese, Dutch, Italian, and Korean.
Other languages supported by Gemma 4 may also work, but they have not undergone specific translation fine-tuning and have not been evaluated as extensively.
Benchmark results
All models in the following table were evaluated in GGUF Q4 format under the same generation and evaluation pipeline.
Higher is better for chrF++, BERTScore, COMET-DA, and COMETKiwi. Lower is better for MetricX Ref and MetricX QE.
Table with columns: Model, chrF++ ↑, BERTScore ↑, COMET-DA ↑, COMETKiwi ↑, MetricX-24 Ref ↓, MetricX-24 QE ↓| Model | chrF++ ↑ | BERTScore ↑ | COMET-DA ↑ | COMETKiwi ↑ | MetricX-24 Ref ↓ | MetricX-24 QE ↓ |
|---|
| Translate Gemma 4 Sub E4B Q4_K_XL | 51.8218 | 0.867594 | 0.835393 | 0.745391 | 2.7074 | 2.8150 |
| Translate Gemma 4 Sub E2B Q4_K_XL | 49.1003 | 0.857130 | 0.822867 | 0.741567 |
The evaluation set was independent from the training data. Its reference translations were prepared from randomly selected stream segments that were not used during training.
MetricX-24 Ref by target language
Scores are grouped by target language. Lower is better.
Table with columns: Model, Russian ↓, English ↓, Japanese ↓, Spanish ↓, German ↓| Model | Russian ↓ | English ↓ | Japanese ↓ | Spanish ↓ | German ↓ |
|---|
| Translate Gemma 4 Sub E4B Q4_K_XL | 2.997 | 2.512 | 2.809 | 2.805 | 2.217 |
| Translate Gemma 4 Sub E2B Q4_K_XL | 3.100 | 2.573 | 3.138 | 2.901 | 2.370 |
| Gemma 4 12B QAT Q4_K_XL |
The model was trained with a system message that specifies the source language, target language, subtitle task, and style.
System message
TASK: Translate {source_language} subtitles into {target_language}.
RULES: Speakers name: ...; speaker gender: ...; other rules.
STYLE: friendly/official/neutral.
Translate only CURRENT_SOURCE. PREVIOUS_SOURCE and PREVIOUS_TRANSLATION are context only. Preserve meaning, tone, slang, profanity, uncertainty, repetitions and incomplete speech. Return only the final translation without labels or commentary.
User message
[PREVIOUS_SOURCE]
Previous source-language subtitles context.
[PREVIOUS_TRANSLATION]
Previous translated subtitles context.
[CURRENT_SOURCE]
The subtitle segment to translate.
Only CURRENT_SOURCE should be translated. PREVIOUS_SOURCE and PREVIOUS_TRANSLATION are context only.
The previous-context blocks may be omitted when no context is available:
[CURRENT_SOURCE]
The subtitle segment to translate.
Example
System message:
TASK: Translate English subtitles into Russian.
RULES: speaker gender: female.
STYLE: friendly.
Translate only CURRENT_SOURCE. PREVIOUS_SOURCE and PREVIOUS_TRANSLATION are context only. Preserve meaning, tone, slang, profanity, uncertainty, repetitions and incomplete speech. Return only the final translation without labels or commentary.
User message:
[PREVIOUS_SOURCE]
I thought you said you weren't coming.
[PREVIOUS_TRANSLATION]
Я думала, ты сказала, что не придёшь.
[CURRENT_SOURCE]
Yeah, well... I changed my mind.
Expected response:
FLORES-200 general translation benchmark
Evaluation was performed on FLORES-200 using MetricX-24 QE. Lower is better.
Table with columns: Model, Mean error ↓, Median ↓, P90 ↓| Model | Mean error ↓ | Median ↓ | P90 ↓ |
|---|
| Gemma 4 12B QAT | 1.8811 | 1.5391 | 3.5938 |
| Translate Gemma 4 Sub E4B | 2.0658 | 1.6523 | 4.0312 |
| Gemma 4 E4B | 2.0769 | 1.6875 | 4.1562 |
| Translate Gemma 4 Sub E2B | 2.2247 | 1.7930 | 4.4062 |
Despite being primarily optimized for contextual and conversational translation, Translate Gemma 4 Sub also slightly improved general translation quality over the corresponding base Gemma 4 models.
The following prompt was used for general translation:
TASK: Translate {source_language} into {target_language}.
Follow all demonstrations, glossary mappings, partial-translation constraints and formatting instructions in the user prompt.
Preserve meaning, names, numbers, terminology, register and document structure. Return only the requested final translation without commentary.
import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer
model_id = "17slever17/translate-gemma-4-sub-e2b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
)
messages = [
{
"role": "system",
"content": (
"TASK: Translate English subtitles into Russian.\n"
"STYLE: friendly.\n"
"Translate only CURRENT_SOURCE. PREVIOUS_SOURCE and "
"PREVIOUS_TRANSLATION are context only. Preserve meaning, tone, "
"slang, profanity, uncertainty, repetitions and incomplete speech. "
"Return only the final translation without labels or commentary."
),
},
{
"role": "user",
"content": (
"[PREVIOUS_SOURCE]\n"
"I thought you said you weren't coming.\n\n"
"[PREVIOUS_TRANSLATION]\n"
"Я думала, ты сказала, что не придёшь.\n\n"
"[CURRENT_SOURCE]\n"
"Yeah, well... I changed my mind."
),
},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
).to(model.device)
with torch.inference_mode():
output = model.generate(
**inputs,
max_new_tokens=256,
do_sample=False,
)
generated_tokens = output[0, inputs["input_ids"].shape[1]:]
translation = tokenizer.decode(generated_tokens, skip_special_tokens=True)
print(translation)
Training overview
Translate Gemma 4 Sub E2B is based on google/gemma-4-E2B-it.
Training was performed with Unsloth using an optimized training run derived from the official Gemma 4 model.
Citation
@misc{17slever17_translate_gemma_4_sub_2026,
author = {17slever17},
title = {Translate Gemma 4 Sub E2B},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/17slever17/translate-gemma-4-sub-e2b}}
}