开源模型——文心ERNIE 4.5 vl

发布时间:2026/9/14 15:25:02

开源模型——文心ERNIE 4.5 vl 参考以下文章:https://blog.csdn.net/sherlockMa/article/details/149026603参考原文地址代码地址:https://github.com/PaddlePaddle/ERNIE论文地址:https://yiyan.baidu.com/blog/publication/ERNIE_Technical_Report.pdf模型列表[ERNIE-4.5-VL-28B-A3B-Thinking] Supports SFT training and function call training for ERNIE-4.5-VL-28B-A3B-Thinking (https://huggingface.co/baidu/ERNIE-4.5-VL-28B-A3B-Thinking).PaddleOCR-VL-0.9B model.[ERNIE-4.5-21B-A3B-Thinking] Supports SFT training and function call training for ERNIE-4.5-21B-A3B-Thinking (https://huggingface.co/baidu/ERNIE-4.5-21B-A3B-Thinking).2 架构ERNIE-4.5-VL支持图像、视频和文本模态作为输入,并以文本作为输出。MoE介绍:1. 稀疏 MoE 层: 这些层代替了传统 Transformer 模型中的前馈网络 (FFN) 层。MoE 层包含若干“专家”(例如 8 个),每个专家本身是一个独立的神经网络。在实际应用中,这些专家通常是前馈网络 (FFN),或更复杂的网络结构,从而形成层级式的 MoE 结构。2. 门控网络或路由: 这个部分用于决定哪些词元(token) 被分发到哪个专家。该系统包括三个核心组件:异构混合专家(Heterogeneous MoE):文本和视觉特征被路由到专属专家集,同时两种模态共享一组专家和所有自注意力参数。视觉专家的参数规模为文本专家的三分之一。视觉编码器(Vision Encoder):配备自适应分辨率转换和二维旋转位置嵌入(RoPE)。适配器(Adapter):对齐视觉和文本模态的表征,融入空间和时间压缩。多模态位置嵌入(Multimodal Positional Embedding):在多模态模型中采用三维 RoPE,分别对时间、宽度和高度位置进行编码。异构MoE(1)异构MoE路由:在多模态模型中,MoE路由器容易出现不稳定,尤其是在数据分布突然变化时。例如,将仅处理文本的MoE模型扩展为处理多模态输入,可能会导致路由器崩溃,进而导致文本能力的退化。从下图研究发现,文本专家的激活集中在少数几个专家上,而视觉专家的激活模式则更为分散。作者提出了模态隔离路由策略(异构MoE):具体而言,ERNIE 4.5中的前馈神经网络(FFN)专家被分为三种类型:文本专家、视觉专家和共享专家。文本和视觉标记都会以非路由的方式经过共享专家处理,而每种模态的标记则会独立路由到其对应的模态特定专家。具体来说,文本专家仅处理文本token,视觉专家仅处理视觉token,而共享专家则同时处理两种模态。MoE 层的最终输出为共享专家和模态专属专家的输出之和。下图为架构图。 文本特征(红色) 路由到特定文本专家,视觉特征(蓝色)路由到视觉专家网络,共享专家和self-attention参数(紫色),负责处理统一的跨模态隐藏状态; MoE层的最终输出是通过将共享专家和模态专属专家的输出相加得到的。其中视觉专家的参数量仅为文本专家的三分之一。异构MoE设计带来了几个关键优势: 1. 统一的多模态建模:构建统一的多模态模型,文本和视觉所有参数联合优化。与部分微调方法相比,该设计数据效率更高、扩展性更强,支持模型扩展到数千亿参数规模。2. 路由稳定性:可在训练后期引入视觉专家,避免路由崩溃。这种分阶段训练减少了总体计算量,同时保留性能,因为视觉理解很大程度上依赖于已有的文本知识。3. 计算效率:文本和视觉专家可以分别部署。在仅处理文本的推理场景中,可以跳过视觉专家以减少内存开销。对于多模态推理,作者支持模态感知的推理流水线分区。具体来说,为每种模态分配不同的推理预算,独立部署预填充文本、预填充视觉和解码文本模块,可以显著减少跨设备通信。视觉编码器图像编码:现有的ViT通常是在固定分辨率输入上进行预训练的,这要求在处理之前将图像调整为正方形。作者使用了一种自适应分辨率的视觉编码器。1. 与强制使用正方形输入不同,独立调整每张输入图像的高度和宽度,使其分别成为ViT块大小的最近倍数。这种方法大致保留了原始宽高比,避免了固定尺寸调整大小带来的失真。2. 图像采用二维旋转位置嵌入(RoPE),分别对高度和宽度维度的空间位置进行编码。3. 图像打包技术:多个图像或视频帧的块合并为一个序列。视频编码:长视频处理会很快耗尽模型有限的长度预算。为此,作者提出了一种自适应分辨率采样策略,根据每段视频的时长和可用的序列长度动态调整帧的数量及其空间分辨率。具体而言:固定帧率采样:根据预定义的帧率(例如每秒2帧)从视频中均匀采样帧。如果采样后的帧数超过模型的序列长度限制,则进一步调整帧数量或空间分辨率。动态调整:如果采样后的帧数仍然超过限制,会进一步降低分辨率,直到帧数和分辨率的组合符合模型的输入要求。如果帧数仍然过多,会进一步减少帧数。多视频输入:对于包含多个视频的输入,根据每个视频的长度按比例分配帧数,以确保每个视频的代表性。对于时间的建模,作者引入了一种时间戳渲染技术,将绝对时间戳叠加到每一帧上。这种方法适用于任何帧率,不消耗额外的标记,并且降低了学习难度,使得时间理解更加准确。适配器(3)适配器:作为视觉编码器和语言模型之间的模态桥接模块,通过双压缩层 将视觉表示投影到共享embedding空间,用于对齐视觉和文本表示;适配器融入空间和时间token压缩,实现特征融合并减少序列长度。空间压缩操作在不重叠的2×2块上进行,沿空间维度的token数量减少4倍,而时间压缩将序列长度减少2倍。这两种压缩操作都利用了像素重排(pixel shuffle)技术:它将空间上或时间上相邻的标记特征重新排列成更紧凑的特征。特征 随后通过多层感知机(MLP)。 目的:为了统一处理图像和视频。 做法:每张静态图像,通过复制图像特征,被当作一个合成的两帧视频来处理,从而在不同模态之间实现一致的时间建模。像素洗牌的具体实现步骤:输入特征图:假设输入特征图 F 的大小为 H×W×C。分块:将 F 按照 s×s 的块进行划分,每个块包含 个像素。重排:将每个 s×s 块中的像素重新排列,形成一个新的特征图 F′,其大小为 H′×W′×C′,其中 H′=H/s,W′=W/s,C′=C×。MLP 处理:将重排后的特征图 F′ 输入到 MLP 层中进行进一步处理,以增强特征的表达能力。多模态位置嵌入(4)多模态位置嵌入​​:对视觉输入,采用统一的(三维旋转位置嵌入)3D RoPE位置嵌入方案,分别对时间、宽度和高度3个轴分配不同的频率编码。 分配方法:较低频率分配给时间轴(变化最慢),剩余频率在空间轴(高度和宽度)之间交错分配,实现对称空间建模和强大的长时时间建模文本标记则默认使用标准的一维RoPE。目标:提升了多模态理解能力,尤其是在需要序列长度外推的长视频理解任务中表现尤为突出。3 预训练数据集构建训练数据来源于网页、学术论文、文档、图像、视频以及合成模态转换数据。知识中心数据:层级分类知识交错文本-图像数据。图像-文本对。REEAO(Record Everything Everywhere All at Once)—— 逐位确定性预训练数据管理器。REEAO 将多模态数据源分割为固定长度的记录,并从根本上保证训练过程产生逐位确定性的令牌序列,该序列在预训练数据配置完成后、实际训练开始前即完全确定。预训练方案表 2:三个 ERNIE-4.5-Base 模型的模型和训练超参数ERNIE 4.5的预训练分为三个阶段:阶段一:纯文本训练:首先进行大规模预训练,使用来自不同领域的数万亿纯文本令牌。此阶段主要在标准的短上下文(8k序列长度)配置下,发展核心语言能力、事实知识库和文本生成能力。短上下文:作者首先在大规模预训练阶段使用来自不同领域的数万亿纯文本标记进行训练。这一子阶段主要发展核心语言能力、事实知识库以及在标准短上下文(8k序列长度)配置下的文本生成能力。 长上下文扩展:为了将模型的上下文长度扩展到128k标记,在此子阶段,作者首先通过将旋转位置嵌入(RoPE)的频率基底θ从10k增加到160k,将最大序列长度增加到32k,并继续训练以使模型适应更长的序列。接着,作者进一步将序列长度扩展到128k标记,并将RoPE频率基底θ的上限从160k增加到500k,使用长上下文数据对模型进行训练。在此过程中,作者对超过16k标记长度的文档进行上采样,以确保模型能够充分接触到长距离依赖关系。基准评估表明,这一阶段使模型能够支持长达128k标记的输入序列,同时在标准任务上保持其原有能力。阶段二:纯视觉训练:独立进行视觉模态的预训练,包括视觉和LLM对齐。视觉编码器:首先将视觉编码器与较小的语言模型一起预训练,利用大规模图像 - 文本对数据集,促使视觉编码器捕捉丰富全面的视觉知识。视觉预对齐:在这一阶段,冻结所有 LLM 和 ViT 参数,而视觉适配器、视觉专家和视觉路由器被训练。适配器从零初始化,视觉专家通过对文本专家进行结构剪枝得到。该阶段确保视觉模块与 LLM 骨干网络无缝融合,同时保留其原始性能。视觉融合:随后,视觉编码器被解冻,允许对整个视觉通路进行联合优化。训练重点是高质量的图像-文本对,例如标题和替代文本,以对齐视觉和语言表示。阶段三:多模态联合训练:结合 纯文本和视觉训练。作者解冻整个模型,并在标准和扩展长 上下文的多模态数据上进行联合训练。短上下文:作者解冻整个模型,并在标准上下文长度的文本、图像和视频数据的 混合数据上进行联合训练。这一阶段作为融合阶段,巩固模态专属对齐。 长上下文:最后,联合训练扩展到128k的上下文长度。这使得模型能够在长上下文的多模态任务中有效泛化。在多模态训练期间,图像令牌和提示位置被屏蔽,并从交叉熵损失计算中排除。为了解决由此引入的梯度不平衡问题(即未屏蔽令牌较少的样本贡献的梯度不成比例地大),ERNIE 4.5引入了令牌平衡损失函数(Token-Balanced Loss)。该函数通过一个归一化因子(1除以总序列长度),确保每个样本的损失贡献与总序列长度成反比,从而独立于特定的掩码配置。在标准上下文和长上下文长度下联
延伸阅读

更多相关文章

2026/9/14 3:25:44

GPT-Live实时视频翻译:技术原理与工程实现全解析

最近在参与国际技术会议和观看海外技术直播时,经常遇到语言障碍的问题。虽然市面上有不少翻译工具,但针对实时视频内容的翻译解决方案往往不够流畅。GPT-Live 实时视频翻译功能的推出,正好解决了这一痛点。本文将完整解析该功能的技术原理、应…

2026/9/12 13:49:52

CANN/asc-devkit UB数据搬运API

asc_copy_ub2ub 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode…

2026/9/15 9:37:02

Spring Modulith:模块化单体架构的Java实践

1. 项目概述:从"大泥球"到模块化单体的演进之路在Java企业级开发领域,"大泥球"(Big Ball of Mud)这个术语形象地描述了许多项目最终陷入的困境——随着业务增长,代码逐渐变成一团相互纠缠、边界模…

2026/9/15 9:37:02

Android车载CAN开发:从SocketCAN到DBC与UDS诊断实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/15 9:37:02

大斜视角SAR成像中RMA的Stolt插值:原理、实现与工程避坑指南

简介:SAR成像中,波数域算法(RMA)是处理大斜视角、长合成孔径数据的理想频域成像方法,其核心在于利用Stolt插值在二维频域完成距离徙动校正和方位聚焦。这里提供的MATLAB实现非常适合需要理解RMA原理或编写Stolt插值代码…

2026/9/15 9:37:02

Java常见排序算法详解:从原理到实战的完整指南

常见排序算法(Java实现)讲句实在话,排序算法这个东西,几乎是所有Java开发者逃不过去的一道坎。校招面试要问,社招跳槽要问,就连工作三五年回去带新人,讲数据结构的时候还是得从排序说起。我当年…

2026/9/15 9:37:02

wgm - SKILL

name: wgm description: “Turns a rough request into working software via a governed build loop: align first, plan, then iterate one task at a time with deterministic backpressure and holdout-scenario judging.” category: meta risk: safe source: community s…

2026/9/15 9:32:01

车辆动力学NMPC控制仿真避坑指南——Matlab项目完整复盘

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码