ERNIE 4.5-VL-28B-A3B-PT是融合文本与视觉模态的MoE模型,支持图文理解、跨模态推理及生成,具备131072上下文长度,采用高效异构并行技术优化性能。【此简介由AI生成】
license: apache-2.0 language:
- en
- zh pipeline_tag: image-text-to-text tags:
- ERNIE4.5 library_name: transformers
ERNIE-4.5-VL-28B-A3B
Note
注:“-Paddle”模型使用PaddlePaddle权重,而“-PT”模型使用Transformer风格的PyTorch权重。
ERNIE 4.5 亮点
ERNIE 4.5模型(尤其是基于MoE的A47B和A3B系列)的卓越性能得益于多项关键技术创新:
-
多模态异构MoE预训练:我们的模型在文本和视觉两种模态上进行联合训练,以更好地捕捉多模态信息的细微差别,并提升在文本理解与生成、图像理解及跨模态推理等任务上的性能。为确保一种模态不会阻碍另一种模态的学习,我们设计了异构MoE结构,融入了模态隔离路由,并采用了路由正交损失和多模态令牌平衡损失。这些架构选择确保了两种模态都能得到有效表示,从而在训练过程中实现相互强化。
-
高效扩展基础设施:我们提出了一种新颖的异构混合并行和分层负载均衡策略,用于ERNIE 4.5模型的高效训练。通过使用节点内专家并行、内存高效的流水线调度、FP8混合精度训练和细粒度重计算方法,我们实现了显著的预训练吞吐量。在推理方面,我们提出了多专家并行协作方法和卷积码量化算法,以实现4位/2位无损量化。此外,我们引入了具有动态角色切换的PD解聚技术,以实现有效的资源利用,从而提升ERNIE 4.5 MoE模型的推理性能。基于PaddlePaddle构建,ERNIE 4.5能够在各种硬件平台上提供高性能推理。
-
特定模态后训练:为满足实际应用的多样化需求,我们针对特定模态对预训练模型的变体进行了微调。我们的LLM针对通用语言理解和生成进行了优化。VLM专注于视觉语言理解,并支持思维链模式和非思维链模式。每个模型在后续训练中均采用了监督微调(SFT)、*直接偏好优化(DPO)或一种名为统一偏好优化(UPO)*的改进型强化学习方法的组合。
在视觉语言模型的微调阶段,视觉与语言之间的深度融合对于模型在理解、推理和生成等复杂任务上的性能起着决定性作用。为增强模型在多模态任务上的泛化能力和适应性,我们聚焦于三大核心能力——图像理解、特定任务微调以及多模态思维链推理,并进行了系统性的数据构建和训练策略优化。此外,我们使用RLVR(带可验证奖励的强化学习)进一步提升模型的对齐度和性能。经过SFT和RL阶段后,我们得到了ERNIE-4.5-VL-28B-A3B。
模型概述
ERNIE-4.5-VL-28B-A3B 是一个多模态 MoE 对话模型,总参数为 280 亿,每个 token 的激活参数为 30 亿。以下是模型配置详情:
| 键 | 值 |
|---|---|
| 模态 | 文本和视觉 |
| 训练阶段 | 预训练后 |
| 参数(总参数/激活参数) | 28B / 3B |
| 层数 | 28 |
| 注意力头数(Q/KV) | 20 / 4 |
| 文本专家数(总数/激活数) | 64 / 6 |
| 视觉专家数(总数/激活数) | 64 / 6 |
| 共享专家数 | 2 |
| 上下文长度 | 131072 |
快速开始
使用 transformers 库
要求:transformers <= 4.57.6
以下是使用 transformers 库进行推理的示例:
import torch
from transformers import AutoProcessor, AutoTokenizer, AutoModelForCausalLM
model_path = 'baidu/ERNIE-4.5-VL-28B-A3B-PT'
model = AutoModelForCausalLM.from_pretrained(
model_path,
device_map="auto",
torch_dtype=torch.bfloat16,
trust_remote_code=True
)
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
processor.eval()
model.add_image_preprocess(processor)
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "Describe the image."},
{"type": "image_url", "image_url": {"url": "https://paddlenlp.bj.bcebos.com/datasets/paddlemix/demo_images/example1.jpg"}},
]
},
]
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
image_inputs, video_inputs = processor.process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
device = next(model.parameters()).device
inputs = inputs.to(device)
generated_ids = model.generate(
inputs=inputs['input_ids'].to(device),
**inputs,
max_new_tokens=128,
use_cache=False
)
output_text = processor.decode(generated_ids[0])
print(output_text)
vLLM 推理
vllm>=0.11.2
vllm serve baidu/ERNIE-4.5-VL-28B-A3B-PT --trust-remote-code
许可协议
ERNIE 4.5 模型基于 Apache License 2.0 协议提供。本协议允许商业使用,但需遵守其条款和条件。版权所有 (c) 2025 Baidu, Inc. 保留所有权利。
引用说明
如果您认为 ERNIE 4.5 模型对您有所帮助,或希望在您的项目中使用该模型,请引用我们的技术报告:
@misc{ernie2025technicalreport,
title={ERNIE 4.5 Technical Report},
author={Baidu ERNIE Team},
year={2025},
eprint={},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={}
}