← back to catalog · registered 2026-11-09 02:02

Guilherme34/S5-nano-abliterated

Guilherme34 multimodal
Your rig guess connected
? Why do I need an app?
Reading your rig…

This is a rough estimate. Install the free app - we'll show exact numbers.

Reading real hardware from your app right now. Numbers below are exact.

Below is the per-quantization compatibility for this model.

curl -H "Authorization: Bearer $ABL_KEY" \
     "https://abliteration.org/api/v1/models/Guilherme34%2FS5-nano-abliterated"
Response includes
  • classification m1
  • files 16
  • author_summary 20 models
  • readme_text full
10 credits · hourly refresh · ~4 KB payload Get an API key →
Abliteration classifier · v1.0.0
M1
Primary method

Direct removal

No other method signals detected in this model.
Confidence
MEDIUM
Why this label 3 signals
Method inferred from partial signals - repository name, related files, or tag patterns. Producer identity not confirmed; label may sharpen or shift as we gather more evidence.
  • 'abliterated' in name/tags
  • is_gguf=0 (base model)
  • no specific method indicators - defaulting to M1 (most common)
Refusal direction extracted via
Extraction technique

Difference-of-means

Confidence
MEDIUM
Why we say so
primary_method=M1; difference-of-means is the reference extraction for M1/M3 (Arditi 2024)
Downloads · 30-day
0
Likes
1
Descendants
1
in 1 direct fork
Model age
today
created 2026-11-09

Genealogy 1 direct fork

Full fork graph →

This model's place in the market. Above: what it was derived from. Below: the tree of everything derived from it.

Metadata

License
apache-2.0
Languages
pt en
Tags
transformers safetensors qwen3_5 image-text-to-text conversational pt en base_model:maritaca-ai/S5-nano base_model:finetune:maritaca-ai/S5-nano license:apache-2.0 endpoints_compatible region:us

Related

Total size
8.68 GB
Files
16
Quantizations
1
Registered
2026-11-09 02:02
Last updated on HF
2026-11-09 02:08

Files by quantization

Auxiliary files 16 files 8.70 GB
model-00001-of-00002.safetensors 4.66 GB 985dd410 download
model-00002-of-00002.safetensors 4.02 GB c1106674 download
tokenizer.json 12.2 MB 5f9e4d49 download
vocab.json 6.41 MB 0aa0ce06 download
merges.txt 3.20 MB a494e019 download
README.md 104 KB 62a90737 download
model.safetensors.index.json 62.9 KB 484e278c download
tokenizer_config.json 14.8 KB 920bc052 download
LICENSE 11.3 KB f938136e download
ABLIT_META.json 7.73 KB b9665efb download
chat_template.jinja 7.55 KB f30cdb71 download
config.json 3.09 KB 557d961b download
.gitattributes 1.53 KB 52373fe2 download
preprocessor_config.json 390 B 2ea84a43 download
video_preprocessor_config.json 385 B 3ba673a5 download
generation_config.json 235 B 9a70d90b download

README current version from Hugging Face


license: apache-2.0
language:

  • pt
  • en
    library_name: transformers
    base_model:
  • maritaca-ai/S5-nano

S5-nano-abliterated

this is the abliterated variant of S5-nano(not fully to maintain capabilities)

S5-nano

This repository contains the BF16 version of S5-nano (8.7 GB), with the original, unquantized weights for vLLM and SGLang. The FP8 version reduces the weight size to 5.7 GB and is recommended for GPUs with native FP8 support. The GGUF versions are for llama.cpp and compatible applications, with BF16 (8.7 GB), Q8_0 (4.6 GB), and Q4_K_M (2.8 GB) options.

S5-nano is a 4B-parameter model post-trained by Maritaca AI from
Qwen3.5-4B. It delivers substantial
improvements on Brazilian benchmarks while maintaining strong performance in
function calling, tool use, and structured outputs.

It has two modes:

  • Think: reasons before answering (the default mode).
  • Instruct: answers directly, without a reasoning step.

The context window supports up to 262,144 tokens, and the weights include an MTP
(multi-token prediction) layer for speculative decoding.

Evaluation results

Explore the results in Observatório Maritaca

Results for the original S5-nano checkpoint, evaluated in BF16 on text tasks.

Averages

Each primary metric is weighted equally.

Overall averages in Think mode, with benchmark coverage
Overall averages in Instruct mode, with benchmark coverage
Model Mode Native BR Translated PT Non-native Total Coverage
Think
S5-nano 🇧🇷 Think 83.74 86.94 54.11 75.25 23/23
Qwen3.5-4B Think 72.49 87.61 54.82 68.68 23/23
LFM2.5-24B-A2B Think 69.68 87.30 56.45 67.06 23/23
Nemotron 3.5 Bolt E4B Think 71.42 84.92 50.78 64.95 23/23
Gemma 4 E4B Think 71.64 83.82 47.22 63.68 23/23
LFM3-1.7B Think 57.60 74.76 50.71 57.94 23/23
Lumi 4B 🇧🇷 Think 52.68 52.50 33.97 44.77 23/23
Tucano2-qwen-3.7B 🇧🇷 Think 34.83 46.12 30.45 33.13 22/23
Instruct
S5-nano 🇧🇷 Instruct 74.65 83.48 44.06 66.51 23/23
Qwen3.5-4B Instruct 66.22 84.94 47.20 61.84 23/23
Nemotron 3.5 Bolt E4B Instruct 67.58 81.16 46.57 60.47 23/23
Gemma 4 E4B Instruct 68.10 77.91 44.61 59.93 23/23
LatamGPT 70B Instruct 47.66 66.97 42.99 48.19 20/23
Gaia 4B 🇧🇷 Instruct 46.25 66.90 34.95 43.26 23/23
LFM3-1.7B Instruct 47.17 11.57 39.33 42.31 23/23
Lumi 4B 🇧🇷 Instruct 43.40 59.48 35.16 40.55 23/23
Tucano2-qwen-3.7B 🇧🇷 Instruct 31.87 40.97 25.30 29.75 23/23
Manacá 🇧🇷 Instruct 7.01 27.76 19.56 12.85 20/23
Compared models and sizes

Total, active, and effective parameter counts measure different things. LatamGPT 70B is a larger reference model; LFM2.5 has approximately 24B total parameters and 2B active parameters.

Model Parameters
S5-nano 🇧🇷 ≈4.2B · text
Qwen3.5-4B 4.66B · ≈4.2B text
Gemma 4 E4B 8B total · 4B effective
Nemotron 3.5 Bolt E4B 8B total · 4B effective
LFM3-1.7B 1.73B total
LFM2.5-24B-A2B 23.97B total · ≈2B active
Gaia 4B 🇧🇷 4.30B total
Manacá 🇧🇷 1.72B total
Tucano2-qwen-3.7B 🇧🇷 3.76B total
Lumi 4B 🇧🇷 3.97B total
LatamGPT 70B 70.55B · larger reference model

Results by benchmark

Bold indicates the best result within each group with a documented evaluation protocol, in the same mode. Different groups may produce more than one highlighted result in the same row. † indicates that the model produced reasoning in Instruct mode even though it was disabled in the request.

Think / Thinking

Evaluation / metric S5-nano 🇧🇷 Qwen3.5-4B Gemma 4 E4B Nemotron 3.5 Bolt E4B LFM3-1.7B LFM2.5-24B-A2B Tucano2-qwen-3.7B 🇧🇷 Lumi 4B 🇧🇷
Arena-Hard v2 · Weighted preference 19.12 11.67 20.06 25.82 11.18 21.65 0.35 3.62
Prosa-PT · Rubrics passed 75.07 56.89 60.14 59.87 51.24 54.41 25.94 30.90
IFBench · Strict prompt-level 42.67 49.67 37.33 59.67 68.67 71.67 12.33 23.67
CAPITU · Strict single-turn 95.50 90.00 85.00 89.00 96.00 98.00 50.00 65.00
CAPITU · full conversations · Strict full-conversation 97.00 92.00 74.00 81.00 94.00 95.00 33.00 37.00
Lumen PT · Safety · normalized score 98.92 94.75 99.23 99.92 77.62 91.51 No demonstrated capability 98.23
HarmBench · Safety · normalized score 91.25 96.56 83.12 91.56 84.69 89.06 90.62 94.69
MMLU-PT · high school · Accuracy 82.83 81.85 74.81 74.62 53.31 75.53 3.57 59.98
MMLU-PT · undergraduate · Accuracy 80.54 63.92 65.04 64.42 42.70 57.82 9.66 47.84
Global-MMLU PT · Accuracy 78.22 81.43 73.64 75.84 62.28 79.27 3.34 44.37
ENADE-QA · Accuracy 81.70 79.75 72.07 72.63 60.34 74.58 50.98 61.73
ENEM-VL · text · Accuracy 92.91 92.00 88.83 90.59 81.29 84.46 71.38 80.18
BLUEX v2 · text · Rubric-based score 87.89 84.46 82.89 80.03 81.50 82.60 62.71 65.16
MATH-PT · PT-BR · Accuracy 87.77 91.07 85.58 80.72 85.42 90.75 20.06 81.50
MARCA public · Criteria met 89.57 78.23 35.11 40.01 79.32 66.82 5.61 2.15
BrowseComp-Plus · Accuracy / total 37.00 27.00 8.00 7.00 29.00 28.00 0.00 4.00
Structured Output Benchmark · Weighted JSON pass rate 97.33 96.64 93.94 94.91 98.40 98.19 70.78 86.46
BRoverbs · Mean accuracy 92.83 79.97 82.73 87.13 40.76 68.91 69.43 31.35
ASSIN 2 · RTE · Macro F1 95.67 93.80 94.00 94.00 87.24 95.33 88.89 60.62
CulturalBench Hard · Fully correct groups 41.73 48.08 44.34 41.32 29.01 47.60 29.10 16.22
LongBench v2 · Accuracy 49.70 54.08 43.74 35.19 34.00 38.97 9.94 9.15
OAB-Bench · 210 · full · Mean score per exam × 10 82.00 45.88 53.19 50.43 27.93 40.83 25.39 31.18
Magis-Bench · 74 · full · Mean score per section × 10 50.41 13.97 23.38 21.86 7.81 15.42 3.33 4.50
CondutaBench · 140 · Native clinical score 80.24 67.92 58.49 57.27 42.81 70.98 25.47 27.33

Instruct

Evaluation / metric S5-nano 🇧🇷 Qwen3.5-4B Gemma 4 E4B Nemotron 3.5 Bolt E4B LFM3-1.7B Gaia 4B 🇧🇷 Manacá 🇧🇷 Tucano2-qwen-3.7B 🇧🇷 Lumi 4B 🇧🇷 LatamGPT 70B
Arena-Hard v2 · Weighted preference 4.67 10.01 18.47 19.31 2.86 † 1.00 0.00 0.33 1.45 3.41
Prosa-PT · Rubrics passed 64.70 57.12 58.45 58.11 40.00 42.28 7.66 20.44 35.21 27.89
IFBench · Strict prompt-level 27.33 30.67 30.00 45.00 31.67 † 20.00 17.33 13.33 22.33 14.33
CAPITU · Strict single-turn 68.50 70.50 84.00 78.50 73.00 74.00 17.00 54.00 69.50 62.50
CAPITU · full conversations · Strict full-conversation 76.00 73.00 78.00 69.00 63.00 67.00 7.00 26.00 58.00 61.00
Lumen PT · Safety · normalized score 99.38 93.52 96.37 97.53 83.56 66.36 Tool calling not supported 61.81 85.65 Tool calling not supported
HarmBench · Safety · normalized score 85.00 95.00 90.31 92.19 87.19 † 76.25 94.06 83.44 90.31 88.12
MMLU-PT · high school · Accuracy 70.81 76.84 73.73 72.63 48.42 41.61 0.97 1.47 38.52 42.32
MMLU-PT · undergraduate · Accuracy 69.66 59.60 65.28 64.40 40.62 43.24 0.14 1.48 38.00 51.57
Global-MMLU PT · Accuracy 72.96 75.88 61.83 † 69.66 † 21.83 46.44 12.36 5.62 38.35 44.71
ENADE-QA · Accuracy 71.79 66.48 66.34 64.11 40.08 41.48 22.49 44.83 46.79 57.96
ENEM-VL · text · Accuracy 78.57 76.06 76.01 75.25 54.68 59.81 18.06 71.08 66.00 76.81
BLUEX v2 · text · Rubric-based score 85.60 80.49 80.00 80.51 70.56 66.06 3.00 41.07 66.46 72.16
MATH-PT · PT-BR · Accuracy 82.29 84.95 83.70 78.68 † 84.64 27.12 0.00 7.52 27.90 12.07
MARCA public · Criteria met 83.86 61.31 25.14 † 23.96 † 61.37 15.33 Tool calling not supported 11.02 3.41 Tool calling not supported
BrowseComp-Plus · Accuracy / total 25.00 17.00 7.00 † 5.00 † 6.00 † 1.00 Tool calling not supported 1.00 1.00 Tool calling not supported
Structured Output Benchmark · Weighted JSON pass rate 92.05 94.32 93.44 96.89 86.81 † 97.69 0.00 52.34 96.31 97.71
BRoverbs · Mean accuracy 87.13 81.78 73.32 87.48 22.02 63.30 14.08 75.47 41.88 78.41
ASSIN 2 · RTE · Macro F1 94.00 94.00 94.00 92.67 1.30 87.36 43.17 76.32 80.60 89.23
CulturalBench Hard · Fully correct groups 29.67 40.83 39.04 34.80 23.63 † 24.04 5.95 26.65 25.59 24.12
LongBench v2 · Accuracy 44.73 42.54 34.00 32.80 37.18 24.65 0.00 0.00 9.15 30.22
OAB-Bench · 210 · full · Mean score per exam × 10 73.94 45.24 52.34 49.43 24.92 32.71 3.52 15.39 24.06 46.86
Magis-Bench · 74 · full · Mean score per section × 10 41.10 17.32 22.15 22.56 4.93 8.31 0.33 2.07 4.62 14.40
CondutaBench · 140 · Native clinical score 77.00 50.93 53.58 49.39 25.85 34.93 -3.16 17.64 19.59 28.96
Evaluation populations, metrics, and documented limitations
  • BLUEX: 173 questions and 395 subquestions. One grading result for S5-nano Think and one for LFM3 Think did not produce valid JSON; GAIA Instruct had three failures due to the judge's context limit. These cases receive zero under the native scoring rules, remain in the denominator, and are reported in the completed evaluations. Their scores are included in the averages.
  • Prosa-PT: 981 conversations after 19 fixed exclusions. Rubrics without a recognized verdict are excluded from the denominator, following the native grader.
  • Arena-Hard v2: the primary score uses 100 hard tasks, with the native weighting and bootstrap procedure. The 50 creative-writing prompts are excluded from this score.
  • CAPITU: 200 single-turn prompts and 100 three-turn conversations. Citation grading accounts for typographic quotation marks; full-conversation results are a secondary metric.
  • Lumen: 1,296 scenarios and 22 benign controls. Tucano Think completed 0/22 controls and is not assigned a safety score: its lack of harmful actions is not treated as demonstrated safety. This result is excluded from the averages.
  • MMLU-PT and Global-MMLU PT: answer choices were extracted from chat responses; no equivalence is claimed with evaluations based on answer-choice probabilities.
  • CulturalBench Hard: 1,227 groups, with four answers per group. A group counts as correct only when all four answers are correct.
  • Structured Output Benchmark: weighted score over the 5,000 text items; the 324 OCR/transcription inputs are excluded from the primary denominator.
  • BrowseComp-Plus: correct answers divided by all 100 selected questions.
  • LongBench v2: 503 questions. Context limits vary by model; confirmed context-overflow cases receive zero and remain in the evaluation population.
  • OAB-Bench: 210 questions from editions 39–44, across seven subject areas and 42 exams. Magis-Bench: 74 questions and 24 exam sections. Both use their native exam/section aggregation, converted to a 0–100 scale.
  • CondutaBench: a stratified sample of 140/715 questions, covering 14 guidelines. ENADE-QA: the health-domain subset, with 716 questions.
  • Tool calling not supported indicates that no tool-use evaluation is available; it is not a score of zero.

S5-nano evaluation setup

Sampling parameters match the mode-specific recommendations used for Qwen3.5-4B. The context window was 262,144 tokens, with the qwen3 and qwen3_coder parsers.

During evaluation, Think used the remaining context space for output, without an additional cap. Instruct generally used a 32,768-token limit. For MATH-PT, Instruct used the math configuration: temperature 1.0, top-p 1.0, top-k 40, presence penalty 2.0, and an 81,920-token limit. The llama.cpp usage examples below retain the recommended 32,768-token limit.

Recommended generation parameters

Parameter Think Instruct
enable_thinking true (default) false
temperature 1.0 0.7
top_p 0.95 0.8
top_k 20 20
min_p 0.0 0.0
presence_penalty 1.5 1.5
repetition_penalty 1.0 1.0
max_tokens 32,768 32,768
  • Select the mode per request with chat_template_kwargs; the same server
    supports both modes.
  • For harder problems in Think mode, max_tokens can be increased to 81,920.
  • generation_config.json includes the Think-mode values, but not
    presence_penalty. Send the parameters with every request.

Serving with vLLM

vllm serve maritaca-ai/S5-nano \
  --max-model-len 262144 \
  --reasoning-parser qwen3 \
  --enable-auto-tool-choice --tool-call-parser qwen3_coder

The server starts at http://localhost:8000/v1 and is compatible with the OpenAI API.
Optional flags:

  • --speculative-config '{"method":"mtp","num_speculative_tokens":3}' enables
    speculative decoding with the MTP layer;
  • --language-model-only excludes the vision encoder, freeing memory for
    the KV cache;
  • --max-model-len 32768 reduces the context length for GPUs with less memory.

For the FP8 version, replace the model name with maritaca-ai/S5-nano-FP8
and keep the same flags.

When serving FP8, also use maritaca-ai/S5-nano-FP8 in the request's
model field (or MODEL in the Python examples).

Requests with curl

Think mode:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "maritaca-ai/S5-nano",
    "messages": [
      {"role": "user", "content": "Explain why the sky is blue."}
    ],
    "temperature": 1.0,
    "top_p": 0.95,
    "top_k": 20,
    "min_p": 0.0,
    "presence_penalty": 1.5,
    "max_tokens": 32768
  }'

Reasoning is returned in choices[0].message.reasoning, and the final answer
in choices[0].message.content.

Instruct mode:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "maritaca-ai/S5-nano",
    "messages": [
      {"role": "user", "content": "Write a haiku about the Cerrado."}
    ],
    "temperature": 0.7,
    "top_p": 0.8,
    "top_k": 20,
    "min_p": 0.0,
    "presence_penalty": 1.5,
    "max_tokens": 32768,
    "chat_template_kwargs": {"enable_thinking": false}
  }'

Requests with the OpenAI library

top_k, min_p, and chat_template_kwargs are not part of the OpenAI API;
pass them in extra_body.

from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
MODEL = "maritaca-ai/S5-nano"

THINK = dict(
    temperature=1.0,
    top_p=0.95,
    presence_penalty=1.5,
    max_tokens=32768,
    extra_body={"top_k": 20, "min_p": 0.0},
)
INSTRUCT = dict(
    temperature=0.7,
    top_p=0.8,
    presence_penalty=1.5,
    max_tokens=32768,
    extra_body={
        "top_k": 20,
        "min_p": 0.0,
        "chat_template_kwargs": {"enable_thinking": False},
    },
)

# Think
messages = [{"role": "user", "content": "Explain why the sky is blue."}]
resp = client.chat.completions.create(model=MODEL, messages=messages, **THINK)
msg = resp.choices[0].message
reasoning = getattr(msg, "reasoning", None)
print("reasoning:", reasoning)
print("answer:", msg.content)

# Next turn: pass the reasoning back along with the answer
messages.append({"role": "assistant", "content": msg.content, "reasoning": reasoning})
messages.append({"role": "user", "content": "And why does the sunset look reddish?"})
resp = client.chat.completions.create(model=MODEL, messages=messages, **THINK)
print(resp.choices[0].message.content)

# Instruct
resp = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", "content": "Write a haiku about the Cerrado."}],
    **INSTRUCT,
)
print(resp.choices[0].message.content)

The model was trained with reasoning from previous turns retained in the
conversation history. In multi-turn conversations, include the reasoning
field from each assistant response, as shown above.

Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration