---
language:
- el
- en
license: apache-2.0
base_model: Qwen/Qwen3.6-27B
pipeline_tag: image-text-to-text
library_name: transformers
tags:
- greek
- instruction-tuned
- lora
- non-thinking
- qwen3.6
model-index:
- name: Sophea-Titan-1
results:
- task:
type: multiple-choice
name: General Greek benchmarks (9)
dataset:
type: greek-nlu-suite
name: General Greek Benchmark Suite
metrics:
- type: accuracy
name: General Greek benchmarks
value: 0.7369
- task:
type: multiple-choice
name: GreekMMLU
dataset:
type: greekmmlu
name: GreekMMLU
metrics:
- type: accuracy
name: Accuracy
value: 0.8543
- task:
type: multiple-choice
name: English Retention (5 benchmarks)
dataset:
type: english-nlu-suite
name: English Retention Suite
metrics:
- type: accuracy
name: English retention
value: 0.8783
- task:
type: visual-question-answering
name: Vision (MMStar, 1500 items)
dataset:
type: MMStar
name: MMStar
metrics:
- type: accuracy
name: Accuracy
value: 0.714
---

Sophea-Titan-1
Greek fine-tuned multimodal Qwen3.6-27B — non-thinking chat
**Sophea-Titan-1** is a 27B Greek fine-tuned multimodal chat model built on **Qwen3.6-27B**, with
register control and a fixed assistant identity — while retaining English ability and vision.
- **Creator:** Kiefer SA
- **Base model:** Qwen3.6-27B (multimodal, 64 layers, hidden 5120)
- **Languages:** Greek (primary), English (retained)
- **Decoding:** **non-thinking** (`enable_thinking=false`) — see recommended sampling under Usage
> **Serve non-thinking.** Set `enable_thinking=false` in the chat template. Over an OpenAI-compatible
> vLLM endpoint, pass `extra_body={"chat_template_kwargs": {"enable_thinking": false}}`. With
> thinking left on, Greek output quality degrades sharply.
## Intended use
- General-purpose Greek conversational assistant / chat, with formal ↔ informal register control
- Greek-knowledge QA; English retained as a secondary language
Not evaluated for safety-critical or legal/medical decisions.
Fine-tuned from Qwen3.6-27B.
---
## Evaluation
Non-thinking, greedy (temperature 0). **Sophea-Titan-1** in bold.
**Models compared:**
| column |
model |
what it is |
identity-tuned? |
| Base |
Qwen3.6-27B |
the base Sophea-Titan-1 is built on |
no |
| Sophea-Titan-1 |
this model |
Qwen3.6-27B + general-purpose Greek conversational SFT |
yes |
| Sophea-K1 |
KIEFERSA/sophea-k1 |
KIEFERSA production multimodal Greek model (sophea.ai) |
yes |
| Qwen3-30B-A3B |
Qwen/Qwen3-30B-A3B |
text-only MoE (30B/3B-active), not fine-tuned |
no |
| Qwen3.6-35B-A3B | Qwen/Qwen3.6-35B-A3B | multimodal MoE (35B / 3B-active), not fine-tuned | no |
| Krikri-8B |
ilsp/Llama-Krikri-8B-Instruct |
Llama-3.1-8B Greek LLM (external baseline) |
no |
`n/a` = not applicable (text-only) · `n.t.` = not identity-tuned.
### Headline scorecard
| Axis | Base | Sophea-Titan-1 | Sophea-K1 | Qwen3-30B-A3B | Qwen3.6-35B-A3B | Krikri-8B |
|---|
| General Greek benchmarks — macro (9) | 0.7157 | 0.7369 | 0.7240 | 0.6346 | 0.6983 | 0.5977 |
| English retention — macro (5) | 0.8631 | 0.8783 | 0.8702 | 0.7631 | 0.8362 | 0.7423 |
| Vision — MMStar (1500) | 0.6533 | 0.7140 | 0.6620 | n/a | 0.590 | n/a |
### At a glance
**Capability profile** — General Greek benchmarks, English and vision across open-weight models (Sophea-Titan-1 in bold; frontier MoEs GLM-5.2 / MiniMax-M3 shown for reference, no vision):

**General Greek benchmarks vs. model size** — Sophea-Titan-1 has the strongest general-Greek score of the ~27B open models, approaching far larger frontier MoEs at a fraction of the size:

## Per-benchmark detail
Three benchmark families in one table — **General Greek benchmarks (9)**, **English retention (5)**, and
**Vision — MMStar (1500)** — on the same five models. `n/a` = not applicable (text-only, no vision).
| Benchmark | Base | Sophea-Titan-1 | Sophea-K1 | Qwen3-30B-A3B | Qwen3.6-35B-A3B | Krikri-8B |
|---|
| General Greek benchmarks (9) |
| greekmmlu | 0.849 | 0.854 | 0.855 | 0.753 | 0.838 | 0.675 |
| mmlu_greek | 0.798 | 0.797 | 0.782 | 0.628 | 0.770 | 0.519 |
| hellaswag | 0.611 | 0.680 | 0.622 | 0.410 | 0.574 | 0.572 |
| medical_mcqa | 0.312 | 0.387 | 0.368 | 0.232 | 0.312 | 0.287 |
| winogrande | 0.590 | 0.626 | 0.599 | 0.559 | 0.564 | 0.609 |
| arc_challenge | 0.944 | 0.950 | 0.945 | 0.867 | 0.916 | 0.690 |
| arc_easy | 0.973 | 0.973 | 0.971 | 0.931 | 0.969 | 0.832 |
| belebele | 0.941 | 0.950 | 0.938 | 0.887 | 0.926 | 0.771 |
| truthfulqa | 0.423 | 0.415 | 0.437 | 0.446 | 0.416 | 0.425 |
| MACRO (9) | 0.7157 | 0.7369 | 0.7240 | 0.6346 | 0.6983 | 0.5977 |
| English retention (5) |
| arc_challenge | 0.972 | 0.979 | 0.977 | 0.932 | 0.959 | 0.765 |
| arc_easy | 0.990 | 0.992 | 0.994 | 0.981 | 0.990 | 0.892 |
| hellaswag | 0.764 | 0.805 | 0.780 | 0.500 | 0.734 | 0.751 |
| mmlu | 0.858 | 0.858 | 0.858 | 0.745 | 0.840 | 0.608 |
| winogrande | 0.732 | 0.758 | 0.742 | 0.658 | 0.658 | 0.695 |
| MACRO (5) | 0.8631 | 0.8783 | 0.8702 | 0.7631 | 0.8362 | 0.7423 |
| Vision — MMStar (1500) |
| coarse perception | 0.744 | 0.728 | 0.728 | n/a | 0.704 | n/a |
| fine-grained perception | 0.636 | 0.608 | 0.628 | n/a | 0.588 | n/a |
| instance reasoning | 0.756 | 0.792 | 0.792 | n/a | 0.740 | n/a |
| logical reasoning | 0.668 | 0.764 | 0.636 | n/a | 0.572 | n/a |
| math | 0.464 | 0.708 | 0.500 | n/a | 0.372 | n/a |
| science & technology | 0.652 | 0.684 | 0.688 | n/a | 0.564 | n/a |
| OVERALL | 0.653 | 0.714 | 0.662 | n/a | 0.590 | n/a |
### greekmmlu — per-subject (31)
| subject | Base | Sophea-Titan-1 | Sophea-K1 | Qwen3-30B-A3B | Qwen3.6-35B-A3B | Krikri-8B |
|---|
| Accounting | 0.864 | 0.864 | 0.859 | 0.761 | 0.848 | 0.663 |
| Agriculture | 0.853 | 0.870 | 0.853 | 0.721 | 0.819 | 0.707 |
| Art | 0.748 | 0.756 | 0.770 | 0.621 | 0.757 | 0.625 |
| Biology | 0.864 | 0.868 | 0.859 | 0.794 | 0.856 | 0.672 |
| Chemistry | 0.827 | 0.753 | 0.778 | 0.654 | 0.790 | 0.519 |
| Civil Engineering | 0.793 | 0.827 | 0.819 | 0.678 | 0.785 | 0.637 |
| Clinical Knowledge | 0.810 | 0.820 | 0.795 | 0.689 | 0.790 | 0.686 |
| Computer Networks & Security | 0.730 | 0.762 | 0.714 | 0.540 | 0.667 | 0.476 |
| Computer Science | 0.883 | 0.880 | 0.866 | 0.827 | 0.869 | 0.768 |
| Driving Rules | 0.837 | 0.820 | 0.829 | 0.756 | 0.811 | 0.631 |
| Economics | 0.911 | 0.926 | 0.926 | 0.840 | 0.894 | 0.670 |
| Education | 0.857 | 0.867 | 0.895 | 0.762 | 0.901 | 0.687 |
| Electrical Engineering | 0.830 | 0.822 | 0.844 | 0.681 | 0.817 | 0.538 |
| General Knowledge | 0.769 | 0.792 | 0.823 | 0.701 | 0.781 | 0.630 |
| Geography | 0.943 | 0.964 | 0.955 | 0.870 | 0.950 | 0.872 |
| Government and Politics | 0.944 | 0.941 | 0.961 | 0.901 | 0.944 | 0.899 |
| Greek History | 0.871 | 0.877 | 0.878 | 0.711 | 0.884 | 0.816 |
| Greek Literature | 0.714 | 0.714 | 0.643 | 0.429 | 0.500 | 0.500 |
| Greek Mythology | 0.870 | 0.857 | 0.845 | 0.744 | 0.849 | 0.697 |
| Greek Traditions | 0.880 | 0.891 | 0.880 | 0.755 | 0.867 | 0.710 |
| Law | 0.718 | 0.703 | 0.697 | 0.580 | 0.677 | 0.504 |
| Management | 0.824 | 0.841 | 0.842 | 0.719 | 0.814 | 0.694 |
| Maritime Safety & Rescue | 0.703 | 0.669 | 0.662 | 0.608 | 0.682 | 0.507 |
| Mathematics | 0.897 | 0.924 | 0.904 | 0.844 | 0.857 | 0.516 |
| Medicine | 0.893 | 0.895 | 0.886 | 0.757 | 0.882 | 0.663 |
| Modern Greek Language | 0.916 | 0.918 | 0.928 | 0.836 | 0.911 | 0.780 |
| Physics | 0.838 | 0.851 | 0.851 | 0.769 | 0.838 | 0.684 |
| Prehistory | 1.000 | 1.000 | 0.968 | 0.984 | 0.984 | 0.905 |
| World History | 0.950 | 0.950 | 0.900 | 0.850 | 0.950 | 0.800 |
| World Religions | 0.768 | 0.755 | 0.787 | 0.652 | 0.800 | 0.684 |
| OVERALL | 0.849 | 0.854 | 0.855 | 0.753 | 0.838 | 0.675 |
## Frontier & other API models (reference)
Evaluated via API (thinking disabled where supported): GPT-5.5, Claude Opus 4.8, Gemini 3.5, GLM-5.2,
MiniMax-M3. API-model Greek/English benchmarks use letter-answer scoring (local models use log-likelihood).
Kimi-K3 added 2026-07-29: kimi-k3 via Moonshot API (temperature=1 forced, thinking cannot be disabled). Inkling-Small added 2026-07-31: thinkingmachines/Inkling-Small-NVFP4 (276B/12B-active open-weight MoE, Apache-2.0), self-hosted via vLLM; thinking on, temperature=1 (same protocol caveat as noted for reasoning-locked APIs). Qwen3.8-Max added 2026-08-04: qwen3.8-max via Qwen Cloud API (thinking disabled, temperature=0 — matches the card protocol).
| Axis |
Sophea-Titan-1 |
GPT-5.5 |
Claude-4.8 |
Gemini-3.5 |
GLM-5.2 |
MiniMax-M3 |
Kimi-K3 |
Inkling-Small |
Qwen3.8-Max |
| General Greek benchmarks macro (9) |
0.737 |
0.909 |
0.922 |
0.872 |
0.810 |
0.821 |
0.916 |
0.881 |
0.898 |
| English macro (5) |
0.878 |
0.925 |
0.940 |
0.911 |
0.892 |
0.890 |
0.947 |
0.922 |
0.935 |
### General Greek benchmarks (9)
| benchmark |
Sophea-Titan-1 |
GPT-5.5 |
Claude-Opus-4.8 |
Gemini-3.5 |
GLM-5.2 |
MiniMax-M3 |
Kimi-K3 |
Inkling-Small |
Qwen3.8-Max |
| greekmmlu |
0.854 |
0.905 |
0.900 |
0.898 |
0.805 |
0.837 |
0.902 |
0.872 |
0.898 |
| mmlu_greek |
0.797 |
0.888 |
0.884 |
0.874 |
0.769 |
0.773 |
0.932 |
0.898 |
0.862 |
| hellaswag |
0.680 |
0.891 |
0.909 |
0.816 |
0.693 |
0.741 |
0.790 |
0.666 |
0.794 |
| medical_mcqa |
0.387 |
0.928 |
0.917 |
0.912 |
0.787 |
0.833 |
0.944 |
0.926 |
0.902 |
| winogrande |
0.626 |
0.781 |
0.813 |
0.641 |
0.705 |
0.662 |
0.880 |
0.850 |
0.860 |
| arc_challenge |
0.950 |
0.968 |
0.966 |
0.952 |
0.904 |
0.924 |
0.972 |
0.960 |
0.966 |
| arc_easy |
0.973 |
0.984 |
0.982 |
0.973 |
0.949 |
0.960 |
0.984 |
0.972 |
0.974 |
| belebele |
0.950 |
0.953 |
0.947 |
0.934 |
0.913 |
0.911 |
0.956 |
0.954 |
0.942 |
| truthfulqa |
0.415 |
0.885 |
0.977 |
0.845 |
0.766 |
0.749 |
0.882 |
0.832 |
0.888 |
| MACRO |
0.7369 |
0.9094 |
0.9216 |
0.8717 |
0.8102 |
0.8212 |
0.9158 |
0.8811 |
0.8984 |
### English — 5 benchmarks
| benchmark |
Sophea-Titan-1 |
GPT-5.5 |
Claude-Opus-4.8 |
Gemini-3.5 |
GLM-5.2 |
MiniMax-M3 |
Kimi-K3 |
Inkling-Small |
Qwen3.8-Max |
| arc_challenge |
0.979 |
0.976 |
0.974 |
0.958 |
0.968 |
0.967 |
0.978 |
0.968 |
0.976 |
| arc_easy |
0.992 |
0.993 |
0.994 |
0.979 |
0.989 |
0.986 |
0.990 |
0.982 |
0.986 |
| hellaswag |
0.805 |
0.918 |
0.944 |
0.913 |
0.858 |
0.854 |
0.876 |
0.806 |
0.892 |
| mmlu |
0.858 |
0.908 |
0.910 |
0.896 |
0.845 |
0.852 |
0.946 |
0.934 |
0.914 |
| winogrande |
0.758 |
0.830 |
0.877 |
0.811 |
0.801 |
0.793 |
0.946 |
0.922 |
0.906 |
| MACRO |
0.8783 |
0.9249 |
0.9399 |
0.9113 |
0.8922 |
0.8903 |
0.9472 |
0.9224 |
0.9348 |
### greekmmlu
| model |
Sophea-Titan-1 |
GPT-5.5 |
Claude-Opus-4.8 |
Gemini-3.5 |
GLM-5.2 |
MiniMax-M3 |
Kimi-K3 |
Inkling-Small |
Qwen3.8-Max |
| greekmmlu |
0.854 |
0.905 |
0.900 |
0.898 |
0.805 |
0.837 |
0.902 |
0.872 |
0.898 |
## Quantized variants & other formats
Smaller-footprint and alternate-runtime builds of this model:
- **GPU / vLLM** (text-only — vision tower not included): [**Sophea-Titan-1-FP8**](https://huggingface.co/KIEFERSA/Sophea-Titan-1-FP8) — lossless, ≈29 GB · [**Sophea-Titan-1-NVFP4**](https://huggingface.co/KIEFERSA/Sophea-Titan-1-NVFP4) — 4-bit, ≈19 GB
- **llama.cpp** — [**Sophea-Titan-1-GGUF**](https://huggingface.co/KIEFERSA/Sophea-Titan-1-GGUF)
- **Apple Silicon** — [**Sophea-Titan-1-mlx**](https://huggingface.co/KIEFERSA/Sophea-Titan-1-mlx)
The trade-off plot below covers the vLLM builds scored on the Greek suite; GGUF / MLX are format conversions.

VRAM vs. Greek benchmark score across the Sophea-Titan-1 quantized family (bf16 → FP8 → NVFP4).
## Usage
**Serve with vLLM** (OpenAI-compatible; 27B bf16 ≈ 54 GB — add `--tensor-parallel-size N` for multi-GPU):
```bash
vllm serve KIEFERSA/Sophea-Titan-1 --served-model-name sophea-titan-1 --trust-remote-code \
--enable-auto-tool-choice --tool-call-parser qwen3_coder \
--reasoning-parser qwen3
```
For **text-only** serving (skips the vision tower — much faster), add `--language-model-only`.
**Serve with vision enabled** — raise the per-request image budget explicitly:
```bash
vllm serve KIEFERSA/Sophea-Titan-1 --served-model-name sophea-titan-1 --trust-remote-code \
--limit-mm-per-prompt '{"image": 4}' \
--enable-auto-tool-choice --tool-call-parser qwen3_coder \
--reasoning-parser qwen3
```
```python
resp = client.chat.completions.create(
model="sophea-titan-1",
messages=[{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": "https://example.com/chart.png"}},
{"type": "text", "text": "Περίγραψε την εικόνα στα ελληνικά."},
]}],
temperature=0,
extra_body={"chat_template_kwargs": {"enable_thinking": False}}, # required: non-thinking
)
print(resp.choices[0].message.content)
```
**Recommended sampling** (instruct / non-thinking): `temperature=0.7`, `top_p=0.80`, `top_k=20`, `min_p=0.0`, `presence_penalty=1.5`, `repetition_penalty=1.0`.
**Client (OpenAI SDK)** — remember non-thinking:
```python
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
resp = client.chat.completions.create(
model="sophea-titan-1",
messages=[{"role": "user", "content": "Ποια είναι η πρωτεύουσα της Ελλάδας;"}],
temperature=0,
extra_body={"chat_template_kwargs": {"enable_thinking": False}}, # required: non-thinking
)
print(resp.choices[0].message.content)
```
**Transformers** (multimodal — load with the image-text-to-text head to keep vision):
```python
import torch
from transformers import AutoModelForImageTextToText, AutoProcessor
proc = AutoProcessor.from_pretrained("KIEFERSA/Sophea-Titan-1", trust_remote_code=True)
model = AutoModelForImageTextToText.from_pretrained(
"KIEFERSA/Sophea-Titan-1", torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True)
messages = [{"role": "user", "content": [{"type": "text",
"text": "Ποια είναι η πρωτεύουσα της Ελλάδας;"}]}]
text = proc.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
inputs = proc(text=[text], return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=256, do_sample=False)
print(proc.batch_decode(out[:, inputs.input_ids.shape[1]:], skip_special_tokens=True)[0])
```
## Speculative decoding (MTP)
This model ships the **multi-token-prediction head** — 15 `mtp.*` tensors (~0.85 GB, bf16) in
`model-mtp.safetensors`. This is the single-layer draft stack that `config.json` has always declared
through `text_config.mtp_num_hidden_layers: 1`.
Earlier revisions did **not** contain it. The LoRA merge loaded the base through
`AutoModelForCausalLM`, and `transformers` declares
`_keys_to_ignore_on_load_unexpected = [r"^mtp.*"]` for this architecture, so the head was discarded
at load and never written back — the config advertised a module the weights did not contain. The
head has been restored tensor-for-tensor from the base, leaving every other weight untouched; the
addition is purely additive, so existing serve commands keep working unchanged. To pin the previous
bytes, use `revision="726f410a802dcf7a720dca898da9c7b91943911e"`.
**Enable it with vLLM** (≥ 0.23.0):
```bash
vllm serve KIEFERSA/Sophea-Titan-1 --served-model-name sophea-titan-1 --trust-remote-code \
--speculative-config '{"method":"qwen3_5_mtp","num_speculative_tokens":1}'
```
> **Provenance.** These are the **base** Qwen3.6-27B MTP weights. The Greek SFT and DPO LoRA never
> targeted `mtp.*`, so no fine-tuned draft head exists. This cannot affect output quality:
> speculative decoding verifies every drafted token against the main model, so a stale drafter
> changes throughput only, never the output distribution.
The `-FP8` and `-NVFP4` variants ship the same head and support the same flag; on those builds the
MTP Linears are held in bf16 and listed in `quantization_config.ignore`.
## License
Inherits the **Qwen3.6-27B** base-model license. Verify base-model terms before use.