Signed-off-by: esmeetu <jasonailu87@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
164 lines
4.0 KiB
YAML
164 lines
4.0 KiB
YAML
meta:
|
|
title: "ERNIE-4.5-VL"
|
|
slug: "ernie-4.5-vl"
|
|
provider: "Ernie (Baidu)"
|
|
description: "Baidu ERNIE 4.5 VL MoE vision-language models (28B-A3B, 424B-A47B) with heterogeneous text/vision experts"
|
|
date_added: 2025-09-03
|
|
date_updated: 2026-04-17
|
|
tasks:
|
|
- multimodal
|
|
related_recipes:
|
|
- baidu/ERNIE-4.5-21B-A3B-PT
|
|
hardware:
|
|
mi300x: verified
|
|
mi325x: verified
|
|
mi355x: verified
|
|
|
|
model:
|
|
model_id: "baidu/ERNIE-4.5-VL-28B-A3B-PT"
|
|
min_vllm_version: "0.11.0"
|
|
architecture: moe
|
|
parameter_count: "28B"
|
|
active_parameters: "3B"
|
|
context_length: 131072
|
|
base_args:
|
|
- "--trust-remote-code"
|
|
base_env: {}
|
|
|
|
features:
|
|
text_only:
|
|
description: "Skip loading the vision encoder for text-only workloads — frees VRAM for KV cache. Mutually exclusive with encoder_parallel."
|
|
args:
|
|
- "--language-model-only"
|
|
encoder_parallel:
|
|
description: "Run the vision encoder in data-parallel mode — avoids TP comm overhead on the small encoder. Mutually exclusive with text_only."
|
|
args:
|
|
- "--mm-encoder-tp-mode"
|
|
- "data"
|
|
|
|
opt_in_features:
|
|
- text_only
|
|
|
|
variants:
|
|
default:
|
|
precision: bf16
|
|
vram_minimum_gb: 67
|
|
description: "BF16 weights; fits on 1x80GB GPU (28B VL variant)"
|
|
|
|
"424b":
|
|
model_id: "baidu/ERNIE-4.5-VL-424B-A47B-PT"
|
|
precision: bf16
|
|
vram_minimum_gb: 1120
|
|
description: "424B total / 47B active; 8x140GB BF16 or 16x80GB BF16"
|
|
extra_args:
|
|
- "--trust-remote-code"
|
|
- "--tensor-parallel-size"
|
|
- "8"
|
|
|
|
"424b_fp8":
|
|
model_id: "baidu/ERNIE-4.5-VL-424B-A47B-PT"
|
|
precision: fp8
|
|
vram_minimum_gb: 640
|
|
description: "424B with FP8 online quantization + CPU offload for 8x80GB testing"
|
|
extra_args:
|
|
- "--trust-remote-code"
|
|
- "--tensor-parallel-size"
|
|
- "8"
|
|
- "--quantization"
|
|
- "fp8"
|
|
- "--cpu-offload-gb"
|
|
- "50"
|
|
|
|
compatible_strategies:
|
|
- single_node_tp
|
|
- multi_node_tp
|
|
- multi_node_tep
|
|
- multi_node_dep
|
|
|
|
kv_offload_support:
|
|
offloading_cpu: verified
|
|
offloading_fs: verified
|
|
|
|
hardware_overrides: {}
|
|
strategy_overrides: {}
|
|
|
|
guide: |
|
|
## Overview
|
|
|
|
ERNIE 4.5 VL is Baidu's multimodal MoE model with heterogeneous experts (separate text
|
|
and vision experts). Because of the heterogeneous architecture, **torch.compile and CUDA
|
|
graphs are not supported**.
|
|
|
|
- `baidu/ERNIE-4.5-VL-28B-A3B-PT` — 28B total / 3B active (1x80GB)
|
|
- `baidu/ERNIE-4.5-VL-424B-A47B-PT` — 424B total / 47B active (8x140GB BF16, 8x80GB FP8+offload, or 16x80GB BF16)
|
|
|
|
## Prerequisites
|
|
|
|
- vLLM: support added to main branch recently; install latest
|
|
- Hardware depends on variant
|
|
|
|
### Install vLLM (CUDA)
|
|
|
|
```bash
|
|
uv venv --python 3.12 --seed
|
|
source .venv/bin/activate
|
|
uv pip install -U vllm --torch-backend auto
|
|
```
|
|
|
|
### Install vLLM (AMD ROCm MI300X/MI325X/MI355X)
|
|
|
|
```bash
|
|
uv pip install vllm --extra-index-url https://wheels.vllm.ai/rocm/
|
|
```
|
|
|
|
## Launch commands
|
|
|
|
28B on 1x80GB:
|
|
|
|
```bash
|
|
vllm serve baidu/ERNIE-4.5-VL-28B-A3B-PT --trust-remote-code
|
|
```
|
|
|
|
424B BF16 on 8x140GB:
|
|
|
|
```bash
|
|
vllm serve baidu/ERNIE-4.5-VL-424B-A47B-PT \
|
|
--trust-remote-code \
|
|
--tensor-parallel-size 8
|
|
```
|
|
|
|
424B with FP8 + CPU offload on 8x80GB (testing only):
|
|
|
|
```bash
|
|
vllm serve baidu/ERNIE-4.5-VL-424B-A47B-PT \
|
|
--trust-remote-code \
|
|
--tensor-parallel-size 8 \
|
|
--quantization fp8 \
|
|
--cpu-offload-gb 50
|
|
```
|
|
|
|
28B on AMD MI300X+:
|
|
|
|
```bash
|
|
VLLM_ROCM_USE_AITER=1 SAFETENSORS_FAST_GPU=1 \
|
|
vllm serve baidu/ERNIE-4.5-VL-28B-A3B-PT \
|
|
--tensor-parallel-size 4 \
|
|
--gpu-memory-utilization 0.9 \
|
|
--trust-remote-code
|
|
```
|
|
|
|
## Benchmarking
|
|
|
|
```bash
|
|
vllm bench serve \
|
|
--model baidu/ERNIE-4.5-VL-28B-A3B-PT \
|
|
--dataset-name random \
|
|
--random-input-len 8000 --random-output-len 1000 \
|
|
--request-rate 10 --num-prompts 16 --ignore-eos --trust-remote-code
|
|
```
|
|
|
|
## References
|
|
|
|
- [ERNIE-4.5-VL-28B-A3B-PT](https://huggingface.co/baidu/ERNIE-4.5-VL-28B-A3B-PT)
|
|
- [ERNIE-4.5-VL-424B-A47B-PT](https://huggingface.co/baidu/ERNIE-4.5-VL-424B-A47B-PT)
|