Views
No views yet
📄 Released with the paper Thinking in a Low-Resource Language: What SFT Builds, What RL Fixes, What Accuracy Cannot See (arXiv:2608.17744). Every number on this card is measured, contextualized, and caveated in the paper; read it for the full evaluation protocol.
enable_thinking=true); the trace is the product and follows the question's languageServe thinking. Identical serving to Sophea-Qwen3.6-v1: leaveenable_thinking=trueand, on vLLM, add--reasoning-parser qwen3. The trace follows the question's language.
| Axis (same instrument, same day) | Sophea-Qwen3.6-v1 (SFT) | Sophea-Qwen3.6-v1.1 (RLVR) |
|---|---|---|
| Greek-trace fidelity, Greek questions (n=5,156) ↑ | 97.98% | 98.27% |
| Answer-format fallback ↓ | 24.1% | 2.8% |
| Answer-channel leak ↓ | 3.53% | 0.02% |
| Instructed override, el→EN ("think in English") ↑ | 44.8% | 53.9% |
| Instructed override, en→EL (Greek suffix) ↑ | 83.7% | 85.7% |
| Agreeing instruction (el→EL) ↑ | 98.5% | 98.5% (unchanged) |
| In-question switches / 100 sentences ↓ | 0.0 | 0.0 |
| Pooled Greek reasoning accuracy ↑ | 73.7 | 77.0 (inside the 7.7 pp seed floor, not claimed as a gain) |
| Arm (all: same data, steps, seed, hardware) | Fidelity % | Acc | Fallback % | Leak % | el→EN % | en→EL % |
|---|---|---|---|---|---|---|
| SFT checkpoint (before) | 97.98 | 73.7 | 24.1 | 3.53 | 44.8 | 83.7 |
| Random reward (control) | 98.06 | 74.0 | 22.1 | 3.61 | 44.1 | 83.8 |
| Correctness + format + termination | 98.22 | 77.2 | 2.5 | 0.00 | 48.8 | 84.7 |
| + language consistency | 98.02 | 77.2 | 5.6 | 0.04 | 45.9 | 84.5 |
| + override (released as v1.1) | 98.27 | 77.0 | 2.8 | 0.02 | 53.9 | 85.7 |
vllm serve KIEFERSA/Sophea-Qwen3.6-v1.1 --served-model-name sophea-qwen3.6-v1_1 --reasoning-parser qwen31from openai import OpenAI
2
3client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
4resp = client.chat.completions.create(
5 model="sophea-qwen3.6-v1_1",
6 messages=[{"role": "user", "content": "Ένα κατάστημα πουλά στυλό προς 1,50 € το ένα. Πόσο κοστίζουν 12 στυλό;"}],
7 temperature=0.7,
8 extra_body={"chat_template_kwargs": {"enable_thinking": True}}, # thinking model
9)
10print(resp.choices[0].message.reasoning_content) # the trace, in the question's language
11print(resp.choices[0].message.content) # the final answer1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4tok = AutoTokenizer.from_pretrained("KIEFERSA/Sophea-Qwen3.6-v1.1")
5model = AutoModelForCausalLM.from_pretrained(
6 "KIEFERSA/Sophea-Qwen3.6-v1.1", torch_dtype=torch.bfloat16, device_map="auto")
7
8messages = [{"role": "user", "content": "Ένα τρένο διανύει 240 χλμ σε 3 ώρες. Ποια είναι η μέση ταχύτητά του;"}]
9text = tok.apply_chat_template(messages, tokenize=False,
10 add_generation_prompt=True, enable_thinking=True)
11inputs = tok(text, return_tensors="pt").to(model.device)
12out = model.generate(**inputs, max_new_tokens=2048, temperature=0.7, do_sample=True)
13print(tok.decode(out[0, inputs.input_ids.shape[1]:], skip_special_tokens=False))mtp.* tensors (~1.7 GB, bf16) in
model-mtp.safetensors, the single-layer draft stack that config.json declares through
mtp_num_hidden_layers: 1. The head is the base model's own; speculative decoding verifies every
drafted token against the main model, so it changes throughput only, never the output
distribution.1vllm serve KIEFERSA/Sophea-Qwen3.6-v1.1 --served-model-name sophea-qwen3.6-v1.1 --trust-remote-code \
2 --speculative-config '{"method":"qwen3_5_mtp","num_speculative_tokens":2}'1@misc{kirouane2026thinking,
2 title={Thinking in a Low-Resource Language: What SFT Builds, What RL Fixes, What Accuracy Cannot See},
3 author={Ayoub Kirouane and Christos Petrocheilos},
4 year={2026},
5 eprint={2608.17744},
6 archivePrefix={arXiv},
7 primaryClass={cs.CL},
8 url={https://arxiv.org/abs/2608.17744},
9}