一、模型介绍
6月30日,百度多模态大模型 ERNIE-4.5-VL-424B-A47B 正式开源,该模型支持文本与视觉理解,总参数量424B,激活参数量47B。基于异构混合专家架构MoE,融合跨模态预训练与高效推理优化,具备强大的图文生成、推理和问答能力,适用于复杂多模态任务场景。
文心4.5系列开源模型共10款,涵盖了激活参数规模分别为47B和3B的混合专家(MoE)模型(最大的模型总参数量为424B),以及0.3B的稠密参数模型。
快速体验入口 :https://gitcode.com/paddlepaddle/ERNIE-4.5-VL-424B-A47B-Paddle
Hugging Face :https://huggingface.co/baidu
GitHub :https://github.com/PaddlePaddle/ERNIE
二、模型架构分析
2.1 核心优势
多模态异构 MoE 预训练
- 目标:该模型基于文本和视觉模态进行联合训练,以更好地捕捉多模态信息的细微差别,并提升文本理解与生成、图像理解以及跨模态推理等任务的性能。
- 方法:为了实现这一目标,避免一种模态阻碍另一种模态的学习,设计了一种异构 MoE 结构,并引入了模态隔离路由,并采用了路由器正交损失和多模态标记平衡损失。
- 优势:这些架构选择确保两种模态都得到有效表示,从而在训练过程中实现相互强化。
可扩展高效的基础设施
提出了一种新颖的异构混合并行和分层负载均衡策略,以实现 ERNIE 4.5 模型的高效训练。通过采用节点内专家并行、内存高效的流水线调度、FP8 混合精度训练和细粒度重计算方法,实现了卓越的预训练吞吐量。
在推理方面,我们提出了多专家并行协作方法和卷积码量化算法,以实现 4 位/2 位无损量化。此外,我们引入了具有动态角色切换的 PD 分解,以有效利用资源,从而提升 ERNIE 4.5 MoE 模型的推理性能。基于PaddlePaddle构建的ERNIE 4.5 可在各种硬件平台上提供高性能推理。
针对特定模态的后训练
为了满足实际应用的多样化需求,我们针对特定模态对预训练模型的变体进行了微调。我们的 LLM 针对通用语言理解和生成进行了优化。VLM 专注于视觉语言理解,并支持思考和非思考模式。每个模型都结合使用了监督微调 (SFT)、直接偏好优化 (DPO)或一种名为统一偏好优化 (UPO)的改进强化学习方法进行后训练。
2.2 实验测评分析
文心4.5系列模型均使用飞桨深度学习框架进行高效训练、推理和部署。在大语言模型的预训练中,模型FLOPs利用率(MFU)达到47% 。实验结果显示,该系列模型在多个文本和多模态基准测试中达到SOTA水平 ,在指令遵循、世界知识记忆、视觉理解和多模态推理任务上效果尤为突出。模型权重按照Apache 2.0协议开源,支持开展学术研究和产业应用。此外,基于飞桨提供开源的产业级开发套件,广泛兼容多种芯片,降低后训练和部署门槛。
2.3 模型参数介绍
ERNIE-4.5-VL-424B-A47B 是在 ERNIE-4.5-VL-424B-A47B-Base 基础上训练而来的,其总参数达 424B、其中每个 token 激活 47B 参数。以下是模型的配置细节:
三、模型本地部署
1. 环境准备
在开始部署之前,请确保您的硬件环境满足以下要求:
bash
GPU 驱动程序 >= 535
CUDA >= 12.3
CUDNN >= 9.5
Linux X86_64
Python >= 3.10
80G A/H 8 GPU
2. 模型下载
在部署期间可指定--model baidu/ERNIE-4.5-VL-424B-A47B-Paddle从 AIStudio 自动下载模型,并支持断点续传。你也可以从其他来源手动下载模型。
3. 启动服务
执行以下命令启动服务:由于模型参数大小为424B-A47B,在80G * 8 GPU机器上,请指定--quantization wint4(wint8也支持)
bash
python -m fastdeploy.entrypoints.openai.api_server \
--model baidu/ERNIE-4.5-VL-424B-A47B-Paddle \
--port 8180 --engine-worker-queue-port 8181 \
--cache-queue-port 8182 --metrics-port 8182 \
--tensor-parallel-size 8 \
--quantization wint4 \
--max-model-len 32768 \
--max-num-seqs 32 \
--enable-mm \
--mm-processor-kwargs '{"video_max_frames": 30}' \
--limit-mm-per-prompt '{"image": 10, "video": 3}' \
--reasoning-parser ernie-45-vl
4. 请求服务
启动后,当出现以下日志时,表示服务已准备就绪:
bash
api_server.py[line:91] Launching metrics service at http://0.0.0.0:8181/metrics
api_server.py[line:94] Launching chat completion service at http://0.0.0.0:8180/v1/chat/completions
api_server.py[line:97] Launching completion service at http://0.0.0.0:8180/v1/completions
INFO: Started server process [13909]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8180 (Press CTRL+C to quit)
5. 通过cURL请求
bash
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":"From which era does the artifact in the image originate?"}
]}
]
}'
6. 通过python请求
FastDeploy 的 API 与 OpenAI 兼容,可以使用 Python 进行流式请求:
python
import openai
host = "0.0.0.0"
port = "8180"
client = openai.Client(base_url=f"http://{host}:{port}/v1", api_key="null")
response = client.chat.completions.create(
model="null",
messages=[
{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": "https://paddlenlp.bj.bcebos.com/datasets/paddlemix/demo_images/example2.jpg"}},
{"type": "text", "text": "From which era does the artifact in the image originate?"},
]},
],
stream=True,
)
for chunk in response:
if chunk.choices[0].delta:
print(chunk.choices[0].delta.content, end='')
print('\n')
7. 模型输出实例
带有推理的示例输出(推理内容在reasoning_content,响应在content):
bash
{
"id": "chatcmpl-c4772bea-1950-4bf4-b5f8-3d3c044aab06",
"object": "chat.completion",
"created": 1750236617,
"model": "default",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The artifact in the image ...",
"reasoning_content": "The user asks about ..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1260,
"total_tokens": 2042,
"completion_tokens": 782
}
}
四、产品测评
4.1 产品地址
- 产品官网地址:https://yiyan.baidu.com/
4.2 各项基础能力
1. 语言能力

2. 多语种能力

3. 数学能力

4. 代码能力

模型给出了很多不同正确的解法:
4.3 其他项目
为方便社区开发者适配和拓展应用场景,官方提供了文心大模型多种能力的技术实践手册,涵盖对话、检索增强、知识库问答以及 SFT/DPO 模型微调示例,大家可以在星河社区应用中心与精品项目中使用与探索!