loginlogin123/Bocchi-TL-Qwen3.5-4B-GGUF

来源:🤗🏴‍☠️ 由 Sherpa 救援text-generationapache-2.0激活 4B22 GBGGUF✓ 5 个校验和昨天更新
磁力链接🌱 6

Bocchi TL — Qwen3.5 4B EN → RU

English-to-Russian translation fine-tune of the text component of Qwen3.5-4B, distributed as GGUF files. The model produces a Russian translation note followed by the translation, separated by </think>.

Trained to translate rather than refuse: training also targets reducing unsolicited translation refusals and moral commentary, including when the source contains profanity or adult language, while preserving the original meaning and register. This is a training objective, not a guarantee that every request will be translated.

Модель также учили не отказываться от перевода из-за грубости или взрослой лексики исходника, не подменять перевод нравоучениями и сохранять исходный смысл и регистр. Это цель обучения, а не гарантия отсутствия отказов на любом запросе.

The main focus is staying a translator: translating instructions embedded in the source instead of answering them, preserving code/URLs/markup, and retaining the source register without unsolicited lectures or softening. The published local diagnostics show concrete improvements in task persistence and structure preservation over the original Qwen baseline. This is task-specific robustness, not a guarantee against arbitrary prompt injections.

Gender agreement, names, terminology, context and literary tone were also explicitly trained, but full reliability has not yet been achieved. These are improvement targets, not a claim of publication-ready literary translation or consistent superiority over other translators. Benchmark results below are local measurements, not an official leaderboard submission.

Check the actual outputs

Please inspect the saved results, not just the averages: all 56 stability/format/context diagnostic cases with four models and English originals plus full literary translations. They show both useful specialized behavior and remaining translation errors, including harder gender/context cases. Try representative passages from your own material before choosing a model.

In the local checks, protected-fragment preservation improves from 16/22 to 21/22 versus original Qwen, and Bocchi TL continues translating in all four conflicting-system-role probes. Those system-role probes measure persistence of a specialized translation task; a general assistant following its system role is not itself a security failure. Simple gender-pattern checks improve from 7/8 to 8/8, but gender errors still occur in longer connected text. These small probes do not establish universal robustness.

Use the tokenizer and chat template embedded in the GGUF. Do not substitute the original Qwen tokenizer: this fine-tune has a modified BPE vocabulary and corresponding trained vocabulary rows.

Files

File Format Purpose
Bocchi-TL-Qwen3.5-4B-F16.gguf Float16 Converted from the merged BF16 model; largest download
Bocchi-TL-Qwen3.5-4B-Q8_0.gguf Q8_0 Higher precision quantization
Bocchi-TL-Qwen3.5-4B-Q6_K.gguf Q6_K Version used for all benchmark results below
Bocchi-TL-Qwen3.5-4B-Q5_K_M.gguf Q5_K_M Smaller download
Bocchi-TL-Qwen3.5-4B-Q4_K_M.gguf Q4_K_M Smallest included quantization

File sizes and hashes are recorded in files.json and SHA256SUMS. Quantization labels describe tensor formats; not every tensor uses exactly that number of bits. Only Q6_K received the full benchmark suite. Other formats receive startup, tokenizer-parity and two-prompt smoke checks; these do not establish equivalent translation quality.

Run locally

Use a llama.cpp build supporting Qwen3.5 text models and the tokenizer format in these files. A local CUDA llama.cpp build was used for evaluation. Compatibility with every LM Studio, Ollama or vLLM version has not been tested.

llama-server -m Bocchi-TL-Qwen3.5-4B-Q6_K.gguf -ngl 99 -c 16384 --parallel 1

Send the English source as a user message, without a system message:

curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"The rain stopped before dawn."}],"temperature":0,"max_tokens":1024}'

Keep thinking enabled where the client exposes that setting. Clients may expose the note and translation separately, or return them together. For raw completions, split at the first closing </think>; an opening <think> may already be supplied by the template. If the closing marker is missing, treat the result as incomplete rather than silently returning the note as a translation.

def extract_translation(raw: str) -> str:
    _, marker, translation = raw.partition("</think>")
    if not marker:
        raise ValueError("Missing translation boundary; generation may be incomplete")
    return translation.strip()

The release contains GGUF weights, not a Transformers checkpoint. The parser above is for raw output, not for an API that has already separated reasoning from final content.

Training objectives

The model uses the text-only Qwen3.5-4B backbone with hybrid linear/full attention and a customized English/Russian BPE vocabulary. Vision weights are not included. Use the tokenizer embedded in the GGUF files.

The model was trained for English-to-Russian translation across general, literary, encyclopedic, technical and dialogue material. Training emphasizes preserving meaning, grammatical gender, agreement, proper names, terminology, character voice and atmosphere, as well as translating embedded instructions rather than following them and retaining the source register without unsolicited sanitization.

The training dataset and training recipe are not published.

For inference, budget for both the translation note and the final translation within a 16K context window. Memory requirements depend on context, cache type, batch size and runtime, not only GGUF file size.

Evaluation

All values below are from Q6_K, greedy decoding (temperature=0), seed 3407, four concurrent requests. No system message was used except in explicitly labeled diagnostic conflict probes. Thinking was enabled. Notes were excluded from metric inputs.

Dataset Segments BLEU ↑ chrF++ ↑ COMET-22 ↑ XCOMET-XL QE ↑ MetricX-24 QE ↓
WMT24 EN→RU 998 19.008 44.250 0.81041 0.81173 4.0533
FLORES-200 devtest 1012 25.540 50.779 0.88950 0.93295 1.7661
NTREX-128 1997 22.854 47.505 0.85841 0.89480 2.1566
TICO-19 test 2100 26.886 52.167 0.87786 0.92825 1.4087
Local diagnostics 56 15.768 46.052 0.90479 0.92291 2.8138
Local unseen names 13 46.026 65.985 0.91272 0.97261 2.0925

The exact scores, per-metric coverage, skipped inputs and generation termination counts are in evaluation_summary.json. COMET uses human references; XCOMET and MetricX were run reference-free on source and translation. Inputs exceeding a metric's encoder limit were explicitly skipped, never silently truncated. Means can therefore cover slightly different subsets. MetricX is a learned quality estimate, not a literal count of MQM errors; COMET is not a probability or a guaranteed 0–1 score.

FLORES results use devtest, while FLORES dev material was present in training. The local WMT24 EN→RU set contains 998 segments. The 56-case diagnostic suite and 13-case unseen-name suite are small local probes, not representative benchmarks. Name checks and gender checks are pattern-based and can reject valid paraphrases. Four long literary cases completed, but their neural scores are absent because of encoder-length limits; completion alone is not evidence of fidelity or style.

FLORES split separation was checked: training used FLORES-200 dev, while evaluation uses the separate devtest split (1,012 segments). After Unicode NFKC normalization, whitespace normalization and case folding, there are zero exact EN or RU text overlaps between dev and devtest. None of the complete devtest English sources or Russian references occurs as a normalized substring in any text field of the checksum-verified frozen training input, including packed examples and supplied histories. This checks textual leakage in our fine-tuning data; it does not establish absence of paraphrases, semantic overlap or exposure during the base models' pretraining.

The training holdout was kept separate from training. No claim of comprehensive semantic decontamination against every external evaluation corpus is made.

Full comparison with TranslateGemma 12B

Both models use greedy decoding and seed 3407. Bocchi TL uses Q6_K, its thinking-enabled template and four concurrent requests. TranslateGemma 12B IT uses Q8_0, its native EN→RU translation template and one concurrent request. Translation notes are excluded from scoring. This is not a controlled speed comparison.

Dataset Model BLEU ↑ chrF++ ↑ COMET-22 ↑ XCOMET-XL QE ↑ MetricX-24 QE ↓
WMT24 Bocchi TL 19.008 44.250 0.81041 0.81173 4.0533
WMT24 TranslateGemma 12B 19.443 47.847 0.83870 0.86189 2.8815
FLORES-200 devtest Bocchi TL 25.540 50.779 0.88950 0.93295 1.7661
FLORES-200 devtest TranslateGemma 12B 25.757 53.568 0.90568 0.96266 1.0728
NTREX-128 Bocchi TL 22.854 47.505 0.85841 0.89480 2.1566
NTREX-128 TranslateGemma 12B 21.993 50.358 0.88606 0.94291 1.2753
TICO-19 test Bocchi TL 26.886 52.167 0.87786 0.92825 1.4087
TICO-19 test TranslateGemma 12B 27.511 55.628 0.89702 0.95914 0.7692
Local diagnostics Bocchi TL 15.768 46.052 0.90479 0.92291 2.8138
Local diagnostics TranslateGemma 12B 9.717 42.379 0.84257 0.78062 7.3081
Local unseen names Bocchi TL 46.026 65.985 0.91272 0.97261 2.0925
Local unseen names TranslateGemma 12B 47.195 71.954 0.93103 1.00027 1.0104

System/history diagnostics are not identical across architectures: Qwen receives real message roles, whereas the TranslateGemma adapter concatenates those texts into the translation source. Aggregate diagnostic metrics therefore mix translation quality with different task presentations. Small name and gender probes are pattern-based and can reject legitimate alternatives. Encoder-length skips cause some metric means to cover different subsets; exact counts are in gemma12_comparison.json.

Baseline weights: mradermacher/translategemma-12b-it-GGUF, based on Google TranslateGemma 12B IT. Baseline weights are not redistributed here. Long literary cases completed, but neural scores are omitted because of metric encoder limits; full translations and all diagnostic outputs are available.

Full comparison with TranslateGemma 4B

Bocchi TL uses Q6_K, thinking-enabled greedy decoding and four concurrent requests. TranslateGemma 4B IT uses Q8_0, its native EN→RU template, greedy decoding and four concurrent requests. Both use seed 3407. The models have different tokenizers and quantization precision.

Dataset Model BLEU ↑ chrF++ ↑ COMET-22 ↑ XCOMET-XL QE ↑ MetricX-24 QE ↓
WMT24 Bocchi TL 19.008 44.250 0.81041 0.81173 4.0533
WMT24 TranslateGemma 4B 18.559 45.713 0.83492 0.85192 3.1380
FLORES-200 devtest Bocchi TL 25.540 50.779 0.88950 0.93295 1.7661
FLORES-200 devtest TranslateGemma 4B 25.210 51.829 0.89930 0.95154 1.2579
NTREX-128 Bocchi TL 22.854 47.505 0.85841 0.89480 2.1566
NTREX-128 TranslateGemma 4B 21.913 48.463 0.87759 0.92608 1.5337
TICO-19 test Bocchi TL 26.886 52.167 0.87786 0.92825 1.4087
TICO-19 test TranslateGemma 4B 26.628 53.465 0.88994 0.95061 0.9498
Local diagnostics Bocchi TL 15.768 46.052 0.90479 0.92291 2.8138
Local diagnostics TranslateGemma 4B 8.747 39.496 0.82042 0.79012 7.1161
Local unseen names Bocchi TL 46.026 65.985 0.91272 0.97261 2.0925
Local unseen names TranslateGemma 4B 49.964 70.355 0.93092 0.98577 0.6901

TranslateGemma 4B scores higher on all three neural metrics on the four large corpora and the small name probe. Bocchi TL scores higher on BLEU on those four corpora and on all five aggregate diagnostic metrics. Protected-fragment checks: Bocchi TL 21/22, Gemma 4B 19/22; simple gender-pattern checks 8/8 for both; unseen-name patterns 9/13 versus 10/13. These are small local probes, not universal guarantees.

Diagnostic protocol and coverage matter: Qwen receives actual system/history messages; TranslateGemma receives adapted source-text concatenations under its constrained native template. Diagnostic COMET covers 21 Bocchi outputs versus 19 Gemma outputs, XCOMET 52 versus 50; MetricX covers all 56 for both. Their aggregate diagnostic scores therefore do not isolate lexical translation quality or equivalent memory/security behavior. Full outputs and conditions are linked below. On WMT, XCOMET covers 995 Bocchi outputs versus 997 Gemma outputs; on TICO it covers 2099 for each. Other large-corpus metric counts are complete.

All four literary samples were generated for both models, but neural scores are omitted because they exceed metric encoder limits. See complete translations, complete diagnostic outputs, and machine-readable Gemma 4B comparison.

Comparison with the original Qwen3.5-4B

Each cell shows original Qwen → Bocchi TL. Both use Q6_K and four concurrent requests. The original Qwen uses its official general-task non-thinking sampling preset (temperature=0.7, top_p=0.8, top_k=20, min_p=0, presence_penalty=1.5, repeat_penalty=1.0), seed 3407, and an explicit EN→RU translation system prompt. Bocchi TL uses thinking-enabled greedy decoding without a system prompt, except in labeled diagnostic probes. These are comparisons of the stated inference configurations, not an isolated measurement of fine-tuning effects.

Non-thinking was selected after the thinking pilot generated approximately 5,931 reasoning tokens per answer (6,028 total on average), making translation inference unnecessarily expensive for this run. The partial thinking run is not mixed into the reported scores.

Dataset BLEU ↑ chrF++ ↑ COMET-22 ↑ XCOMET-XL QE ↑ MetricX-24 QE ↓
WMT24 18.462 → 19.008 44.803 → 44.250 0.80771 → 0.81041 0.78947 → 0.81173 4.0454 → 4.0533
FLORES-200 devtest 24.950 → 25.540 51.607 → 50.779 0.88774 → 0.88950 0.91964 → 0.93295 1.7449 → 1.7661
NTREX-128 22.915 → 22.854 47.895 → 47.505 0.85413 → 0.85841 0.87324 → 0.89480 2.3240 → 2.1566
TICO-19 test 27.357 → 26.886 53.190 → 52.167 0.87593 → 0.87786 0.91430 → 0.92825 1.4381 → 1.4087
Local diagnostics 16.188 → 15.768 46.897 → 46.052 0.91357 → 0.90479 0.83701 → 0.92291 3.7647 → 2.8138
Local unseen names 41.123 → 46.026 62.827 → 65.985 0.89263 → 0.91272 0.92527 → 0.97261 1.9892 → 2.0925

Protected-fragment checks: 16/22 → 21/22. Gender-pattern checks: 7/8 → 8/8. Unseen-name pattern checks: 8/13 → 9/13. These small pattern-based probes can reject valid alternatives. Metric coverage can differ after encoder-length skips; see baseline_comparison.json. Long literary cases are not assigned neural scores because they exceed the metric encoder limits.

Literary translation samples

Read the English originals and complete translations from all four models. Final translations are reproduced without editing; generated translation notes are omitted. The samples contain Oscar Wilde, Edgar Allan Poe and Algernon Blackwood; the two Blackwood cases overlap. Baseline modes and quantizations are as described above. TranslateGemma long inputs exceed its documented 2K input regime. These examples are provided for direct qualitative comparison, without a numerical literary-quality claim.

Context and history differ between the models. This Bocchi TL release is evaluated with a 16K total sequence budget, shared by prompt, history, notes and translation. Google's TranslateGemma cards document 2K input context; this is a documented input regime, not a claim that the GGUF runtime cannot accept a longer sequence. Our long Gemma examples were passed as complete texts and are outside that regime. Separately, TranslateGemma's native template lacks a system role and has a constrained translation-message format, so in our diagnostic adapter we concatenated the supplied history and nominal system text with the source. That concatenation is a template adaptation, not a consequence of the smaller context budget. Qwen received actual separate messages. Re-translating the concatenated history is therefore not a comparable memory failure, and Gemma's adapted system-text probes are not genuine system-role tests.

Translation stability and full diagnostic outputs

See all 56 diagnostic cases and complete final outputs from all four models, or the raw output records. The report distinguishes actual conflicting system-role messages for Qwen from source-text adaptations for TranslateGemma, whose native template does not support system roles. Ordinary assistant compliance with system instructions is not labeled a security vulnerability.

The full literary comparison now includes TranslateGemma 4B. The long Blackwood passage specifically emphasizes context retention: continuity of entities, tone, imagery and language throughout a complete translation.

Matched-runtime long-context translation and speed

A separate literary run uses Q8_0 for all three models, four concurrent requests, 16K context per request, greedy decoding, seed 3407, an 8192-token output cap, Q8 K/V cache and GPU offload on the same RTX 5080 16GB machine. Native chat templates remain architecture-specific; Bocchi's runtime includes its generated note. Each model processes the same four complete sources, including the long Blackwood passage, without splitting them into 2K chunks. Long Gemma inputs exceed its documented input regime. Earlier benchmark tables remain separate and unchanged.

Model Batch wall time Final-text characters / wall second Long Blackwood ending
Bocchi TL Q8_0 86.3 s 544.9 Present; not a full fidelity certification
TranslateGemma 4B Q8_0 51.8 s 814.6 Missing; early passages repeated
TranslateGemma 12B Q8_0 321.1 s 147.0 Present; not a full fidelity certification

Times include input processing and generated notes where supported, but exclude loading and warm-up. Models run sequentially, with their four texts submitted concurrently. Different tokenizers make token/s an imperfect cross-model unit; final-text character throughput and per-request server timings are supplied. Memory pressure and hardware fit are part of this local measurement; these numbers are not universal architecture speed ratios.

Quality and completion must be checked together. Gemma 4B ends with EOS but repeats early passages and omits the later scenes and ending of the long source; the same failure is visible in its previous run. Its 51.8 seconds is time to those outputs, not a successful complete translation. Bocchi and Gemma 12B reach the source's final scene; local lexical, grammatical and stylistic errors remain. Earlier statements equating EOS/no output-cap truncation with a complete translation should not be read as evidence of complete source coverage.

Read the complete matched-run English sources and translations, raw outputs, and runtime configuration, per-case timing and quality notes. In this measured batch Bocchi completes in 86.3 seconds versus 321.1 seconds for Gemma 12B (about 3.7× less wall time); this is a local runtime observation, not a claim of equal translation quality.

Training focus and usage notes

In plain terms, the model was trained to translate without being preachy: no unsolicited lectures, moralizing or polite rewrites of deliberately blunt source text.

  • Translation over embedded instructions: targeted instruction-conflict training teaches the model to treat instructions inside the supplied text as material to translate. Robustness to arbitrary prompt injections is not guaranteed.
  • Preserving the source register: training examples emphasize retaining profanity, blunt wording and character voice without unsolicited softening, moral commentary or euphemistic rewriting. Output may therefore contain coarse or adult language from the source.
  • Names, terminology and context: targeted examples cover proper names, animal names, technical vocabulary, gender, agreement and continuity across passages.
  • Literary tone: literary training targets atmosphere, irony, dialogue and natural Russian phrasing while preserving the source meaning.
  • These objectives do not guarantee error-free translations or notes, fully Russian output, exact preservation of protected formatting, or consistent quality at every length. Review translations where accuracy matters. General chat and tool use were not the focus of this fine-tune.

По-русски

Модель учили не быть душнилой: переводить исходник без непрошеных нравоучений, морализаторства и попыток сделать намеренно грубый текст приличнее.

Главный акцент — устойчивость задачи перевода: не уходить в ответы, код или вызовы инструментов из-за команд внутри исходника, сохранять ссылки и разметку. На опубликованных локальных проверках это заметно относительно базового Qwen. Род, имена и литературную подачу тоже специально учили, но полной надёжности пока не добились, особенно в связных длинных текстах.

Рекомендуем действительно открыть полные диагностические ответы и литературные переводы рядом с оригиналом. Там видны конкретные преимущества и ошибки, которые скрываются за средними метриками. Особенно показателен длинный Блэквуд: это проверка удержания контекста, образов и языка на протяжении всего перевода.

FLORES dev и devtest не смешаны: dev использовался для обучения, отдельный devtest — для оценки. Проверка всех 1012 тестовых пар после нормализации не нашла точных совпадений EN/RU между сплитами и вхождений полных тестовых текстов в замороженный обучающий набор, включая истории и упакованные записи. Это проверка текстовых совпадений в нашем дообучении, а не гарантия отсутствия смысловых пересечений или знакомства базовой модели с текстами при предобучении.

У TranslateGemma заявлен входной режим 2К, у нашего прогона — общий бюджет 16К, включая ответ. Длинные примеры Gemma мы подавали целиком, за пределами её заявленного входного режима. Историю для Gemma в диагностике приходилось склеивать с исходником из-за устройства её шаблона; у Qwen она оставалась отдельными сообщениями. Поэтому такие тесты нельзя выдавать за полностью одинаковую проверку памяти или системных ролей.

Bocchi TL — экспериментальный переводчик с английского на русский на текстовой основе Qwen3.5-4B. Перед переводом модель обычно пишет краткий комментарий на русском, затем закрывает </think> и выдаёт перевод.

Для запуска подайте исходник отдельным пользовательским сообщением без системного промпта, используйте встроенный шаблон GGUF. Наши результаты получены при temperature=0; это настройка для воспроизводимости, а не доказательство, что sampling всегда хуже. Выделите достаточный бюджет и для комментария, и для перевода в пределах общего окна 16К. При длинном тексте проверяйте завершённость ответа.

Полный набор тестов выполнен только на Q6_K. F16, Q8_0, Q5_K_M и Q4_K_M предлагаются как варианты точности/размера; две короткие проверки каждого формата не заменяют полноценного сравнения качества.

Модель специально обучали сохранять род и согласование, передавать имена и термины, учитывать контекст и литературную атмосферу. Отдельные примеры направлены на противодействие промпт-инъекциям: инструкции внутри исходника следует переводить, а не выполнять. Ещё одна цель — сохранять грубость, брань и голос персонажей без непрошеного сглаживания и эвфемизмов. Это направления обучения, а не гарантия безошибочности или защиты от любой инъекции. Хорошие средние метрики не гарантируют точности конкретного перевода. Позднейшие чистки датасета, выполненные после обучения этой версии, в веса ещё не вошли.

License and base model

Evaluation attribution: Unbabel/XCOMET-XL, by Unbabel, is licensed under CC BY-NC-SA 4.0 and was used for non-commercial evaluation. XCOMET weights are not included in this release. Its model card requires authorization from Unbabel for commercial evaluation services. The Apache-2.0 metadata here applies to the released translation model, not to third-party evaluation tools.

The base model is Qwen/Qwen3.5-4B, published under Apache-2.0. The accompanying LICENSE is retained. This is an independent fine-tune, not an official Qwen release. Model license metadata does not grant rights to redistribute separately sourced training texts; those texts are not bundled here.