Model reference · open weights

Qwen3-Coder

LLMs Qwen Text gen · MoE 5 builds Open weights 1.1M dl/mo

Qwen3-Coder is an open-weight language model from Qwen. Qwen3-Coder-480B-A35B-Instruct (BF16) weighs 960 GB; the smallest configuration that runs it is 8× H200 141 GB.

  • Qwen3-Coder is a causal language model developed by Qwen for text generation, specifically designed for agentic coding and browser-use tasks.
  • The 30.5B parameter model features 3.3B activated parameters and supports a native context length of 262,144 tokens.
  • It is distributed under the Apache-2.0 license and includes an FP8 quantized checkpoint for efficient inference.

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 byQwen
Released2025-07-31
Parameters30.5B
VRAM960 GB for the weights

What it runs on

Memory and cards for Qwen3-Coder-480B-A35B-Instruct (BF16)

960 GBweights, file size
254 MBcache per 1K tokens
2.3 GBruntime overhead, at least
262,144 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … 8× A100 80 GB
14 smaller cards
———
8× H200 141 GB
tensor parallel
256205K138 GB a card
8× B200 180 GB
tensor parallel
14636all 256K176 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
1965 GB971 GB
5973 GB1004 GB
8979 GB1029 GB
16996 GB1096 GB
321029 GB1229 GB
641096 GB1495 GB

One card, with vLLM's small-card settings.

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
Qwen3-Coder-30B-A3B-Instruct-FP8 ↗ 30.5BFP8 31.2 GBL40S 48 GB
Qwen3-Coder-30B-A3B-Instruct ↗ 30.5BBF16 61.1 GBH100 80 GB
Qwen3-Coder-480B-A35B-Instruct-FP8 ↗ 480.2BFP8 482 GB4× H200 141 GB
Qwen3-Coder-480B-A35B-Instruct (above) ↗ 480.2BBF16 960 GB8× 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 GB2× RTX 3060 12 GB

From the model card

What Qwen says about Qwen3-Coder

Read the model card

Highlights

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:

  • Significant Performance among open models on Agentic Coding, Agentic Browser-Use, and other foundational coding tasks.
  • Long-context Capabilities with native support for 256K tokens, extendable up to 1M tokens using Yarn, optimized for repository-scale understanding.
  • Agentic Coding supporting for most platform such as Qwen Code, CLINE, featuring a specially designed function call format.

Model Overview

Qwen3-Coder-30B-A3B-Instruct-FP8 has the following features:

  • Type: Causal Language Models
  • Training Stage: Pretraining & Post-training
  • Number of Parameters: 30.5B in total and 3.3B activated
  • Number of Layers: 48
  • Number of Attention Heads (GQA): 32 for Q and 4 for KV
  • Number of Experts: 128
  • Number of Activated Experts: 8
  • Context Length: 262,144 natively.

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.

Quickstart

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.

Note on FP8

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:
    • there are currently issues with the "fine-grained fp8" method in transformers for distributed inference. You may need to set the environment variable CUDA_LAUNCH_BLOCKING=1 if multiple devices are used in inference.

Agentic Coding

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])

Best Practices

To achieve optimal performance, we recommend the following settings:

  1. Sampling Parameters:

    • We suggest using temperature=0.7, top_p=0.8, top_k=20, repetition_penalty=1.05.
  2. Adequate Output Length: We recommend using an output length of 65,536 tokens for most queries, which is adequate for instruct models.

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},
}

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms