飞桨PaddlePaddle/ERNIE-4.5-VL-28B-A3B-PT
模型介绍文件和版本Pull Requests讨论分析
下载使用量0
对话 Hugging Face Github 博客
许可证

文心4.5-VL-28B-A3B

文心4.5核心亮点

文心4.5系列模型(尤其是基于MoE架构的A47B与A3B系列)的卓越能力源于多项关键技术突破:

  1. 多模态异构MoE预训练:通过文本与视觉模态的联合训练,模型能更精准捕捉跨模态信息特征,提升文本理解生成、图像理解及跨模态推理能力。为避免模态间学习干扰,我们创新设计了异构MoE结构,采用模态隔离路由机制,并引入路由器正交损失与多模态令牌均衡损失,确保双模态高效表征与协同优化。

  2. 高效扩展基础设施:提出异构混合并行与分层负载均衡策略,结合节点内专家并行、内存优化流水线调度、FP8混合精度训练及细粒度重计算技术,显著提升预训练吞吐量。推理阶段采用多专家并行协作方法与卷积编码量化算法,实现4比特/2比特无损量化。基于飞桨框架的动态角色切换PD解耦技术,进一步优化文心4.5 MoE模型的推理资源利用率与跨平台性能。

  3. 模态专项后训练:针对实际应用场景需求,我们对预训练模型进行模态专项微调。通用大语言模型(LLM)专注文本理解与生成;视觉语言模型(VLM)强化图文交互能力,支持思维链与非思维链双模式。各模型采用监督微调(SFT)、*直接偏好优化(DPO)或改进版强化学习方法统一偏好优化(UPO)*进行后训练。

在视觉语言模型微调阶段,视觉与语言的深度融合对模型的理解、推理、生成等复杂任务表现具有决定性影响。我们围绕图像理解、任务适配微调、多模态思维链推理三大核心能力,系统构建训练数据并优化策略,同时引入可验证奖励的强化学习(RLVR)进一步提升对齐效果。经过SFT与RL阶段训练,最终获得文心4.5-VL-28B-A3B模型。

模型概览

文心4.5-VL-28B-A3B为多模态MoE对话模型,总参数量280亿,单token激活参数量30亿。关键配置如下:

参数项值
模态文本 & 视觉
训练阶段后训练
参数量(总/激活)280亿/30亿
层数28
注意力头数(Q/KV)20 / 4
文本专家(总/激活)64 / 6
视觉专家(总/激活)64 / 6
共享专家2
上下文长度131072

快速开始

FastDeploy推理

使用FastDeploy快速部署服务,示例代码如下。详细用法请参考FastDeploy GitHub仓库。

注意:单卡部署需至少80GB显存。

python -m fastdeploy.entrypoints.openai.api_server \
       --model baidu/ERNIE-4.5-VL-28B-A3B-Paddle \
       --port 8180 \
       --metrics-port 8181 \
       --engine-worker-queue-port 8182 \
       --max-model-len 32768 \
       --enable-mm \
       --reasoning-parser ernie-45-vl \
       --max-num-seqs 32

ERNIE-4.5-VL 模型支持通过请求参数开启或关闭思考模式。

启用思考模式

curl -X POST "http://0.0.0.0:8180/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{
  "messages": [
    {"role": "user", "content": [
      {"type": "image_url", "image_url": {"url": "https://paddlenlp.bj.bcebos.com/datasets/paddlemix/demo_images/example2.jpg"}},
      {"type": "text", "text": "Descript this image"}
    ]}
  ],
  "metadata": {"enable_thinking": true}
}'

禁用思考模式

curl -X POST "http://0.0.0.0:8180/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{
  "messages": [
    {"role": "user", "content": [
      {"type": "image_url", "image_url": {"url": "https://paddlenlp.bj.bcebos.com/datasets/paddlemix/demo_images/example2.jpg"}},
      {"type": "text", "text": "Descript this image"}
    ]}
  ],
  "metadata": {"enable_thinking": false}
}'

使用 transformers 库

以下是一个使用 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
    )
output_text = processor.decode(generated_ids[0])
print(output_text)

vLLM 推理支持

我们正与社区合作,全力实现对 ERNIE4.5 模型的完整支持,敬请期待。

许可协议

ERNIE 4.5 模型基于 Apache License 2.0 提供。该许可允许商业用途,但需遵守其条款与条件。版权所有 (c) 2025 百度公司,保留所有权利。

引用说明

若 ERNIE 4.5 对您的研究或项目有所帮助,请引用我们的技术报告:

@misc{ernie2025technicalreport,
      title={ERNIE 4.5 Technical Report},
      author={Baidu ERNIE Team},
      year={2025},
      eprint={},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={}
}