alt.freeweights.qwen / Qwen3-4B-Thinking-2507-bnb-4bit
From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.qwenSubject:

Qwen3-4B-Thinking-2507-bnb-4bit

Date: 2026-11-15Commit: a1b773dSigned: 2DC28CC7B26A283B ✓

Text generation model with 4.1B parameters. Safetensors weights, 2.67 GB in all. Published by unsloth under Apache-2.0.

4.1B params2.67GBQwen3-4B-Thinking-2507-bnb-4bitsafetensorspermissive
FactsParams4.1BSize2.67 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get unsloth/Qwen3-4B-Thinking-2507-bnb-4bit
# manifest sha256 0e5940c313d4… · 2.67 GB · 12 files
$ fw verify ./Qwen3-4B-Thinking-2507-bnb-4bit unsloth/Qwen3-4B-Thinking-2507-bnb-4bit
From sourceHosted (signed)unsloth/Qwen3-4B-Thinking-2507-bnb-4bitLast check: 2026-11-15 05:03 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Quantized of Qwen3-4B-Thinking-2507.

Works with

Overview

Size
2.67 GB
Weights
2.65 GB (safetensors)
Parameters
4.1B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
12, each with a sha256
Publisher
unsloth
Added
2026-11-15
Section
alt.freeweights.qwen
Lineage

Original release from the publisher.

Base model: Qwen/Qwen3-4B-Thinking-2507

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 05:03 UTCpassed

Model card

From the publisher at commit a1b773d. Shown as plain text with links; images open at the publisher.

Unsloth Dynamic 2.0 achieves superior accuracy & outperforms other leading quants.

https://github.com/unslothai/unsloth/ https://discord.gg/unsloth https://docs.unsloth.ai/

Qwen3-4B-Thinking-2507#

Chat

Highlights#

Over the past three months, we have continued to scale the thinking capability of Qwen3-4B, improving both the quality and depth of reasoning. We are pleased to introduce Qwen3-4B-Thinking-2507, featuring the following key enhancements:

  • Significantly improved performance on reasoning tasks, including logical reasoning, mathematics, science, coding, and academic benchmarks that typically require human expertise.
  • Markedly better general capabilities, such as instruction following, tool usage, text generation, and alignment with human preferences.
  • Enhanced 256K long-context understanding capabilities.

NOTE: This version has an increased thinking length. We strongly recommend its use in highly complex reasoning tasks.

Image: image/jpeg

Model Overview#

Qwen3-4B-Thinking-2507 has the following features:

  • Type: Causal Language Models
  • Training Stage: Pretraining & Post-training
  • Number of Parameters: 4.0B
  • Number of Paramaters (Non-Embedding): 3.6B
  • Number of Layers: 36
  • Number of Attention Heads (GQA): 32 for Q and 8 for KV
  • Context Length: 262,144 natively.

NOTE: This model supports only thinking mode. Meanwhile, specifying enable_thinking=True is no longer required.

Additionally, to enforce model thinking, the default chat template automatically includes <think>. Therefore, it is normal for the model's output to contain only </think> without an explicit opening <think> tag.

For more details, including benchmark evaluation, hardware requirements, and inference performance, please refer to our blog, GitHub, and Documentation.

Performance#

Qwen3-30B-A3B ThinkingQwen3-4B ThinkingQwen3-4B-Thinking-2507
Knowledge
MMLU-Pro78.570.474.0
MMLU-Redux89.583.786.1
GPQA65.855.965.8
SuperGPQA51.842.747.8
Reasoning
AIME2570.965.681.3
HMMT2549.842.155.5
LiveBench 2024112574.363.671.8
Coding
LiveCodeBench v6 (25.02-25.05)57.448.455.2
CFEval194016711852
OJBench20.716.117.9
Alignment
IFEval86.581.987.4
Arena-Hard v2$36.313.734.9
Creative Writing v379.161.175.6
WritingBench77.073.583.3
Agent
BFCL-v369.165.971.2
TAU1-Retail61.733.966.1
TAU1-Airline32.032.048.0
TAU2-Retail34.238.653.5
TAU2-Airline36.028.058.0
TAU2-Telecom22.817.527.2
Multilingualism
MultiIF72.266.377.3
MMLU-ProX73.161.064.2
INCLUDE71.961.864.4
PolyMATH46.140.046.2

$ For reproducibility, we report the win rates evaluated by GPT-4.1.

\& For highly challenging tasks (including PolyMATH and all reasoning and coding tasks), we use an output length of 81,920 tokens. For all other tasks, we set the output length to 32,768.

Quickstart#

The code of Qwen3 has been in the latest Hugging Face transformers and we advise you to use the latest version of transformers.

With transformers<4.51.0, you will encounter the following error:

KeyError: 'qwen3'

The following contains a code snippet illustrating how to use the model generate content based on given inputs.

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen3-4B-Thinking-2507"

# load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)

# prepare the model input
prompt = "Give me a short introduction to large language model."
messages = [
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

# conduct text completion
generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=32768
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist() 

# parsing thinking content
try:
    # rindex finding 151668 (</think>)
    index = len(output_ids) - output_ids[::-1].index(151668)
except ValueError:
    index = 0

thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\n")
content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")

print("thinking content:", thinking_content) # no opening <think> tag
print("content:", content)

For deployment, you can use sglang>=0.4.6.post1 or vllm>=0.8.5 or to create an OpenAI-compatible API endpoint:

  • SGLang: shell python -m sglang.launch_server --model-path Qwen/Qwen3-4B-Thinking-2507 --context-length 262144 --reasoning-parser deepseek-r1
  • vLLM: shell vllm serve Qwen/Qwen3-4B-Thinking-2507 --max-model-len 262144 --enable-reasoning --reasoning-parser deepseek_r1

Note: If you encounter out-of-memory (OOM) issues, you may consider reducing the context length to a smaller value. However, since the model may require longer token sequences for reasoning, we strongly recommend using a context length greater than 131,072 when possible.

For local use, applications such as Ollama, LMStudio, MLX-LM, llama.cpp, and KTransformers have also supported Qwen3.

Agentic Use#

Qwen3 excels in tool calling capabilities. We recommend using Qwen-Agent to make the best use of agentic ability of Qwen3. Qwen-Agent encapsulates tool-calling templates and tool-calling parsers internally, greatly reducing coding complexity.

To define the available tools, you can use the MCP configuration file, use the integrated tool of Qwen-Agent, or integrate other tools by yourself.

from qwen_agent.agents import Assistant

# Define LLM
# Using OpenAI-compatible API endpoint. It is recommended to disable the reasoning and the tool call parsing
# functionality of the deployment frameworks and let Qwen-Agent automate the related operations. For example, 
# `VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3-4B-Thinking-2507 --served-model-name Qwen3-4B-Thinking-2507 --max-model-len 262144`.
llm_cfg = {
    'model': 'Qwen3-4B-Thinking-2507',

    # Use a custom endpoint compatible with OpenAI API:
    'model_server': 'http://localhost:8000/v1',  # api_base without reasoning and tool call parsing
    'api_key': 'EMPTY',
    'generate_cfg': {
        'thought_in_content': True,
    },
}

# Define Tools
tools = [
    {'mcpServers': {  # You can specify the MCP configuration file
            'time': {
                'command': 'uvx',
                'args': ['mcp-server-time', '--local-timezone=Asia/Shanghai']
            },
            "fetch": {
                "command": "uvx",
                "args": ["mcp-server-fetch"]
            }
        }
    },
  'code_interpreter',  # Built-in tools
]

# Define Agent
bot = Assistant(llm=llm_cfg, function_list=tools)

# Streaming generation
messages = [{'role': 'user', 'content': 'https://qwenlm.github.io/blog/ Introduce the latest developments of Qwen'}]
for responses in bot.run(messages=messages):
    pass
print(responses)

Best Practices#

To achieve optimal performance, we recommend the following settings:

  1. Sampling Parameters:
    • We suggest using Temperature=0.6, TopP=0.95, TopK=20, and MinP=0.
    • For supported frameworks, you can adjust the presence_penalty parameter between 0 and 2 to reduce endless repetitions. However, using a higher value may occasionally result in language mixing and a slight decrease in model performance.
  2. Adequate Output Length: We recommend using an output length of 32,768 tokens for most queries. For benchmarking on highly complex problems, such as those found in math and programming competitions, we suggest setting the max output length to 81,920 tokens. This provides the model with sufficient space to generate detailed and comprehensive responses, thereby enhancing its overall performance.
  3. Standardize Output Format: We recommend using prompts to standardize model outputs when benchmarking.
    • Math Problems: Include "Please reason step by step, and put your final answer within \boxed{}." in the prompt.
    • Multiple-Choice Questions: Add the following JSON structure to the prompt to standardize responses: "Please show your choice in the answer field with only the choice letter, e.g., "answer": "C"."
  4. No Thinking Content in History: In multi-turn conversations, the historical model output should only include the final output part and does not need to include the thinking content. It is implemented in the provided chat template in Jinja2. However, for frameworks that do not directly use the Jinja2 chat template, it is up to the developers to ensure that the best practice is followed.
Citation#

If you find our work helpful, feel free to give us a cite.

@misc{qwen3technicalreport,
      title={Qwen3 Technical Report}, 
      author={Qwen Team},
      year={2025},
      eprint={2505.09388},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2505.09388}, 
}

Files

12 files · 2.67 GBWeights 2.65 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 12 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.md10.9 KBf336bd5650916ccbc167e51614d5c19775157fc813a9c2b61b9a33893e028989
added_tokens.json707 Bc0284b582e14987fbd3d5a2cb2bd139084371ed9acbae488829a1c900833c680
chat_template.jinja4.05 KB3802169b2a02b81e6adb7ab4f64f91ff02db753c8c3a64a01c35192d3a61d8d7
config.json2.19 KBd344b5e322cface882e8ce8f7093db80b3e17552926df51a95338256d699d18e
generation_config.json238 B16a65bfb4d0eb35f0a990091752e01ac138422e23962570ecd44f6f943658e30
merges.txt1.67 MB8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
model.safetensors2.65 GB1a19486c4d17ecf52fcb59c4c9aa71fe8c9d7fdcb32ab6ad1d26a427a423766a
special_tokens_map.json614 Bb5acd1507cb3a3539e63369cb4a2b675a599cf13afe62282d371518288967797
tokenizer.json11.4 MBaeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
tokenizer_config.json9.66 KB8fc8f2869728e19d0f7ddc955f48ae30c815a64cb1465cbe569720e1c4ea7872
vocab.json2.78 MBca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
a1b773dfdc pinned now2026-11-15 05:03 UTC12 files · 2.67 GB

Use it

$ fw get unsloth/Qwen3-4B-Thinking-2507-bnb-4bit
# manifest sha256 0e5940c313d4… · 2.67 GB · 12 files
$ fw verify ./Qwen3-4B-Thinking-2507-bnb-4bit unsloth/Qwen3-4B-Thinking-2507-bnb-4bit
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/unsloth/Qwen3-4B-Thinking-2507-bnb-4bit.json --dir ./Qwen3-4B-Thinking-2507-bnb-4bit $ python3 fw.py verify ./Qwen3-4B-Thinking-2507-bnb-4bit ./unsloth__Qwen3-4B-Thinking-2507-bnb-4bit.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/Qwen3-4B-Thinking-2507-bnb-4bit --revision a1b773dfdced457ae4d443b3d0124ae2b203e10f --local-dir ./Qwen3-4B-Thinking-2507-bnb-4bit
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("unsloth/Qwen3-4B-Thinking-2507-bnb-4bit", revision="a1b773dfdced457ae4d443b3d0124ae2b203e10f") model = AutoModelForCausalLM.from_pretrained("unsloth/Qwen3-4B-Thinking-2507-bnb-4bit", revision="a1b773dfdced457ae4d443b3d0124ae2b203e10f", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve unsloth/Qwen3-4B-Thinking-2507-bnb-4bit --revision a1b773dfdced457ae4d443b3d0124ae2b203e10f

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
f336bd5650916ccbc167e51614d5c19775157fc813a9c2b61b9a33893e028989
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.qwenSubject: Qwen3-4B-Thinking-2507-bnb-4bitDate: 2026-11-15Commit: a1b773dSigned: 2DC28CC7B26A283B ✓
Upstream
unsloth/Qwen3-4B-Thinking-2507-bnb-4bit
Pinned commit
a1b773dfdced457ae4d443b3d0124ae2b203e10f
Manifest
Qwen3-4B-Thinking-2507-bnb-4bit.json · .minisig
Manifest sha256
0e5940c313d4d8899f290060eaf329647fc7bf187a99813e118dae1355d8cb04
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:03 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/unsloth/Qwen3-4B-Thinking-2507-bnb-4bit.json $ curl -O https://freeweights.allternit.com/manifests/unsloth/Qwen3-4B-Thinking-2507-bnb-4bit.json.minisig $ minisign -Vm Qwen3-4B-Thinking-2507-bnb-4bit.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

Qwen/Qwen3-4B-Thinking-2507 · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/Qwen3-4B-Thinking-2507-bnb-4bit
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Qwen3-4B-Thinking-2507-bnb-4bit.json. Provenance. Takedown history: none.
From: BAAI <huggingface.co/BAAI>Subject: Aquila-VL-2B-llava-qwen
From: Perciqa <huggingface.co/Perciqa>Subject: Aurora-Code-1
From: BAAI <huggingface.co/BAAI>Subject: bge-reasoner-embed-qwen3-8b-0923
From: amazon <huggingface.co/amazon>Subject: BMOJOF-primed-HQwen3-8B-Instruct
From: nbeerbower <huggingface.co/nbeerbower>Subject: Bubba-Qwen3.6-27B-LoRA
From: bartowski <huggingface.co/bartowski>Subject: bytkim_Qwen3.8-27B-pi-GGUF