
一起来轻松玩转文心大模型吧 文心大模型免费下载地址: https://ai.gitcode.com/paddlepaddle/ERNIE-4.5-VL-424B-A47B-Paddle

百度正式开源了其ERNIE 4.5 系列的模型,这是一款强大的基础模型家族,专为提升语言理解、推理和生成能力而设计。此次发布包含十种模型变体,从紧凑的 0.3B 密集模型到庞大的专家混合(MoE)架构,其中最大变体参数量达到 424B。


ERNIE 4.5包含10种变体,其中文本模型6个、多模态模型4个。模型类型涵盖混合专家模型(MoE)和Dense模型1,旗舰模型总参数量高达424B,活跃参数为47B。

文心大模型 4.5 开源系列覆盖A47B、A3B、0.3B三大分支,从超大规模多模态到轻量级文本模型梯度分布,适配不同场景需求
特性 | A47B 超大规模多模态旗舰 | A3B 轻量多模态与高效文本 | 0.3B 极致轻量化文本模型 |
|---|---|---|---|
参数规模 | 激活参数47B(总参数424B) | 激活参数3B(总参数21B/28B) | 0.3B稠密参数 |
架构特点 | 异构混合专家(MoE)架构 | MoE架构(精简专家数量) | 精简Transformer架构(无MoE) |
性能优化 | 视觉专家维度为文本专家1/3FLOPs减少66% | 自适应分辨率ViT时间戳渲染优化 | FP8混合精度推理 |
部署特性 | - | 4-bit/2-bit无损量化动态角色转换部署 | 毫秒级响应多芯片无缝适配 |
适用场景 | 高精度多模态分析领域 | 边缘设备、实时响应应用 | 物联网终端、低功耗系统 |

在文心大模型4.5的A47B、A3B、0.3B三大分支中,每个分支下均包含"Base版"与"进阶版"(非Base版),其细分逻辑围绕功能定位、训练策略与适用场景的差异化展开,核心是为不同需求的用户提供"基础通用"与"增强定制"的梯度选择。
模型系列 | Base版 | 进阶版 | 核心差异 |
|---|---|---|---|
A47B(超大规模多模态) | ERNIE-4.5-300B-A47B-Base | ERNIE-4.5-300B-A47B | 增加QAT量化感知训练,支持低比特量化 |
A3B(轻量多模态与高效文本) | ERNIE-4.5-21B-A3B-Base | ERNIE-4.5-21B-A3B | 动态角色转换部署技术,4-bit无损量化 |
0.3B(极致轻量化文本) | ERNIE-4.5-0.3B-Base | ERNIE-4.5-0.3B | 优化推理引擎适配性,支持多芯片无缝部署 |
对比维度 | 🔵 Base版 | 🔴 进阶版 |
|---|---|---|
训练方式 | 仅支持SFT、SFT-LoRA、DPO、DPO-LoRA等基础微调 聚焦通用多模态任务的标准化输出 | 在Base版基础上增加QAT(量化感知训练) 支持模型在低比特量化(如2Bits、W4A8C8)时保持精度 |
核心能力 | 提供完整的文本-视觉交互基础能力 适用于多数通用场景(常规图文问答、基础视频分析) | 强化复杂场景的推理稳定性 医疗影像高精度分析、工业级图纸解析等对精度要求极高的任务中表现更优 |
主要优势 | 模型稳定性高 适配多数通用工具链 适合作为二次开发的"基准模型" | 兼顾高性能与推理效率 适合对量化部署、复杂多模态推理有强需求的场景 适用于科研机构、高端制造等领域 |
对比维度 | 🔵 Base版 | 🔴 进阶版 |
|---|---|---|
训练方式 | 以通用SFT和基础LoRA微调为主 参数规模精简但保留核心能力 | 优化推理适配性 动态角色转换部署技术 4-bit无损量化训练 |
核心能力 | 聚焦轻量场景的基础多模态交互 移动端图文识别、简单指令响应 推理速度快但不支持极致量化 | 强化"效率-性能平衡" 支持移动端、边缘设备的实时响应 智能客服终端、车载交互系统等应用 |
主要优势 | 轻量级部署 基础多模态能力 | 以70%参数量实现接近大模型的效果 适合垂直领域的轻量化部署 教育平板、金融移动终端等场景 |
对比维度 | 🔵 Base版 | 🔴 进阶版 |
|---|---|---|
架构特点 | 基础稠密模型 无特殊增强模块 聚焦文本生成与理解的核心功能 | 优化推理引擎适配性 支持多芯片(如寒武纪、昇腾)的无缝部署 部署门槛再降10%-20% |
核心能力 | 满足简单文本任务 短文本分类、基础对话 在嵌入式设备上实现快速响应 | 强化低功耗场景下的稳定性 物联网终端(如智能家居语音助手) 毫秒级响应且功耗降低 |
主要优势 | 极致轻量 基础文本处理能力 | 专为资源受限场景设计 适合大规模嵌入式设备的批量部署 |
🔵 Base版价值 | 🔴 进阶版价值 |
|---|---|
"开箱即用"的通用能力 无需复杂配置即可满足多数基础需求 适合新手用户或快速验证场景 | 为专业用户提供"性能增强包" 避免通用模型在复杂任务中"力不从心" 满足高级用户的特定需求 |
🔵 Base版价值 | 🔴 进阶版价值 |
|---|---|
无需为基础场景支付"增强功能溢价" 训练成本更低 部署更轻量 | 通过定向优化提升性能 高性能需求用户无需承担全量模型的冗余成本 针对性能优化的精准投入 |
🔵 Base版特性 | 🔴 进阶版特性 |
|---|---|
更适配标准算力环境 通用部署场景 稳定可靠的基础性能 | 支持低比特量化(如2Bits) 显著降低对硬件资源的需求 可部署在中端GPU甚至边缘芯片上 |
注意:所有的测试要点以及测试数据均在 https://i2i82gjh1i.feishu.cn/sheets/V1s0sICCwhcFZwtacvtced25nSf?from=from_copylink 表单中, 可点击查看

本次实战主要围绕百度的三款ERNIE-4.5系列模型进行测评对比:
ERNIE-4.5-0.3B-Paddle(小型模型)ERNIE-4.5-21B-A3B-Paddle(中型模型)ERNIE-4.5-VL-28B-A3B-Paddle(多模态大模型)对比测试的模型分别是:
DeepSeek-R1-Distill-Qwen-1.5B6(小型模型)DeepSeek-R1-Distill-Qwen-32B6(大型模型)Qwen2.5-VL-32B-Instruct7(多模态大模型)通过这些不同规模和类型的模型对比,我们将全面评估ERNIE-4.5系列在各种场景下的性能表现。
本次测评采用多维度评估方法,全面衡量模型性能:
评估维度 | 说明 | 重要性 |
|---|---|---|
响应时间 | 从发送请求到收到首个token的时间 | 反映模型启动速度和系统延迟 |
生成Token数量 | 模型输出的token总数 | 反映输出内容的丰富度 |
总Token数量 | 输入+输出的token总数 | 反映任务的整体规模 |
Token生成速度 | 每秒生成的token数量 | 核心性能指标,直接影响用户体验 |
质量评分 | 人工评估的输出质量得分(0-10分) | 最终用户价值的关键指标 |
为确保评测全面性,我们选择了覆盖多种应用场景的任务类型:

任务类型 | 缩写 | 任务描述 | 评分重点 |
|---|---|---|---|
类比推理 | AR | 识别概念间的类比关系 | 逻辑推理能力 |
常识性知识挖掘 | CK | 提取常识性知识 | 知识广度与准确性 |
代码生成 | CG | 根据需求生成代码 | 代码正确性与可读性 |
文本生成评估 | TG | 生成连贯、有意义的文本 | 流畅度与创造性 |
事实探测 | FP | 识别事实与虚构内容 | 事实准确性 |
一般条件生成 | GCG | 根据条件生成内容 | 条件符合度 |
信息提取 | IE | 从文本中提取特定信息 | 提取准确性与完整性 |
数学推理 | MR | 解决数学问题 | 计算准确性与推理过程 |
问题回答 | QA | 回答各类问题 | 回答准确性与完整性 |
语义解析 | SP | 理解语言的语义结构 | 语义理解深度 |
符号推理 | SR | 处理符号逻辑问题 | 逻辑推理能力 |
总结 | SUM | 文本摘要与总结 | 摘要质量与关键点覆盖 |
序列标记 | TAG | 文本标注与分类 | 标记准确性 |
文本分类 | TC | 将文本分类到预定义类别 | 分类准确性 |
理论分析 | TA | 分析理论与概念 | 分析深度与准确性 |
机器翻译 | MT | 语言间翻译 | 翻译准确性与流畅度 |
语言能力探测 | LP | 测试语言理解与生成能力 | 语言掌握程度 |

任务类型 | 缩写 | 任务描述 | 评分重点 |
|---|---|---|---|
多模态接地 | MG | 将文本与视觉内容关联 | 跨模态理解能力 |
视觉事实探测 | VFP | 识别图像中的事实内容 | 视觉事实准确性 |
视觉问题回答 | VQA | 回答关于图像的问题 | 视觉理解与回答质量 |
本测评采用0-10分的评分制度:
分数区间 | 性能水平 | 说明 |
|---|---|---|
9-10分 | 卓越 | 输出质量极高,完全满足或超越预期 |
7-8分 | 优秀 | 输出质量很好,基本满足预期 |
5-6分 | 良好 | 输出质量尚可,存在小缺陷 |
3-4分 | 一般 | 输出质量一般,存在明显缺陷 |
1-2分 | 较差 | 输出质量较差,难以满足基本需求 |
0分 | 失败 | 无法完成任务或输出完全不相关 |
本章案例是通过 FastDeploy8 快速完成服务部署, 点击链接快速访问 FastDeploy 2.0:大型语言模型部署 的文档
FastDeploy 支持在多种硬件平台上进行推理部署,包括 NVIDIA GPU、Kunlunxin XPU、Iluvatar GPU 和 Enflame GCU 等。以下是各平台的具体环境依赖要求:
依赖类型 | 最低版本要求 |
|---|---|
GPU Driver | ≥ 535 |
CUDA | ≥ 12.3 |
CUDNN | ≥ 9.5 |
Python | ≥ 3.10 |
操作系统架构 | Linux X86_64 |
类别 | 规格要求 |
|---|---|
操作系统 | Linux(具体验证:CentOS release 7.6 (Final)) |
Python 版本 | 3.10 |
XPU 型号 | P800(含 OAM Edition 版本) |
XPU 驱动版本 | ≥ 5.0.21.10(验证版本:5.0.21.10) |
XPU 固件版本 | ≥ 1.31(验证版本:1.31) |
CPU 架构 | 内存容量 | 显卡配置 | 硬盘容量 |
|---|---|---|---|
x86 | 1TB | 8x BI150 | 1TB |
需要准备一台配备 登临科技 Enflame S60 加速卡 的机器
芯片类型 | 驱动版本 | TopsRider 版本 |
|---|---|---|
Enflame S60 | 1.5.0.5 | 3.4.623 |
本次我们主要依赖NVIDIA GPU 环境来进行模型的运行与部署
如下图所示我们购买一台 A100-80G显存服务器来进行模型的部署, 详细信息如下:
配置项 | 具体信息 |
|---|---|
镜像 | python310_torch270_cu128 |
GPU型号 | A100 |
GPU显存 | 80G |
GPU算力 | 19 TFLOps |
CPU配置 | 16核,64GB内存 |

显存服务器购买完成之后我们接下来就可以对该环境进行相关的依赖安装了 这里主要参考 FastDeploy8 文档来完成快速部署,
注意: 我们采用的是方案2 来完成的, 不同显卡根据文档来进行区分安装
python -m pip install paddlepaddle-gpu==3.1.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/该命令安装过程中请查看下文中 [三次报错解决方案] 中的第一次报错解决方案

SM80/90 架构 GPU(例如 A30/A100/H100)
python -m pip install fastdeploy-gpu -i https://www.paddlepaddle.org.cn/packages/stable/fastdeploy-gpu-80_90/ --extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
SM86/89 架构 GPU(例如 A10/4090/L20/L40)
python -m pip install fastdeploy-gpu -i https://www.paddlepaddle.org.cn/packages/stable/fastdeploy-gpu-86_89/ --extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple上述指令安装完成之后就可以运行ERNIE 4.5系列的模型了,访问 GitCode中的文心大模型地址 找到对应的模型点击进去,如下图

执行改指令的过程中可以查看[三次报错解决方案]下的第二次报错以及第三次报错的解决方案, 全部问题全部解决后 再次运行该命令即可, 运行成功效果图

注意运行起来之后查看端口,开启对应端口的防火墙,就可以本地就行访问了
第一次报错
在预构建的 Pip 安装 时会报错 版本兼容的问题,如下图:

第二次报错 第一次运行模型指令时会报该错,如下图

解决方案:安装 libgomp.so.1
# 更新包列表
apt-get update
# 安装 libgomp1(包含 libgomp.so.1)
apt-get install -y libgomp1第三次报错 第二次运行模型指令时会报该错,如下图

解决方案:
# 查看当前主机名
hostname=$(hostname)
# 将主机名添加到 /etc/hosts
echo "127.0.0.1 $hostname" >> /etc/hosts接下来,我将对三组模型进行对比测试,分别是:ERNIE-4.5-0.3B-Paddle 模型与 DeepSeek-R1-Distill-Qwen-1.5B 模型、ERNIE-4.5-21B-A3B-Paddle 模型与 DeepSeek-R1-Distill-Qwen-32B 模型、ERNIE-4.5-VL-28B-A3B-Paddle 模型与 Qwen2.5-VL-32B-Instruct 模型。 测试维度、测试内容及测试依据评分标准参考下表格: 完整测评表格参考链接: https://i2i82gjh1i.feishu.cn/sheets/V1s0sICCwhcFZwtacvtced25nSf?from=from_copylink
ERNIE-4.5文本类测试 py脚本如下
import requests
import time
import json
# 模型API配置
API_URL = "http://0.0.0.0:8180/v1/chat/completions" # 根据实际情况调整路径
MODEL_NAME = "ernie-4.5-0.3b-paddle" # 模型名称,可从配置文件或API获取
# 用户输入
prompt = "下雨了出门需要带什么"
# 准备请求数据
request_data = {
"model": MODEL_NAME,
"messages": [
{"role": "user", "content": prompt}
],
"temperature": 0.7, # 控制生成的随机性,0.0表示确定性,1.0表示最大随机性
"max_tokens": 512 # 最大生成长度
}
# 记录开始时间
start_time = time.time()
# 发送请求
try:
response = requests.post(
API_URL,
headers={"Content-Type": "application/json"},
data=json.dumps(request_data)
)
response.raise_for_status() # 检查请求是否成功
response_data = response.json()
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
if response.status_code:
print(f"状态码: {response.status_code}")
print(f"响应内容: {response.text}")
exit(1)
# 记录结束时间并计算响应时间
end_time = time.time()
response_time = end_time - start_time
# 提取生成的文本
try:
generated_text = response_data["choices"][0]["message"]["content"]
prompt_tokens = response_data["usage"]["prompt_tokens"]
completion_tokens = response_data["usage"]["completion_tokens"]
total_tokens = response_data["usage"]["total_tokens"]
except (KeyError, IndexError) as e:
print(f"解析响应失败: {e}")
print(f"响应内容: {response_data}")
exit(1)
# 输出结果和统计信息
print(f"使用模型: {MODEL_NAME}")
print("\n===== 生成结果 =====")
print(generated_text)
print("\n===== 性能统计 =====")
print(f"响应时间: {response_time:.2f} 秒")
print(f"提示Token数量: {prompt_tokens}")
print(f"生成Token数量: {completion_tokens}")
print(f"总Token数量: {total_tokens}")
print(f"Token生成速度: {completion_tokens/response_time:.2f} tokens/秒")DeepSeek-R1-Distill-Qwen 文本类测试py脚本如下
import time
from openai import OpenAI
# 初始化OpenAI客户端
client = OpenAI(
api_key='YOUR_API_KEY',
base_url="http://0.0.0.0:8000/v1"
)
# 获取可用模型
model_name = client.models.list().data[0].id
# 获取用户输入
user_input = ""
# 记录开始时间
start_time = time.time()
# 发送请求
response = client.chat.completions.create(
model=model_name,
messages=[{"role": "user", "content": user_input}],
temperature = 1,
)
# 计算响应时间
response_time = time.time() - start_time
# 输出结果和统计信息
print("\n===== 生成结果 =====")
print(response.choices[0].message.content)
print("\n===== 性能统计 =====")
print(f"响应时间: {response_time:.2f} 秒")
print(f"提示Token数量: {response.usage.prompt_tokens}")
print(f"生成Token数量: {response.usage.completion_tokens}")
print(f"总Token数量: {response.usage.total_tokens}")
print(f"Token生成速度: {response.usage.completion_tokens/response_time:.2f} tokens/秒")轻量级模型对决:ERNIE-4.5-0.3B-Paddle vs DeepSeek-R1-Distill-Qwen-1.5B
启动ERNIE-4.5-0.3B-Paddle 模型
python -m fastdeploy.entrypoints.openai.api_server \
--model baidu/ERNIE-4.5-0.3B-Paddle \
--port 8180 \
--metrics-port 8181 \
--engine-worker-queue-port 8182 \
--max-model-len 32768 \
--max-num-seqs 32
启动 DeepSeek-R1-Distill-Qwen-1.5B 模型
vllm serve /model/HuggingFace/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --port 8000
小参数模型测评数据可视化

详细测评内容可参考 https://i2i82gjh1i.feishu.cn/sheets/V1s0sICCwhcFZwtacvtced25nSf?from=from_copylink
中大规模模型比拼:ERNIE-4.5-21B-A3B-Paddle vs DeepSeek-R1-Distill-Qwen-32B 启动ERNIE-4.5-21B-A3B-Paddle 模型
python -m fastdeploy.entrypoints.openai.api_server \
--model baidu/ERNIE-4.5-21B-A3B-Paddle \
--port 8180 \
--metrics-port 8181 \
--engine-worker-queue-port 8182 \
--max-model-len 32768 \
--max-num-seqs 32
启动 DeepSeek-R1-Distill-Qwen-32B 模型
vllm serve /model/HuggingFace/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --port 8000 -tp 4 --max-model-len 65168
中等参数模型测评数据可视化

详细测评内容可参考 https://i2i82gjh1i.feishu.cn/sheets/V1s0sICCwhcFZwtacvtced25nSf?from=from_copylink
ERNIE-4.5-VL-28B-A3B-Paddle 脚本如下
import requests
import time
import json
import base64
import os
# ==================== 用户配置区域 ====================
API_URL = "http://localhost:8180/v1/chat/completions" # API地址
MODEL_NAME = "baidu/ERNIE-4.5-VL-28B-A3B-Paddle" # 模型名称
# 图片路径配置(修改为你的图片路径)
IMAGE1_PATH = "./image/图片中太阳在东边.png" # 第一张图片路径(必填)
IMAGE2_PATH = "" # 第二张图片路径(选填,留空则只处理第一张,例如:IMAGE2_PATH = "")
# 提示词配置(留空则根据图片数量自动生成)
USER_PROMPT = "判断 “图片中太阳在东边” 是否正确"
# 模型参数配置
TEMPERATURE = 0.7 # 生成温度(0.0-1.0)
MAX_TOKENS = 1024 # 最大生成长度
ENABLE_THINKING = True # 是否启用思考过程
# ====================================================
def encode_image_to_base64(image_path):
"""将本地图片编码为Base64格式"""
if not image_path:
return None
if not os.path.exists(image_path):
raise FileNotFoundError(f"图片文件不存在: {image_path}")
with open(image_path, "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
return encoded_string
def main():
# 初始化提示词(避免未赋值引用)
user_prompt = USER_PROMPT # 先用全局配置初始化
image_contents = []
try:
# 添加第一张图片
image1_base64 = encode_image_to_base64(IMAGE1_PATH)
image_contents.append({"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image1_base64}"}})
# 检查是否有第二张图片
has_second_image = False
if IMAGE2_PATH and os.path.exists(IMAGE2_PATH):
has_second_image = True
# 添加第二张图片
image2_base64 = encode_image_to_base64(IMAGE2_PATH)
image_contents.append({"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image2_base64}"}})
# 自动生成提示词(如果用户未填写)
if not user_prompt.strip():
if has_second_image:
user_prompt = "对比分析这两张图片的异同点"
else:
user_prompt = "详细描述这张图片的内容"
# 添加用户提示词到请求内容
image_contents.append({"type": "text", "text": user_prompt})
except Exception as e:
print(f"图片处理错误: {e}")
return
# 准备请求数据
request_data = {
"model": MODEL_NAME,
"messages": [
{
"role": "user",
"content": image_contents
}
],
"temperature": TEMPERATURE,
"max_tokens": MAX_TOKENS,
"metadata": {"enable_thinking": ENABLE_THINKING}
}
# 记录开始时间
start_time = time.time()
# 发送请求
try:
response = requests.post(
API_URL,
headers={"Content-Type": "application/json"},
data=json.dumps(request_data)
)
response.raise_for_status() # 检查请求是否成功
response_data = response.json()
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
if 'response' in locals() and response.status_code:
print(f"状态码: {response.status_code}")
print(f"响应内容: {response.text}")
return
# 记录结束时间并计算响应时间
end_time = time.time()
response_time = end_time - start_time
# 提取生成的文本
try:
generated_text = response_data["choices"][0]["message"]["content"]
prompt_tokens = response_data["usage"]["prompt_tokens"]
completion_tokens = response_data["usage"]["completion_tokens"]
total_tokens = response_data["usage"]["total_tokens"]
except (KeyError, IndexError) as e:
print(f"解析响应失败: {e}")
print(f"响应内容: {response_data}")
return
# 输出结果和统计信息
print(f"使用模型: {MODEL_NAME}")
print("\n===== 生成结果 =====")
print(generated_text)
print("\n===== 性能统计 =====")
print(f"响应时间: {response_time:.2f} 秒")
print(f"提示Token数量: {prompt_tokens}")
print(f"生成Token数量: {completion_tokens}")
print(f"总Token数量: {total_tokens}")
print(f"Token生成速度: {completion_tokens/response_time:.2f} tokens/秒")
if __name__ == "__main__":
main()Qwen2.5-VL-32B-Instruct 脚本如下
from openai import OpenAI
import base64
import time
import os
# ==================== 用户配置区域 ====================
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
model_name = "/model/ModelScope/Qwen/Qwen2.5-VL-32B-Instruct"
# 图片路径配置(修改为你的图片路径)
IMAGE1_PATH = "./image/是否为艾菲尔.jpeg" # 第一张图片路径(必填)
IMAGE2_PATH = "" # 第二张图片路径(选填,留空则只处理第一张)
# 自定义提示词(留空则根据图片数量自动生成)
USER_PROMPT = " 图片中的艾菲尔铁塔拍摄于白天, 是否正确?"
# 模型参数配置
TEMPERATURE = 0.7 # 生成温度(0.0-1.0)
MAX_TOKENS = 2048 # 最大生成长度
# ====================================================
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
def encode_image(image_path):
"""将图片编码为Base64格式"""
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
def main():
# 准备图片内容
content = []
# 添加第一张图片
content.append({"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{encode_image(IMAGE1_PATH)}"}})
# 如果有第二张图片,添加第二张
has_two_images = bool(IMAGE2_PATH and os.path.exists(IMAGE2_PATH))
if has_two_images:
content.append({"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{encode_image(IMAGE2_PATH)}"}})
# 自动生成提示词(如果用户未指定)
user_prompt = USER_PROMPT
if not user_prompt:
if has_two_images:
user_prompt = "对比分析这两张图片的异同点"
else:
user_prompt = "详细描述这张图片的内容"
# 添加文本提示
content.append({"type": "text", "text": user_prompt})
# 记录开始时间
start_time = time.time()
# 发送请求
response = client.chat.completions.create(
model=model_name,
messages=[{
"role": "user",
"content": content
}],
temperature=TEMPERATURE,
max_tokens=MAX_TOKENS
)
# 记录结束时间并计算响应时间
end_time = time.time()
response_time = end_time - start_time
# 提取结果
generated_text = response.choices[0].message.content
prompt_tokens = response.usage.prompt_tokens
completion_tokens = response.usage.completion_tokens
total_tokens = response.usage.total_tokens
# 输出结果
print(f"使用模型: {model_name}")
print("\n===== 生成结果 =====")
print(generated_text)
print("\n===== 性能统计 =====")
print(f"响应时间: {response_time:.2f} 秒")
print(f"提示Token数量: {prompt_tokens}")
print(f"生成Token数量: {completion_tokens}")
print(f"总Token数量: {total_tokens}")
print(f"Token生成速度: {completion_tokens/response_time:.2f} tokens/秒")
if __name__ == "__main__":
main()视觉语言模型交锋:ERNIE-4.5-VL-28B-A3B-Paddle vs Qwen2.5-VL-32B-Instruct
启用ERNIE-4.5-VL-28B-A3B-Paddle 模型
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
启用 Qwen2.5-VL-32B-Instruct 模型
vllm serve /model/ModelScope/Qwen/Qwen2.5-VL-32B-Instruct --port 8000 -tp 4 --max-model-len=20480 --gpu-memory-utilization 0.85 --allowed-local-media-path /root --mm_processor_kwargs '{"max_pixels": 589824,"min_pixels": 3136}'
跨模态任务模型测评数据可视化

详细测评内容可参考 https://i2i82gjh1i.feishu.cn/sheets/V1s0sICCwhcFZwtacvtced25nSf?from=from_copylink
在小型模型的对比中,DeepSeek-R1-Distill-Qwen-1.5B和ERNIE-4.5-0.3B-Paddle展现出明显的速度差异:
模型名称 | 平均Token生成速度 | 参数规模 |
|---|---|---|
DeepSeek-R1-Distill-Qwen-1.5B | 约194 tokens/秒 | 1.5B |
ERNIE-4.5-0.3B-Paddle | 约112 tokens/秒 | 0.3B |


┌─────────────────────────────────────────────────────┐
│ DeepSeek-R1-Distill-Qwen-1.5B │████████████████████│ ~194 tokens/秒
├─────────────────────────────────────────────────────┤
│ ERNIE-4.5-0.3B-Paddle │███████████░░░░░░░░░│ ~112 tokens/秒
└─────────────────────────────────────────────────────┘速度差异分析:

评分分布 (1-10分)
DeepSeek-R1-Distill-Qwen-1.5B
1分 ██████ (6项)
2分 ████ (4项)
3分 ██ (2项)
4分 ██ (2项)
5分 ██ (2项)
6分 █ (1项)
7分+ █ (1项)
ERNIE-4.5-0.3B-Paddle
1-4分
5分 █ (1项)
6分 ███ (3项)
7分 ████ (4项)
8分 ████ (4项)
9分 ██ (2项)分布特点:


任务类型 | DeepSeek-1.5B | ERNIE-0.3B | 差异 |
|---|---|---|---|
AR(类比推理) | 1.0 | 2.0 | +1.0 |
CKM(常识性知识挖掘) | 2.0 | 3.0 | +1.0 |
CR(常识推理) | 1.7 | 3.0 | +1.3 |
CodeGen(代码生成) | 1.5 | 5.5 | +4.0 |
EVALG(文本生成评估) | 1.5 | 5.0 | +3.5 |
FP(事实探测) | 5.0 | 5.7 | +0.7 |
GCG(条件生成) | 1.7 | 6.3 | +4.6 |
IE(信息提取) | 2.0 | 5.0 | +3.0 |
MR(数学推理) | 2.7 | 6.7 | +4.0 |
QA(问题回答) | 8.5 | 9.0 | +0.5 |
SEMP(语义解析) | 5.3 | 7.7 | +2.4 |
SR(符号推理) | 5.3 | 7.3 | +2.0 |
SUM(总结) | 4.3 | 7.3 | +3.0 |
TAG(序列标记) | 1.7 | 8.3 | +6.6 |
TC(文本分类) | 3.7 | 8.3 | +4.6 |
Theory(理论分析) | 3.7 | 6.7 | +3.0 |
机器翻译 | 1.0 | 7.7 | +6.7 |
语言能力探测 | 1.7 | 6.3 | +4.6 |
分析要点:
核心发现:ERNIE-21B(21B参数)在多项任务中全面超越DeepSeek-32B(32B参数),不仅以更少参数实现更高性能(打破"规模至上"认知),更在生成速度与输出质量上实现双突破;其卓越的任务泛化能力(尤其在机器翻译等薄弱环节显著优于对手)揭示了预训练策略的关键作用,同时证明了21B-32B参数规模在性能与实用性上的最佳平衡,为高效AI部署提供了新范式。

热力图揭示的关键信息:
典型任务表现对比:
任务类型 | DeepSeek-32B | ERNIE-21B | 性能差异分析 |
|---|---|---|---|
AR(类比推理) | 4.7 | 9.0 | ERNIE在抽象思维上更胜一筹 |
CodeGen(代码生成) | 6.0 | 8.5 | 两者都具备代码能力,ERNIE更优 |
MR(数学推理) | 6.7 | 9.0 | ERNIE在复杂推理上更为出色 |
QA(问题回答) | 8.5 | 10.0 | 两者都擅长问答,ERNIE略胜 |
机器翻译 | 2.3 | 10.0 | DeepSeek在翻译任务上表现极差 |
热力图模式解读:


速度数据详解:
速度差异的实际影响分析:
速度与参数量的反比关系:

核心发现:
任务表现量化对比:
任务类型 | DeepSeek-32B | ERNIE-21B | 差距 | 特点分析 |
|---|---|---|---|---|
机器翻译 | 2.3 | 10.0 | +7.7 | ERNIE完全碾压 |
TAG(序列标记) | 4.7 | 9.3 | +4.6 | ERNIE显著领先 |
EVALG(文本生成评估) | 6.0 | 10.0 | +4.0 | ERNIE满分表现 |
QA(问题回答) | 8.5 | 10.0 | +1.5 | 双方都表现优秀 |
SEMP(语义解析) | 8.3 | 10.0 | +1.7 | 高水平竞争 |

箱线图统计解读:
分布特征总结:
详细测评内容可参考 https://i2i82gjh1i.feishu.cn/sheets/V1s0sICCwhcFZwtacvtced25nSf?from=from_copylink


关键数据:
速度差异原因分析:

核心发现:
任务表现对比:
任务类型 | ERNIE-4.5-VL | Qwen2.5-VL | 评分差距 |
|---|---|---|---|
MG(多模态接地) | 8.3 | 3.3 | +5.0分 |
VFP(视觉事实探测) | 9.0 | 7.5 | +1.5分 |
VQA(视觉问题回答) | 9.7 | 5.7 | +4.0分 |

箱线图揭示的关键信息:
分布特征总结:

热力图揭示:
模型在关键任务上的表现:
任务类型 | ERNIE-4.5-VL | Qwen2.5-VL | 差异分析 |
|---|---|---|---|
MG(多模态接地) | 8.3 | 3.3 | ERNIE在多模态理解与生成上优势显著,差距达5.0分 |
VFP(视觉事实探测) | 9.0 | 7.5 | 两模型在事实判断上差距相对较小,仅相差1.5分 |
VQA(视觉问题回答) | 9.7 | 5.7 | ERNIE在视觉问答上表现卓越,领先4.0分 |
热力图模式:
通过对ERNIE-4.5系列模型与DeepSeek和Qwen系列模型的全面对比测评,我们得出以下关键结论:
模型 | 最适合的应用场景 | 优势 |
|---|---|---|
ERNIE-4.5-0.3B | 移动设备、边缘计算、低资源环境 | 超小参数量、较好的文本理解能力 |
ERNIE-4.5-21B-A3B | 企业级应用、通用AI助手、专业领域服务 | 平衡的速度与性能、全面的能力覆盖 |
ERNIE-4.5-VL-28B-A3B | 多模态应用、图像理解、视觉问答系统 | 出色的视觉理解能力、高效的跨模态处理 |
虽然本次测评结果显示ERNIE-4.5系列模型具有明显优势,但我们也认识到测评存在一定局限性:
未来测评可以考虑扩大测试样本规模,增加更多领域特定任务,以及引入更多基准模型进行对比,提供更全面的评估结果。
总的来说,ERNIE-4.5系列模型通过创新的MoE架构设计和精细的参数优化,在保持高性能的同时显著提升了推理效率,为不同应用场景提供了灵活的选择,代表了当前大模型技术的先进水平。
另外,本文中所有的测试要点以及测试数据均在 https://i2i82gjh1i.feishu.cn/sheets/V1s0sICCwhcFZwtacvtced25nSf?from=from_copylink 中查看哦~