Downloads · 30 days
2.9K
16% of all-time downloads
empero-ai/Qwen3.8-2B-Distill
Qwen3.8-2B-Distill is a text generation model from empero-ai. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
Downloads · 30 days
2.9K
16% of all-time downloads
All-time downloads
18.5K
Public
Parameters
2.3B
4.6 GB on disk
Likes
47
Public
Click a slice to open those files.
.safetensors4.5 GB · 99%
From the Hugging Face model README
Developed by Empero
[!Note] This repository contains model weights and configuration files in the Hugging Face Transformers format.
These artifacts are compatible with Hugging Face Transformers, vLLM, SGLang, and other standard runtimes with Qwen3.5 architecture support.
Qwen3.8-2B is a full-parameter distillation of Qwen3.8 2.4T A95B into the Qwen3.5-2B architecture — the smallest member of the family, trained on the same curriculum as its larger siblings. The student saw ~30,000 curated teacher traces from our internal Qwen3.8 distillation datasets — dense chain-of-thought spanning mathematics, general reasoning, and instruction following, quality-filtered before training.
The objective: the same teacher, the same reasoning curriculum, in a model small enough for the edge. What changes across Qwen3.8-9B, Qwen3.8-4B and this model is the student's capacity — not the quality or the character of what it was taught.
<think> block learned directly from Qwen3.8 2.4T A95B traces rather than synthetic self-generated reasoning.Measured with lm-evaluation-harness, HF backend, identical settings for base and student. Both models are reasoning models and are evaluated with the CoT protocols (gsm8k_cot, mmlu_flan_cot_zeroshot); MMLU covers all 57 subjects (~1,700 questions). Flexible-extract is the primary metric; strict-match requires exact answer formatting.
| Task | Metric | Qwen3.5-2B (base) | Qwen3.8-2B | Δ |
|---|---|---|---|---|
| gsm8k_cot | exact_match (flexible) | 0.330 | 0.640 | +0.310 |
| gsm8k_cot | exact_match (strict) | 0.545 | 0.640 | +0.095 |
| mmlu (CoT, 57 subjects) | acc (flexible-extract) | 0.283 | 0.548 | +0.265 |
| mmlu (CoT, 57 subjects) | acc (strict-match) | 0.004 | 0.225 | +0.221 |
Sampling for generation: temperature=0.6, top_p=0.95, top_k=20 (Qwen3.5 recommended settings).
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "empero-ai/Qwen3.8-2B"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.bfloat16, device_map="auto")
messages = [{"role": "user", "content": "A snail is at the bottom of a 10-meter well. Each day it climbs 3 meters, each night it slips back 2. How many days until it escapes?"}]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=16384,
temperature=0.6, top_p=0.95, top_k=20, do_sample=True)
print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))
A recent transformers release with Qwen3.5 support is required, along with the Gated DeltaNet kernels (flash-linear-attention and a CUDA-matched causal_conv1d build) — without them the linear-attention layers fall back to slow, memory-hungry PyTorch ops.
temperature=0.6, top_p=0.95, top_k=20. Greedy decoding on long generations is a known repetition-loop failure mode for reasoning models in this class.max_new_tokens (16,384 recommended); every answer opens with a <think> block. Parse and strip the <think>...</think> span for end users.Sign up for the Empero newsletter at empero.org for releases, evals, and research notes.
If this model helped you, consider supporting the project:
bc1qx6zepu6sfkvshgdmc4ewu6pk6rpadvpgffpp7vltc1qv2mefzps2vtjcpwfx8xxdrpplrcvltswm68r7xWeights are released under Apache-2.0, inherited from the Qwen3.5-2B base. Shared for research and experimentation, as-is.