Model reference · open weights
Qwen3-Coder is an open-weight language model from Qwen. Qwen3-Coder-480B-A35B-Instruct-FP8 (FP8) weighs 482 GB; the smallest configuration that runs it is 4× H200 141 GB.
Summary of the Qwen/Qwen3-Coder-30B-A3B-Instruct-FP8 model card, 2026-10-01. The estimate below is for another build of the family.
What it is
| Released by | Qwen |
|---|---|
| Released | 2025-07-31 |
| Parameters | 30.5B |
| VRAM | 482 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … B200 180 GB 12 smaller cards | — | — | — | |
| 4× H200 141 GB tensor parallel | 11 | 2 | 94K | 138 GB a card |
| 8× H100 80 GB tensor parallel | 25 | 6 | 202K | 78.1 GB a card |
| 8× A100 80 GB tensor parallel · FP8 without its speed-up here | 60 | 15 | all 256K | 78.2 GB a card |
| 4× B200 180 GB tensor parallel | 72 | 18 | all 256K | 176 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 487 GB | 493 GB |
| 5 | 495 GB | 526 GB |
| 8 | 501 GB | 551 GB |
| 16 | 518 GB | 618 GB |
| 32 | 551 GB | 751 GB |
| 64 | 618 GB | 1017 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| Qwen3-Coder-30B-A3B-Instruct-FP8 ↗ | 30.5B | FP8 | 31.2 GB | L40S 48 GB |
| Qwen3-Coder-30B-A3B-Instruct ↗ | 30.5B | BF16 | 61.1 GB | H100 80 GB |
| Qwen3-Coder-480B-A35B-Instruct-FP8 (above) ↗ | 480.2B | FP8 | 482 GB | 4× H200 141 GB |
| Qwen3-Coder-480B-A35B-Instruct ↗ | 480.2B | BF16 | 960 GB | 8× H200 141 GB |
| Qwen3-Coder-30B-A3B-Instruct-GGUF ↗ packaged by unsloth 27 builds: TQ1_0 8.0 GB … BF16 61.1 GB |
— | GGUF | 18.6 GB | 2× RTX 3060 12 GB |
From the model card
Qwen3-Coder is available in multiple sizes. Today, we're excited to introduce Qwen3-Coder-30B-A3B-Instruct-FP8. This streamlined model maintains impressive performance and efficiency, featuring the following key enhancements:
Qwen3-Coder-30B-A3B-Instruct-FP8 has the following features:
NOTE: This model supports only non-thinking mode and does not generate ```` blocks in its output. Meanwhile, specifying enable_thinking=False is no longer required.
For more details, including benchmark evaluation, hardware requirements, and inference performance, please refer to our blog, GitHub, and Documentation.
We advise you to use the latest version of transformers.
With transformers<4.51.0, you will encounter the following error:
KeyError: 'qwen3_moe'
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-Coder-30B-A3B-Instruct-FP8"
# 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 = "Write a quick sort algorithm."
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=65536
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
content = tokenizer.decode(output_ids, skip_special_tokens=True)
print("content:", content)
Note: If you encounter out-of-memory (OOM) issues, consider reducing the context length to a shorter value, such as 32,768.
For convenience and performance, we have provided fp8-quantized model checkpoint for Qwen3, whose name ends with -FP8. The quantization method is fine-grained fp8 quantization with block size of 128. You can find more details in the quantization_config field in config.json.
You can use the Qwen3-30B-A3B-Instruct-FP8 model with serveral inference frameworks, including transformers, sglang, and vllm, as the original bfloat16 model.
However, please pay attention to the following known issues:
transformers:
transformers for distributed inference. You may need to set the environment variable CUDA_LAUNCH_BLOCKING=1 if multiple devices are used in inference.Qwen3-Coder excels in tool calling capabilities.
You can simply define or use any tools as following example.
# Your tool implementation
def square_the_number(num: float) -> dict:
return num ** 2
# Define Tools
tools=[
{
"type":"function",
"function":{
"name": "square_the_number",
"description": "output the square of the number.",
"parameters": {
"type": "object",
"required": ["input_num"],
"properties": {
'input_num': {
'type': 'number',
'description': 'input_num is a number that will be squared'
}
},
}
}
}
]
import OpenAI
# Define LLM
client = OpenAI(
# Use a custom endpoint compatible with OpenAI API
base_url='http://localhost:8000/v1', # api_base
api_key="EMPTY"
)
messages = [{'role': 'user', 'content': 'square the number 1024'}]
completion = client.chat.completions.create(
messages=messages,
model="Qwen3-Coder-30B-A3B-Instruct-FP8",
max_tokens=65536,
tools=tools,
)
print(completion.choice[0])
To achieve optimal performance, we recommend the following settings:
Sampling Parameters:
temperature=0.7, top_p=0.8, top_k=20, repetition_penalty=1.05.Adequate Output Length: We recommend using an output length of 65,536 tokens for most queries, which is adequate for instruct models.
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},
}
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.