HumanQwen3.5-4B

A fine-tune of Qwen/Qwen3.5-4B that writes the way people actually write: fewer stock phrases, less filler, no reflexive bullet lists, and no "I hope this helps!". It keeps the base model's coding, math and reasoning abilities, which were measured before and after (see below).

Trained with Unsloth on 8× RTX 5090.

How it was trained

All training data is permissively licensed, so the model is released under Apache 2.0.

SFT (LoRA r=128 on all linear layers, merged, 2 epochs, Unsloth, padding-free, 8× RTX 5090, 28 minutes), 23k examples:

  • Human replies: the best-ranked human assistant replies from OpenAssistant oasst2 (Apache-2.0), English only, quality- and toxicity-filtered, one example per assistant turn.
  • Human long-form writing: documents from fineweb-edu (ODC-BY) crawled in 2019–2020, before AI-generated web text was common. The base model wrote the request each document answers (instruction back-translation); the response is the untouched human text.
  • Capability replay: the base model's own answers to chat (UltraChat, MIT), math (GSM8K/MATH, MIT) and code (Magicoder OSS-Instruct, MIT) prompts. Math and code keep their full reasoning in thinking mode, so the model doesn't drift away from what it could already do. A DPO stage (human reply preferred over the base model's reply) was also trained, but it is not part of this release: it lowered non-thinking GSM8K from 90.5% to 82.8% and HumanEval from 78.0% to 68.3%.

Evaluation

All prompts are held out from training. Sampling for every model: temperature 0.7, top-p 0.8, top-k 20, non-thinking mode. HumanQwen long-form uses presence_penalty=1.5 (see Usage).

Style. Chat: 300 held-out oasst2 conversations, compared with the real human reply. Long-form: 200 held-out writing requests, compared with the real 2019–2020 human document.

Chat replies Qwen3.5-4B HumanQwen3.5-4B Real humans
Length (words) 549 209 179
Replies with markdown headers 79% 6% 4%
Bold phrases per 100 words 3.6 0.24 0.09
Lines that are bullet points 40% 26% 22%
Long-form writing Qwen3.5-4B HumanQwen3.5-4B Real humans
Length (words) 628 507 589
Pieces with markdown headers 85% 0% 0%
Bold phrases per 100 words 1.77 0 0
Lines that are bullet points 23% 8.5% 5.7%
Stock LLM phrases per 1k words ("delve", "it's important to note", …) 1.35 0.86 0.33

Capabilities (GSM8K: 400 test problems; HumanEval: all 164, executed):

Qwen3.5-4B HumanQwen3.5-4B
GSM8K, thinking 85.8% 87.0%
HumanEval, thinking 90.2% 90.9%
GSM8K, non-thinking 91.5% 90.5%
HumanEval, non-thinking 82.9% 78.0%

An honest caveat about AI detectors. The open detector fakespot-ai/roberta-base-ai-text-detection-v1 still flags HumanQwen's long-form writing as AI-generated (100% of pieces, vs. 98.5% for the base model and 15.5% for the real human documents). The model writes with human structure and register, but not with human-like token statistics. (On chat the detector is uninformative: it flags 91% of the real human oasst replies as AI.)

Usage

Writing style was trained in non-thinking mode (enable_thinking=False); thinking mode is kept for math and code. Use Qwen3.5's recommended non-thinking sampling including presence_penalty=1.5. Without it, about 40% of long pieces fall into repetition loops; with it, about 5% do.

vllm serve Thermostatic/HumanQwen3.5-4B --max-model-len 32768
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="x")
r = client.chat.completions.create(
    model="Thermostatic/HumanQwen3.5-4B",
    messages=[{"role": "user", "content": "Write a short blog post about learning to bake sourdough."}],
    temperature=0.7, top_p=0.8, presence_penalty=1.5,
    extra_body={"top_k": 20, "chat_template_kwargs": {"enable_thinking": False}},
)
print(r.choices[0].message.content)

Limitations

  • The human-written training replies come from crowd volunteers (oasst2) and 2019–2020 web pages, with their quirks. The model can be terser than you might want.
  • It reads more human, but it does not evade AI-text detectors (see Evaluation).
  • Non-thinking HumanEval is about 5 points lower than the base model; use thinking mode for code.
  • Long outputs can loop without presence_penalty.
  • Only English writing was targeted.

License

Apache 2.0. Base model: Qwen3.5-4B by the Qwen team (Apache 2.0). Training data: OpenAssistant oasst2 (Apache-2.0), fineweb-edu (ODC-BY), UltraChat 200k (MIT), GSM8K (MIT), MATH (MIT), Magicoder OSS-Instruct (MIT).

Downloads last month
38
Safetensors
Model size
5B params
Tensor type
BF16
·
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Thermostatic/HumanQwen3.5-4B

Finetuned
Qwen/Qwen3.5-4B
Finetuned
(1,288)
this model
Quantizations
2 models

Datasets used to train Thermostatic/HumanQwen3.5-4B