ERNIE-4.5-21B-A3B-PT:基于MoE架构的210亿参数文本生成模型,支持中英双语与超长上下文

ERNIE 4.5-21B-A3B-PT是百度推出的文本MoE模型,总参数量210亿,单token激活30亿参数,采用异构MoE结构与高效训练推理技术,支持131072上下文长度,适用于文本理解与生成任务。【此简介由AI生成】

分支1Tags0
d57bbdf9创建于 2025年11月24日4次提交
文件最后提交记录最后更新时间
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub9 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub9 个月前
Upload folder using huggingface_hub9 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub9 个月前
Upload folder using huggingface_hub9 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub5 个月前
Update modeling_ernie4_5_moe.py5 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub9 个月前
Upload folder using huggingface_hub5 个月前
Upload folder using huggingface_hub9 个月前
Upload folder using huggingface_hub5 个月前

base_model:

  • baidu/ERNIE-4.5-21B-A3B-PT license: apache-2.0 language:
  • en
  • zh pipeline_tag: text-generation tags:
  • ERNIE4.5
  • unsloth library_name: transformers

ERNIE-4.5-21B

Note

注:“-Paddle”模型使用PaddlePaddle权重,而“-PT”模型使用Transformer风格的PyTorch权重。

ERNIE 4.5 的亮点

ERNIE 4.5模型(尤其是基于MoE的A47B和A3B系列)的卓越性能源于多项关键技术创新:

  1. 多模态异构MoE预训练:我们的模型在文本和视觉两种模态上进行联合训练,以更好地捕捉多模态信息的细微差别,并提升在文本理解与生成、图像理解及跨模态推理等任务上的性能。为实现这一目标,同时避免一种模态阻碍另一种模态的学习,我们设计了异构MoE结构,融入了模态隔离路由机制,并采用了路由正交损失函数多模态令牌平衡损失函数。这些架构设计确保两种模态都能得到有效表征,从而在训练过程中实现相互增强。

  2. 高效扩展基础设施:我们提出了一种新颖的异构混合并行与分层负载均衡策略,用于ERNIE 4.5模型的高效训练。通过采用节点内专家并行、内存高效的流水线调度、FP8混合精度训练以及细粒度重计算方法,我们实现了显著的预训练吞吐量。在推理方面,我们提出了多专家并行协作方法和卷积码量化算法,以实现4位/2位无损量化。此外,我们引入了具有动态角色切换的PD解耦技术,以实现有效的资源利用,从而提升ERNIE 4.5 MoE模型的推理性能。基于PaddlePaddle构建的ERNIE 4.5,能够在各类硬件平台上提供高性能推理。

  3. 特定模态后训练:为满足实际应用中的多样化需求,我们针对特定模态对预训练模型的变体进行了微调。我们的LLM针对通用语言理解和生成进行了优化。VLM则专注于视觉语言理解,并支持思考模式和非思考模式。每个模型在后期训练中均采用了监督微调(SFT)、*直接偏好优化(DPO)或一种名为统一偏好优化(UPO)*的改进型强化学习方法的组合。

模型概述

ERNIE-4.5-21B-A3B 是一个文本 MoE 后训练模型,总参数量为 210 亿,每个 token 的激活参数量为 30 亿。以下是模型配置详情:

关键信息
模态 文本
训练阶段 后训练
参数量(总 / 激活) 21B / 3B
层数 28
注意力头数(Q/KV) 20 / 4
文本专家数(总 / 激活) 64 / 6
视觉专家数(总 / 激活) 64 / 6
共享专家数 2
上下文长度 131072

快速开始

使用 transformers

注意:使用此模型需要安装 transformers 库(4.54.0 或更新版本)。

以下代码片段展示了如何使用该模型根据给定输入生成内容。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "baidu/ERNIE-4.5-21B-A3B-PT"

# load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    torch_dtype=torch.bfloat16,
)

# prepare the model input
prompt = "Give me a short introduction to large language model."
messages = [
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], add_special_tokens=False, return_tensors="pt").to(model.device)

# conduct text completion
generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=1024
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()

# decode the generated ids
generate_text = tokenizer.decode(output_ids, skip_special_tokens=True)
print("generate_text:", generate_text)

vLLM 推理

vllm GitHub 库。仅支持 Python 的 构建

vllm serve baidu/ERNIE-4.5-21B-A3B-PT

许可协议

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={}
}

项目介绍

ERNIE 4.5-21B-A3B-PT是百度推出的文本MoE模型,总参数量210亿,单token激活30亿参数,采用异构MoE结构与高效训练推理技术,支持131072上下文长度,适用于文本理解与生成任务。【此简介由AI生成】

定制我的领域

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新

语言类型

Python99.02%
Jinja0.98%