Downloads · 30 days
511
45% of all-time downloads
oracomputing/Qwen3-4B-ORA-W3
Qwen3-4B-ORA-W3 is a text generation model from oracomputing. Use it when you need the model to write or continue text. It is set up for vllm. The card lists the license as other.
<div align="center" <img src="assets/ora-logo-extended-white.svg" alt="Ora" width="520"/ <br/ <a href="https://www.oracomputing.com/en"<bWebsite</b</a · <a href="https://www.oracomputing.com/en/blog/ora-qa…
Downloads · 30 days
511
45% of all-time downloads
All-time downloads
1.1K
Public
Parameters
4B
2.2 GB on disk
Likes
3
Public
Click a slice to open those files.
.safetensors2.2 GB · 99%
How the weights are stored.
I323.6B · 90%
From the Hugging Face model README
[!IMPORTANT] ~3.7× smaller than the original 16-bit Qwen3-4B, with 96.5% accuracy retention.
3-bit weight-only quantization for Qwen/Qwen3-4B using our propietary Qauntization-Aware-Training pipeline, more information in the dedicated post.
Serve with vLLM ≥ 0.25.0 (Humming WNA16) to keep weights packed. Transformers also works if you pin compressed-tensors>=0.18 but it decompresses the 3-bit weights to bf16 in memory.
Scores versus the original 16-bit Qwen/Qwen3-4B. Higher is better.
| Model | MMLU-Pro | GSM8K Platinum | IFEval | MBPP+ | BFCL-v3 | Average | Real BPW | Retention |
|---|---|---|---|---|---|---|---|---|
| Qwen3-4B (bf16) | 49.20 | 89.99 | 84.89 | 71.69 | 84.81 | 76.12 | 16.00 | 100.0% |
| ORA-W3 | 44.56 | 85.03 | 82.97 | 72.75 | 81.97 | 73.46 | 4.37 | 96.5% |
Note: The same setup was applied to all models, so scores in this table are comparable.
<!-- Optional chart: drop a PNG at assets/benchmarks.png and uncomment the next line.  -->Packed 3-bit inference. This is the path that keeps the size win.
pip install "vllm>=0.25.0"
vllm serve oracomputing/Qwen3-4B-ORA-W3
The server speaks the OpenAI chat API on http://localhost:8000:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "oracomputing/Qwen3-4B-ORA-W3",
"messages": [{"role": "user", "content": "Hello"}],
"temperature": 0.6,
"top_p": 0.95,
"top_k": 20,
"max_tokens": 2048
}'
Python:
from vllm import LLM, SamplingParams
llm = LLM(model="oracomputing/Qwen3-4B-ORA-W3")
params = SamplingParams(
temperature=0.6,
top_p=0.95,
top_k=20,
min_p=0.0,
max_tokens=2048,
)
print(llm.generate(["Hello"], params)[0].outputs[0].text)
If Humming fails with failed to open libnvrtc-builtins.so.13.0, point LD_LIBRARY_PATH at your CUDA 13 NVRTC libs (for example .../site-packages/nvidia/cu13/lib from the PyTorch/NVIDIA wheels).
Pin compressed-tensors ≥ 0.18 so the dense 3-bit pack unpacks correctly. Older 0.17.x will mis-decode these weights. Transformers loads the model as bf16 (not packed 3-bit inference).
pip install "transformers>=4.51" "compressed-tensors>=0.18"
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.utils.quantization_config import CompressedTensorsConfig
model_id = "oracomputing/Qwen3-4B-ORA-W3"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype="bfloat16",
device_map="auto",
quantization_config=CompressedTensorsConfig(run_compressed=False),
)
messages = [{"role": "user", "content": "Hello"}]
text = tok.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True,
)
ids = tok(text, return_tensors="pt").to(model.device)
out = model.generate(**ids, max_new_tokens=256, temperature=0.6, top_p=0.95, top_k=20)
print(tok.decode(out[0], skip_special_tokens=True))
Sampling defaults are the same as Qwen/Qwen3-4B. They are already stored in this checkpoint’s generation_config.json for thinking mode.
Sampling parameters
enable_thinking=True): temperature=0.6, top_p=0.95, top_k=20, min_p=0. Do not use greedy decoding — it degrades quality and can loop forever. These are the defaults in generation_config.json.enable_thinking=False): temperature=0.7, top_p=0.8, top_k=20, min_p=0.presence_penalty between 0 and 2 (1.5 is a common starting point). Higher values can mix languages and slightly hurt quality.Output length
Switching thinking on or off
Pass enable_thinking through the chat template (Transformers and vLLM both honor this):
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True, # or False
)
Prompt format when you are benchmarking
Please reason step by step, and put your final answer within \boxed{}."answer": "C".Multi-turn history
Keep only the final answer in conversation history — drop the <think>...</think> block from earlier turns.