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-30B-A3B-Instruct (BF16) weighs 61.1 GB; the smallest configuration that runs it is H100 80 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
VRAM61.1 GB for the weights

What it runs on

Memory and cards for Qwen3-Coder-30B-A3B-Instruct (BF16)

61.1 GBweights, file size
98 MBcache per 1K tokens
1.1 GBruntime overhead, at least
262,144 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … L40S 48 GB
6 smaller cards
———
A100 80 GB194158K78.2 GB
H100 80 GB123103K78.1 GB
RTX PRO 6000 Blackwell 96 GB328all 256K93.8 GB
DGX Spark (GB10) 128 GB unified4912all 256K107 GB
H200 141 GB8721all 256K138 GB
B200 180 GB13132all 256K176 GB
2× L40S 48 GB
tensor parallel
307244K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
348all 256K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
348all 256K23.4 GB a card
4× RTX 5090 32 GB
tensor parallel
7218all 256K31.0 GB a card
2× H100 80 GB
tensor parallel
10125all 256K78.1 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
163.0 GB65.4 GB
566.2 GB78.3 GB
868.6 GB88.0 GB
1675.1 GB114 GB
3288.0 GB165 GB
64114 GB268 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 (above) ↗ 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 ↗ 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