Model reference · open weights

ERNIE-4.5-Thinking

LLMs baidu Text gen · MoE 1 build Open weights 16k dl/mo

ERNIE-4.5-Thinking is an open-weight language model from Baidu. ERNIE-4.5-21B-A3B-Thinking (BF16) weighs 43.7 GB; the smallest configuration that runs it is 2× RTX 5090 32 GB.

  • ERNIE-4.5-Thinking is a text-generation model developed by Baidu with 21.8B total parameters and 3B activated parameters per token.
  • It supports a context length of 131,072 tokens and is designed for complex reasoning tasks in English and Chinese.
  • The model is released under the Apache 2.0 license.

Summary of the baidu/ERNIE-4.5-21B-A3B-Thinking model card, 2026-10-01

What it is

Released byBaidu
Released2025-09-08
Parameters21.8B
VRAM43.7 GB for the weights

What it runs on

Memory and cards for ERNIE-4.5-21B-A3B-Thinking (BF16)

43.7 GBweights, file size
57 MBcache per 1K tokens
678 MBruntime overhead, at least
131,072 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … L40S 48 GB
6 smaller cards
———
A100 80 GB7218all 128K78.2 GB
H100 80 GB6315all 128K78.1 GB
RTX PRO 6000 Blackwell 96 GB9724all 128K93.8 GB
DGX Spark (GB10) 128 GB unified12631all 128K107 GB
H200 141 GB19147all 128K138 GB
B200 180 GB27167all 128K176 GB
2× RTX 5090 32 GB
tensor parallel
369all 128K31.0 GB a card
2× L40S 48 GB
tensor parallel
9122all 128K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
10025all 128K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
10025all 128K23.4 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
144.8 GB46.2 GB
546.7 GB53.7 GB
848.1 GB59.4 GB
1651.9 GB74.4 GB
3259.4 GB104 GB
6474.4 GB165 GB

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

From the model card

What Baidu says about ERNIE-4.5-Thinking

Read the model card

Model Highlights

Over the past three months, we have continued to scale the thinking capability of ERNIE-4.5-21B-A3B, improving both the quality and depth of reasoning, thereby advancing the competitiveness of ERNIE lightweight models in complex reasoning tasks. We are pleased to introduce ERNIE-4.5-21B-A3B-Thinking, featuring the following key enhancements:

  • Significantly improved performance on reasoning tasks, including logical reasoning, mathematics, science, coding, text generation, and academic benchmarks that typically require human expertise.
  • Efficient tool usage capabilities.
  • Enhanced 128K long-context understanding capabilities.

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

Model Overview

ERNIE-4.5-21B-A3B-Thinking is a text MoE post-trained model, with 21B total parameters and 3B activated parameters for each token. The following are the model configuration details:

KeyValue
ModalityText
Training StagePosttraining
Params(Total / Activated)21B / 3B
Layers28
Heads(Q/KV)20 / 4
Text Experts(Total / Activated)64 / 6
Shared Experts2
Context Length131072

Quickstart

[!NOTE] To align with the wider community, this model releases Transformer-style weights. Both PyTorch and PaddlePaddle ecosystem tools, such as vLLM, transformers, and FastDeploy, are expected to be able to load and run this model.

FastDeploy Inference

Quickly deploy services using FastDeploy as shown below. For more detailed usage, refer to the FastDeploy GitHub Repository.

Note: 80GB x 1 GPU resources are required. Deploying this model requires FastDeploy version 2.2.

python -m fastdeploy.entrypoints.openai.api_server \
       --model baidu/ERNIE-4.5-21B-A3B-Thinking \
       --port 8180 \
       --metrics-port 8181 \
       --engine-worker-queue-port 8182 \
       --load-choices "default_v1" \
       --tensor-parallel-size 1 \
       --max-model-len 131072 \
       --reasoning-parser ernie_x1 \
       --tool-call-parser ernie_x1 \
       --max-num-seqs 32

The ERNIE-4.5-21B-A3B-Thinking model supports function call.

curl -X POST "http://0.0.0.0:8180/v1/chat/completions" \
-H "Content-Type: application/json" \
-d $'{
  "messages": [
    {
      "role": "user",
      "content": "How \'s the weather in Beijing today?"
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Determine weather in my location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city and state e.g. San Francisco, CA"
            },
            "unit": {
              "type": "string",
              "enum": [
                "c",
                "f"
              ]
            }
          },
          "additionalProperties": false,
          "required": [
            "location",
            "unit"
          ]
        },
        "strict": true
      }
    }]
}'

vLLM inference

VLLM>=0.10.2 (excluding 0.11.0)

vllm serve baidu/ERNIE-4.5-21B-A3B-Thinking

The reasoning-parser and tool-call-parser for vLLM Ernie need install vllm main branch

Using transformers library

Note: You'll need thetransformerslibrary (version 4.54.0 or newer) installed to use this model.

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

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "baidu/ERNIE-4.5-21B-A3B-Thinking"

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

# 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], add_special_tokens=False, return_tensors="pt").to(model.device)

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

# decode the generated ids
generate_text = tokenizer.decode(output_ids, skip_special_tokens=True)
print("generate_text:", generate_text)

License

The ERNIE 4.5 models are provided under the Apache License 2.0. This license permits commercial use, subject to its terms and conditions. Copyright (c) 2025 Baidu, Inc. All Rights Reserved.

Citation

If you find ERNIE 4.5 useful or wish to use it in your projects, please kindly cite our technical report:

@misc{ernie2025technicalreport,
      title={ERNIE 4.5 Technical Report},
      author={Baidu-ERNIE-Team},
      year={2025},
      primaryClass={cs.CL},
      howpublished={\url{https://ernie.baidu.com/blog/publication/ERNIE_Technical_Report.pdf}}
}

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