[!NOTE] 注意:“-Paddle”模型使用PaddlePaddle权重,而“-PT”模型使用Transformer风格的PyTorch权重。
ERNIE 4.5模型的卓越性能,尤其是基于MoE的A47B和A3B系列,得益于多项关键技术创新:
多模态异构MoE预训练:我们的模型在文本和视觉两种模态上进行联合训练,以更好地捕捉多模态信息的细微差别,并提升在文本理解与生成、图像理解及跨模态推理等任务上的表现。为了在实现这一目标的同时避免一种模态对另一种模态的学习造成干扰,我们设计了异构MoE结构,融入了模态隔离路由,并采用了路由正交损失和多模态 token 平衡损失。这些架构选择确保两种模态都能得到有效表示,从而在训练过程中实现相互增强。
高效扩展基础设施:我们提出了一种新颖的异构混合并行和分层负载均衡策略,用于ERNIE 4.5模型的高效训练。通过使用节点内专家并行、内存高效的流水线调度、FP8混合精度训练以及细粒度重计算方法,我们实现了显著的预训练吞吐量。在推理方面,我们提出了多专家并行协作方法和卷积码量化算法,以实现4位/2位无损量化。此外,我们引入了具有动态角色切换的PD解聚技术,以实现有效的资源利用,从而提升ERNIE 4.5 MoE模型的推理性能。基于PaddlePaddle构建,ERNIE 4.5能够在各种硬件平台上提供高性能推理。
特定模态后训练:为满足实际应用的多样化需求,我们针对特定模态对预训练模型的变体进行了微调。我们的LLM针对通用语言理解和生成进行了优化。VLM则专注于视觉语言理解,并支持思考模式和非思考模式。每个模型在后续训练中均采用了监督微调(SFT)、直接偏好优化(DPO) 或一种名为统一偏好优化(UPO) 的改进型强化学习方法的组合。
ERNIE-4.5-0.3B 是一个文本密集型后训练模型。以下是模型配置详情:
| 关键项 | 值 |
|---|---|
| 模态 | 文本 |
| 训练阶段 | 后训练 |
| 参数数量 | 0.36B |
| 层数 | 18 |
| 注意力头数(Q/KV) | 16 / 2 |
| 上下文长度 | 131072 |
ERNIEKit 是基于 PaddlePaddle 的训练工具包,专为 ERNIE 系列开源大模型设计。它全面支持指令微调(SFT、LoRA)和对齐训练(DPO)等场景,确保实现最佳性能。
使用示例:
# Download Model
huggingface-cli download baidu/ERNIE-4.5-0.3B-Paddle --local-dir baidu/ERNIE-4.5-0.3B-Paddle
# SFT
erniekit train examples/configs/ERNIE-4.5-0.3B/sft/run_sft_8k.yaml
# DPO
erniekit train examples/configs/ERNIE-4.5-0.3B/dpo/run_dpo_8k.yaml如需更详细的示例,包括使用LoRA的SFT、多GPU配置以及高级脚本,请参考ERNIEKit仓库中的examples文件夹。
使用以下命令,通过FastDeploy可快速完成服务部署。如需更详细的使用说明,请参考FastDeploy仓库。
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 32ERNIE-4.5-0.3B-Paddle 已通过 vLLM-Ascend 在 昇腾 NPU(Atlas 800 A2/A3) 上完成验证。权重采用 PaddlePaddle 格式,精度为 bfloat16(在 safetensors 中以 uint16 位模式存储),加载时会自动进行转换。
# Install dependencies
pip install vllm vllm-ascend
# Launch server
vllm serve /path/to/ERNIE-4.5-0.3B-Paddle \
--dtype bfloat16 \
--tensor-parallel-size 1 \
--max-model-len 8192 \
--port 8000
# Test inference
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{"model":"ERNIE-4.5-0.3B-Paddle","prompt":"中国的首都是","max_tokens":50}'| 指标 | 数值 |
|---|---|
| TTFT(首token延迟) | ~48 ms |
| TPOT(每token延迟) | ~18.6 ms |
| 吞吐量 | ~53 tok/s |
| 精度 | BF16 |
| 确定性 | ✅(temperature=0.0) |
该模型在昇腾NPU上可生成有意义的输出:
"中国的首都是" → "北京" (0.36)"1+1=" → "2" (0.54)"Hello, how are" → "you" (0.98)"人工智能的定义是" → "计算机" (0.09)"The capital of France is" → "F" (0.16)| 文件 | 用途 |
|---|---|
ernie45_patch.py | 权重格式自动检测与转换(Paddle→HF) |
vllm_ernie45_hook.py | Ernie4_5ForCausalLM的vLLM模型加载器钩子 |
launch_vllm_ernie45.py | vLLM服务器启动脚本 |
run_eval.py | 全面的精度与性能评估 |
convert_paddle_to_hf.py | Paddle→HF权重手动转换工具 |
ERNIE 4.5模型基于Apache License 2.0提供。该许可证允许商业使用,但需遵守其条款和条件。Copyright (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={}
}