当前位置: 首页 > news >正文

【AIGC】Kolors:快手开源的文生图大模型

GitHub:GitHub - Kwai-Kolors/Kolors: Kolors Team

论文:Kolors/imgs/Kolors_paper.pdf at master · Kwai-Kolors/Kolors · GitHub

comfyui:GitHub - comfyanonymous/ComfyUI: The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

主要工作贡献

        选择GLM作为Kolors中英语和中文文本表示的合适的大语言模型。此外,我们还使用由多模态大语言模型生成的详细描述来增强训练图像。因此,Kolors在理解复杂的语义方面表现出了特殊的熟练程度,特别是在涉及多个实体的场景中,并展示了优越的文本呈现能力 。

        Kolors采用两阶段的方法进行训练,其中包括概念学习阶段,使用广泛的知识,和质量改进阶段,利用精心策划的高级美学数据。此外,我们引入了一种新的采样策略来优化高分辨率图像的生成。这些策略有效地提高了生成的高分辨率图像的视觉吸引力。

方法

 基于大型语言模型的文本编码器

        文本编码器是文本到图像生成模型的一个重要组成部分,它直接影响和控制模型生成的内容。我们将典型图像生成模型的文本编码器的使用情况与表1中我们的Kolors进行了比较。一般来说,CLIP [28]和T5 [29]系列主要是文本编码器。经典的方法,如SD1.5 [32]和DALL-E 2 [30],使用CLIP模型的文本分支来进行文本表示。然而,由于CLIP是通过对比损失训练来使整个图像与文本描述对齐的,因此它很难理解涉及多个主题、位置或颜色的详细图像描述

 一些方法从编码器-解码器变压器T5中提取文本嵌入,该T5携带更细粒度的局部信息,如Imagen [34]和PixArt-α [5]。此外,其他方法还利用多个文本编码器来增强文本理解。例如,eDiff-I [2]提出了一个集成的文本编码器,它结合了CLIP和T5,同时用于全局和本地文本表示。SDXL [27]使用了两个CLIP编码器,并在开源社区中取得了很有希望的结果。SD3 [9]进一步将一个T5-XXL文本编码器集成到其模型架构中,这对于处理复杂的提示是必不可少的。最近,LuminaT2X提出了一个统一的框架,通过利用预先训练好的LLM模型LLama2 [38],将文本转换为任何模态。

        值得注意的是,由于CLIP中英文文本编码器的局限性,大多数文本到图像的生成模型在中文提示中都遇到了困难。HunyuanDiT[19]通过使用双语CLIP和多语言T5 [43]编码器进行中文文本到图像的生成,解决了这个问题。然而,中文文本的训练语料库只占多语言T5数据集的不到2%,双语CLIP产生的文本嵌入仍然不足以处理复杂的文本提示。

        为了解决这些限制,我们选择了通用语言模型(GLM)[8]作为Kolors中的文本编码器。GLM是一种基于自回归空白填充目标的双语(英语和中文)预训练语言模型,在自然语言理解和生成任务方面显著优于BERT和T5。我们假设预先训练的ChatGLM3-6B-Base模型更适合文本表示,而ChatGLM3-6B聊天模型经过了人类偏好对齐训练,擅长文本呈现。因此,在Kolors中,我们使用开源的ChatGLM3-6B-Base作为文本编码器,该编码器经过了超过1.4万亿个双语token的预训练,从而产生了强大的中文理解能力。 

 基于多模态大语言模型改进的详细提示词

 使用多模态语言模型重新标注文本图像对,同时提出评估文本描述质量的方法

•长度:汉字总数。

•完整性:文本描述包含整个图像的程度。如果文本描述了图像中的所有对象,则得分为5分;如果文本描述的对象少于30%,则得分为1分。

•相关性:文本描述表示图像前景元素的准确性。如果文本描述了所有的前景对象,则得分为5分;如果文本覆盖的前景对象少于30%,则得分为1分。

•幻觉:在文本中提到的没有在图像中出现的细节或实体的比例。5分表示文本中没有幻觉,而如果超过50%的文本是有幻觉,则得分为1分。

•主观性:文本偏离描述图像的视觉内容的程度,而是传达主观印象的程度。例如,像“它给人一种轻松和宁静的感觉,让人们感到舒适”这样的话被认为是主观的。如果没有主观文本,则得分为5分,如果超过50%的文本包含主观句子,则得分为1分。

•平均:平均

下表是基于扩散模型不同的文本编码器的比较

 对比几个多模态大语言模型,最终选择了CogVLM-1.1-chat.

增强中文文本渲染能力 

主要难点

1.大量的汉字和这些汉字复杂的纹理使中文文本比英语更具挑战性。

2.由于缺乏包含中文文本和相关图像的足够的训练数据,导致模型训练和拟合能力不足。 

         首先,对于汉语语料库,我们选择了5万个最常用的单词,构建了一个数千万个的训练数据集通过数据合成得到的图像-文本对。为了确保有效的学习,这些综合的数据只在概念学习阶段被合并。其次,为了增强生成的图像的真实性,我们利用OCR和多模态语言模型对真实世界的图像生成新的描述,如海报和场景文本,从而得到了大约数百万个样本

        通过整合综合数据和真实数据,系统地解决训练数据的局限性,显著提高了中文文本渲染的质量,从而为中文文本图像生成的新进展铺平了道路。 

提高视觉感染力 

         培训分为两个阶段:概念学习阶段质量改进阶段。在概念学习阶段,该模型主要从一个包含数十亿个图像-文本对的大规模数据集中获取全面的知识和概念。这个阶段的数据来自于公共数据集(例如,LAION [35],DataComp [11],JourneyDB [37])以及专有数据集。通过采用类别平衡策略,该数据集确保了广泛覆盖广泛的视觉概念。在质量改进阶段,焦点转移到提高高分辨率的图像细节和美学。[6,18]之前的工作也强调了在此过程中数据质量的关键重要性

        为了获得高质量的图像-文本对,我们首先将传统的过滤器(如分辨率、OCR精度、面部、清晰度和美学评分)应用到我们的数据集,从而将其减少到大约数千万张图像。这些图像随后会进行人工注释,并将注释分为五个不同的级别。为了减轻主观偏见,每幅图像被注释三次,最终的级别通过投票过程确定。不同级别图像的特征表现如下: 

•级别1:被认为不安全的内容包括描绘色情、暴力、血腥或恐怖的图片。

•级别2:显示人工合成迹象的图像,如存在标识、水印、黑色或白色边框、缝合图像等。

•级别3:有参数错误的图像,如模糊、过度曝光、曝光不足,或缺乏一个清晰的主题。

•级别4:不起眼的照片,类似于没有过多考虑的快照。

•级别5:具有高审美价值的照片,这意味着一幅图像不仅应该具有适当的曝光度、对比度、色调平衡和色彩饱和度,而且还应该传达一种叙事感。

这种方法最终产生了数百万张5级高美学图像这些图像被用于质量增强阶段。 

高分辨率图像训练 

在Kolors中,我们采用了基于DDPM的训练方法[13],具有一个预测目标。在概念学习的低分辨率训练阶段,我们采用了与SDXL [27]相同的噪声时间表。对于高分辨率训练,我们引入了一个新的时间表,它简单地将步数从原来的1000扩展到1100,使模型能够实现更低的终端信噪比。此外,我们调整了β的值,以保持αt曲线的形状,其中αt决定了xt =√αtx0 +√1−αtϵ。如图5所示,我们的αt轨迹完全包含了基本调度的轨迹,而其他方法的轨迹则有明显的偏差。这表明,当从低分辨率中使用的基本时间表过渡时,与其他时间表相比,新时间表的适应和学习难度降低了。 

下图是提升视觉质量前后的比较

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • WebGL系列教程九(动画)
  • Mysql SqlServer 分页
  • 【算法】BFS—解开密码锁的最少次数
  • 简单说说MySQL中 SELECT 语句执行流程
  • 优化器与现有网络模型的修改
  • 软件编程随想
  • 内存dump文件分析
  • STM32--基于PWM的呼吸灯实验
  • 服务器断电重启后报XFS文件系统错误 XFS (dm-0)_ Metadata I_O error
  • 多线程之CompletableFuture
  • nodejs 011: nodejs事件驱动编程 EventEmitter 与 IPC
  • SLA 概念和计算方法
  • 智慧课堂学生行为数据集
  • AI预测福彩3D采取888=3策略+和值012路或胆码测试9月19日新模型预测第92弹
  • 基于深度学习的零售柜商品识别系统实战思路
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 「译」Node.js Streams 基础
  • 【mysql】环境安装、服务启动、密码设置
  • 03Go 类型总结
  • ES10 特性的完整指南
  • JavaScript设计模式系列一:工厂模式
  • Redash本地开发环境搭建
  • 人脸识别最新开发经验demo
  • HanLP分词命名实体提取详解
  • Semaphore
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • (7)svelte 教程: Props(属性)
  • (bean配置类的注解开发)学习Spring的第十三天
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • ./configure,make,make install的作用(转)
  • .NET : 在VS2008中计算代码度量值
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Project Open Day(2011.11.13)
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET企业级应用架构设计系列之技术选型
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .net中调用windows performance记录性能信息
  • /dev/sda2 is mounted; will not make a filesystem here!
  • /var/spool/postfix/maildrop 下有大量文件
  • @JSONField或@JsonProperty注解使用
  • [1181]linux两台服务器之间传输文件和文件夹
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)
  • [Android]一个简单使用Handler做Timer的例子
  • [Angularjs]ng-select和ng-options