多模态大模型正以前所未有的方式改变着我们的生活:
当前多模态大模型技术处于高速发展的阶段,前沿模型架构层出不穷,然而多模态大模型的训练和推理成本相对较高,并且对开发者而言上手难度较⼤,百度⻜桨推出⻜桨多模态⼤模型开发套件PaddleMIX,积极吸纳业界前沿的多模态⼤模型,并结合框架底层高性能硬核技术。全⾯兼顾高性能算法、便捷开发、高效训练和完备部署,极大降低业界多模态领域开发者的开发⻔槛。
首先来看PaddleMIX的三大亮点:
欢迎开发者前往开源项目主⻚直接体验:
https://github.com/PaddlePaddle/PaddleMIX
多模态理解模型的架构大多以大语言模型为核心,通过将多模态输入经由特定的多模态encoder转化为与文本对齐的token,随后被输入到大语言模型中,从而得出最终的结果。其中PaddleMIX在encoder中支持了 CLIP为核⼼的视觉编码器EVA-CLIP,CoCa,以及多模态编码器ImageBind。整体结构上PaddleMIX汇聚了 LLaVA系列,CogVLM,InternLM-XComposer2等50余种前沿模型。
多模态生成领域以扩散模型为技术核⼼,在AIGC领域大放异彩,并吸引了极高的社区关注度。PaddleMIX更新多模态生成工具箱PPDiffusers,集成了SD、SDXL、LCM等主流文生图模型,支持百余种pipeline,覆盖 文生图、可控生成、图像编辑、个性化定制、视频和语音处理等典型应用场景。
同时,PPDiffusers与 HuggingFace和WebUI生态紧密兼容,能直接导入WebUI的prompt和Civitai社区万余权重使用。
此外,随着SoRA模型的推出,文本生成视频领域的探索也日益深入,PPDiffusers中同样支持了DiT,NaDiT等Sora相关技术,以及SVD,AnimateAnyOne,OpenSoRA等多款视频生成模型,为用户提供了更为多样的多模态 生成模型选择。
Datacopilot是PaddleMIX版本推出的多模态数据处理工具箱,理念是把数据作为多模态算法的一部分参与迭代的全流程,让开发者根据特定任务以低代码量实现数据的基本操作。
工具核⼼概念包括Schema和 MMDataset。Schema用于定义多模态数据组织结构和字段名字。MMDataset作为数据操作的核心类,为存储,查看,转换,生成等操作的基本对象。
目前DataCopilot已经支持切片、加法等大量数据基本运算,支持链式调用,方便通过组合多种原子操作以实现复杂的功能。
同时支持json,jsonl,h5等多种数据格式读取和转换。内置map,filter函数,支持多进程和多线程并发功能,用于高效处理数据。
PaddleMIX对于不同的模型和模块,提供了统一的Auto模块体系,包括AutoConfig、AutoModel、 AutoTokenizer等,便于用户引用和实例化。
用户只需简单调用Auto接口,并指定所需的模型或模块字段,即可自动获取模型定义、组网结构和权重等关键对象,为后续的训练或推理任务做好准备。
在此基础上, PaddleMIX还提供了统一的SFT微调工具,该工具支持混合数据集处理、全参数或LoRA微调策略,以及⻜桨分布式训练策略。
用户只需配置好微调的模型文件,即可利用SFT工具快速进行模型微调,极大地提升了开发体验和效率。
AppFlow作为PaddleMIX的跨模态应用任务流水线,具备强大的功能与易用性。
通过接⼊LLaVA、Stable Diffusion等前沿算法,AppFlow已全面覆盖图像、文本、音频、视频等多种模态,并通过流水线式的灵活组合,构建了10余种多模态应用,涵盖图文生成、文本视频生成、文本音频生成、图像理解等多个方面,为用 户提供丰富的demo示例。
AppFlow的特色在于其一键预测功能,用户无需繁琐训练与大量编码,仅需简单命令即可完成模型推理,极大地降低了使⽤⻔槛。
同时,AppFlow充分利用飞桨框架动静统一优势,用户只需设置简单参数,即可自动完成模型的动转静导出及高性能推理,提高工作效率并优化模型性能,实现一站式应用部署。
ComfyUI是一个在开源社区广受欢迎的AIGC图形界面工具。
它通过节点拆分和工作流组合的方式,让不同模型协同工作,完成复杂的高级生产任务。PaddleMIX为ComfyUI开发了多个基于⻜桨的节点扩展程序,支持 文本到图像生成、图像分割、图像生成文本描述等多模态能力,包括SD15和SDXL相关的10多个节点和工作流,用户可以通过浏览器加载其中的json文件来使⽤对应的工作流。
开发者可基于图像界面开启PaddleMIX的AIGC之旅。感兴趣的⼩伙伴也可以在AI Studio进行体验:
https://aistudio.baidu.com/community/app/106043?source=appCenter
借助⻜桨的大规模分布式训练技术,PaddleMIX展现出了卓越的多模态大模型预训练能力,能够支持千亿级别的模型训练。
BLIP-2和Stable Diffusion模型在A100训练上,PaddleMIX的性能分别超越同类产品 38%和 25%。随着diffusion transformer架构在文生图领域的日益盛行,PaddleMIX针对DiT模型的大规模训练进行优化,包括张量并行和分组切片并行等分布式策略,从而在Large DiT 3B规模的预训练上实现了比同类产品 高出8%的性能。
PaddleMIX提供的统一SFT精调工具中创新性提出MixToken机制,在确保模型精度的同时,显著增大了训练吞吐量。
在图文联合训练中,视觉与文本特征被拼接成统一的token,然而,为了保持同一batch内各样本⻓度的一致性,往往需要对样本进行padding操作。MixToken机制将padding token替换为下一条样本的有效 token。
这样⼀来,即便在序列⻓度固定的情况下,也能实现数据吞吐量的显著提升,进而大幅提高训练效率。
以PaddleMIX的LLaVA SFT为例,通过应用MixToken机制,其训练吞吐量实现了68%的增⻓。
PaddleMIX基于⻜桨框架3.0 Beta版本在多个多模态⼤模型上实现推理性能全面领先。
⻜桨框架3.0 Beta版本中实现了大量通用IR/Pass优化,并针对扩散类模型进行了模型的算子融合和计算优化,采用卷积布局优化和GroupNorm融合策略,实现SDXL A100上的推理速度超越同类技术 80.4%。
针对以大语言模型为基础的多模态理解类模型,提供了细粒度模型优化的Pipeline,其核⼼思想是利用一系列高性能的GPU融合算子来代替原始模型的组合算子,最终使得LLaVA在A100性能优于同类技术34%。