腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA

近日,腾讯开源了旗下的混元大模型Hunyuan-DiT。模型含有15亿参数量,在文本-图像一致性、排除AI伪像的能力、主题清晰度和美感等任务上取得全面SOTA。

 

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

目前已在 Hugging Face 平台及 Github 上发布,不管是企业还是个人开发者,全部免费可用。

 

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

项目主页:https://dit.hunyuan.tencent.com/

论文地址:https://arxiv.org/pdf/2405.08748

Github地址:https://github.com/Tencent/HunyuanDiT

 

摘要

Hunyuan-DiT是一个文本到图像的Diffusion Transformer,具有对英语和汉语的细粒度理解。为了构建Hunyuan-DiT,精心设计了Transformer结构、文本编码器和位置编码。我们还从头开始构建一个完整的数据管道来更新和评估迭代模型优化的数据。对于细粒度的语言理解,我们训练了一个多模态大语言模型来改进图像的说明文字。最后,Hunyuan-DiT可以与用户进行多回合多模态对话,根据上下文生成和提炼图像。与其他开源模型相比,Hunyuan-DiT通过拥有50多名专业评估人员的全面人工评估协议,在中文到图像生成方面达到了新的水平。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

简介

Hunyuan-DiT可以根据中英文提示生成多种不同分辨率的高质量图像。

  • 1)设计了一种新的基于Diffusion Transformer的网络架构。它结合了两个文本编码器,一个双语CLIP和一个多语言T5编码器,以提高语言理解和增加上下文长度。
  • 2)从零开始构建一个数据处理管道,用于添加数据、过滤数据、维护数据、更新数据和应用数据,以优化我们的文本到图像模型。
  • 3)利用多模态大语言模型对图像-文本数据对中的原始字幕进行细化。我们的MLLM经过微调,可以生成具有世界知识的结构标题。
  • 4)通过与用户进行多轮对话,使Hunyuan-DiT能够交互式地修改其生成。
  • 5)在推理阶段进行训练后优化,降低Hunyuan-DiT的部署成本。

为了全面评估Hunyuan-DiT的性能,我们制定了一个由≥50名专业评估人员组成的评估方案。该协议仔细考虑了文本到图像模型的不同维度,包括文本-图像一致性、人工智能工件、主题清晰度、美学等。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

Hunyuan-DiT在开源模型中实现了最先进的性能。在中文-图像生成中,与现有的开源模型(包括Stable Diffusion 3)相比,Hunyuan-DiT在文本-图像一致性、主题清晰度和美学方面表现最好。在主题清晰度和美学方面,它的表现与顶级闭源模型(如DALL-E 3和MidJourney v6)相似。在质量上,对于中国元素的理解,包括中国古代诗歌和中国美食等类别,Hunyuan-DiT与其他比较算法相比,可以生成具有更高图像质量和语义准确性的结果。Hunyuan-DiT支持长文本理解多达256个令牌。Hunyuan-DiT可以使用中英文文本提示生成图像。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

方法

使用Diffusion Transformer提升生成质量

Hunyuan-DiT我们使用预训练的变分自编码器(将图像压缩到低维潜空间中,并训练扩散模型,通过扩散模型学习数据分布。我们的扩散模型是用Transformer参数化的。为了对文本提示进行编码,我们利用了预训练的双语(英语和汉语)CLIP和多语言T5编码器的组合。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

VAE。我们使用SDXL中的VAE,它是在sd1.5中的VAE的512×512图像上进行微调的。实验结果表明,在高分辨率SDXL VAE上训练的文本到图像模型在sd1.5 VAE上提高了清晰度,减轻了过饱和,减少了失真。

Hunyuan-DiT中的Diffusion Transformer。我们对Diffusion Transformer进行了优化。我们修改模型结构,将文本条件与使用交叉注意作为Stable Diffusion的Diffusion Model相结合。Hunyuan-DiT将VAE潜空间中的向量x作为输入,将x拼接成hp×wp块,其中p设为2。在线性投影层之后,我们为后续的Transformer块获得hw/4令牌。Hunyuan-DiT有两种类型的Transformer块,编码器块和解码器块。它们都包含三个模块——自注意、交叉注意和前馈网络(FFN)。解码器块另外包含一个skip模块,该skip模块将来自所述编码器块的信息添加到所述解码阶段。最后,对标记进行重组,恢复二维空间结构。对于训练,我们发现使用v-prediction可以获得更好的性能。

文本编码器。Hunyuan-DiT在文本编码方面选择了T5和CLIP的结合,利用了两种模式的优势,从而提高了文本到图像生成过程的准确性和多样性。

位置编码和多分辨率生成。在Hunyuan-DiT中采用了旋转位置嵌入(RoPE),同时对绝对位置和相对位置依赖进行编码。我们使用二维RoPE,将RoPE扩展到图像域。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

Hunyuan-DiT支持多分辨率训练和推理,需要我们为不同的分辨率分配合适的位置编码。我们使用集中式插值位置编码将x的位置编码与不同的h和w对齐。该策略保证了不同分辨率的图像在计算位置编码时具有相同的范围,从而提高了学习效率。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

集中式插值位置编码允许不同分辨率的图像共享相似的位置编码空间。采用集中式插值位置编码,模型收敛速度更快,可推广到新的分辨率。

提升训练稳定性。为了提高训练稳定性,我们提出了三种技术:

  • 1)我们在计算Q、K和v之前,在所有的注意力模块中加入层归一化,这种技术被称为QK-Norm。
  • 2)我们在解码器块的skip模块后增加了层归一化,以避免训练过程中的损失爆炸。
  • 3)我们发现某些操作,例如层归一化,倾向于在FP16上溢出。我们特意将它们切换到FP32以避免数值错误。

数据管道

我们准备训练数据的流水线由四部分组成,

  • 数据获取:目前数据获取的主要渠道是外部采购、开放数据下载和授权合作伙伴数据。
  • 数据解释:在获得原始数据后,我们对数据进行标记,以识别数据的优势和劣势。目前,它支持十多种标记功能,包括图像清晰度、美学、不雅、暴力、性内容、水印的存在、图像分类和图像描述。
  • 数据分层:为大量图像构建数据分层,以服务于模型训练的不同阶段。然后,从这个庞大的图像库中筛选相对高质量的图像集作为银层数据来训练生成模型,以提高模型的质量和理解能力。最后,通过
  • 机器筛选和人工标注,选择质量最高的数据作为金层数据,对生成模型进行提炼和优化。
  • 数据应用:分层数据应用于多个领域。专门的数据被过滤出来用于专门的优化。新处理的数据不断加入到基础生成模型的迭代优化中。还经常检查数据,以保持正在进行的数据处理的质量。

为了评估引入专门数据或新处理数据对生成模型的影响,我们设计了一个“数据护航”机制,该机制由以下部分组成:

  • 1)我们按照数据分类系统对训练数据进行分类,包括主题、风格、场景、构图等。然后调整不同类别之间的分布以满足模型的需求,并使用类别平衡数据集对模型进行微调。
  • 2)我们在微调模型和原始模型之间进行类别级别的比较,以评估数据的优点和缺点,并以此为基础设置更新数据的方向。

我们的模型评估方案由两部分组成:

  • 1)评估集构建:我们根据数据类别,结合不良案例和业务需求,构建初始评估集。通过对测试用例的合理性、逻辑性和全面性的人工标注,保证了评估集的可用性。
  • 2)数据护航中的评估:在每个数据护航中,我们从评估集中随机选择一个测试用例子集,形成一个整体的评估子集,包括主题、风格、场景、组合。我们计算所有评估维度的总体得分,以帮助数据迭代。

中文细粒度理解的字幕改良

我们采用结构化字幕对图像进行全面描述。此外,我们还使用原始字幕和包含世界知识的专家模型,以便在重新字幕中生成特殊概念。

为了训练一个适合改进原始图像-文本对的MLLM,我们构建了一个大规模的结构化标题数据集并对MLLM进行了微调。我们使用人工智能辅助管道进行数据集构建。我们的模型结构类似于LLAVA-1.6。它由用于视觉的ViT、用于语言的仅解码器LLM和用于桥接视觉和文本的适配器组成。训练目标是与其他自回归模型一样的分类损失。

我们利用两种方法将世界知识注入到标题中:

  • 1)使用标签注入重新标注:我们设计了一个MLLM,它以图像和标签为输入,并输出包含标签信息的更全面的标题。我们发现这个MLLM可以用非常稀疏的人类标记数据进行训练。
  • 2)使用原始字幕重新配文:Capsfusion提出使用ChatGPT将原始字幕与生成的描述性字幕融合在一起。然而,原始字幕通常是嘈杂的,LLM本身无法纠正原始字幕中的错误信息。为了缓解这个问题,我们构建了一个从图像和原始字幕生成字幕的mlm,它可以通过考虑图像信息来纠正错误。

多回合对话提示增强

我们训练MLLM理解多回合用户对话,并输出新的文本提示用于图像生成。

为了训练这个模型,我们使用了GPT-4的语境学习能力。我们收集一小部分人工标注的(指令、文本提示)对作为上下文学习示例,然后查询GPT-4生成更多的数据对。这些对构建了一个单轮指令到提示的数据集。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

为了与构建多回合文本到图像生成系统的目标保持一致,我们添加了一个特殊的令牌<draw>来表示应该在当前回合对话中将文本提示发送给Hunyuan-DiT。如果模型成功地预测了<draw>令牌,它将为Hunyuan-DiT生成一个详细的提示。为了训练MLLM,我们设计了一个三回合多模态对话的数据集。为了确保会话场景的广泛覆盖,我们基于四个主要类别,即文本→文本,文本→图像,文本+图像→文本,文本+图像→图像,文本+图像→图像,探索不同的输入和输出类型组合。

为了保持多模态会话能力,我们还包含了一系列开源的单/多模态会话数据集。我们随机对上述数据集的单回合样本进行洗牌和连接,得到伪多回合数据集。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

在文本到图像的多回合对话中,用户可能会多次要求AI系统编辑某个主题。我们的目标是确保在多个会话回合中生成的主题尽可能保持一致。为了实现这一点,我们在对话AI代理的“对话提示”中添加了以下约束。对于建立在前几轮生成的图像基础上的图像生成,转换后的文本提示应该满足用户当前的需求,同时尽可能少地更改用于前几轮图像的文本提示。此外,在给定对话的推理阶段,我们固定了文本到图像模型的随机种子。这种方法大大增加了整个对话的主题一致性。

系统效率优化

由于Hunyuan-DiT中模型参数较多,训练所需的图像数据量较大,我们采用ZeRO、flash-attention、多流异步执行、激活检查点、核融合等方法来提高训练速度。

我们采用了多种工程优化策略来提高推理效率,包括ONNX图优化、内核优化、算子融合、预计算、GPU内存重用等。

我们选择渐进蒸馏,它具有稳定的训练,并允许我们在加速比和性能之间顺利权衡,为我们提供最便宜和最快的模型加速方式。为了鼓励学生模型准确地模仿教师模型,我们在训练过程中仔细调整了优化器、无分类器指导和正则化。

评估方式

评估指标

在评估文本到图像模型的能力时,我们采用了以下四个维度:文本-图像一致性、人工智能工件、主题清晰度和整体美学。对于引起安全问题的结果(例如涉及色情、政治、暴力或流血),我们直接将其标记为不可接受。

在评估多回合对话交互能力时,我们还评估了额外的维度,如指令遵从性、主题一致性和图像生成的多回合提示增强性能。

评估数据集构建

我们将人工智能生成的测试提示和人工创建的测试提示结合起来,构建了一个具有不同难度级别的分层评估数据集。我们根据文本提示内容的丰富程度、描述元素(主语、主语修饰语、背景描述、风格等)的数量、元素是否常见以及它们是否包含抽象语义(例如诗歌、成语、谚语)等因素,将评估数据集分为简单、中等和困难三个难度级别。

在构建分级评价数据集的过程中,我们分析了用户在使用文本到图像生成模型时使用的文本提示,并结合用户访谈和专家设计师意见,涵盖了评价数据集中的功能应用、人物角色、中国元素、多回合文本到图像生成、艺术风格、主题细节等主要类别。

执行评估

评估团队评估团队由专业的评估人员组成。他们拥有丰富的专业知识和评估经验,能够准确执行评估任务并提供深入的分析。评估小组有50多名成员。

评估过程包括评估标准培训和多人校正两个阶段。在评估标准培训阶段,我们为评估人员提供详细的培训,以确保他们对评估指标和工具有清晰的理解。在多人校正阶段,我们让多个评价者对同一组图像进行独立评价,然后对评价结果进行汇总和分析,以减轻评价者之间的主观偏见。通过以上过程,我们可以得到模型在不同品类层次的通过率,以及整体通过率,对模型的性能进行综合评价。

评估结束后,我们对结果进行了深入的分析,包括:

  • 1)对不同评估指标的结果进行综合分析,以了解模型在各个方面的表现。
  • 2)比较分析模型在不同难度级别任务上的表现,了解模型处理复杂场景和抽象语义的能力。
  • 3)识别模型的优点和缺点,为将来的优化提供方向。
  • 4)与其他最先进的模型比较。

结果

我们与最先进的模型进行了比较,包括开源模型(Playground 2.5、PixArt- α、SDXL)和闭源模型(DALL-E 3、SD 3、MidJourney v6)。结果显示,与其他开源模型相比,Hunyuan-DiT在所有四个维度上都取得了最好的成绩。与闭源模型相比,Hunyuan-DiT在主体清晰度和图像美学方面可以达到与MidJourney v6、DALL-E 3等SOTA模型相近的性能。在整体通过率方面,Hunyuan-DiT在所有模型中排名第三,优于现有的开源替代方案。

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

《腾讯开源Hunyuan-DiT混元大模型,首个中文原生DiT架构大模型,刷新多个SOTA》- 投稿作者:灵度智能 - 发布于:GetAI社区

0

评论0

请先
显示验证码