多场景PAI-Diffusion中文模型家族大升级,12个模型、2个工具全部开源

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 在本文中,将详细介绍PAI-Diffusion中文模型家族及其工具Chinese Diffusion WebUI和Diffuser-API的使用。

1.概述


在过去几年中,随着AI生成内容(AI Generated Content,AIGC)的快速发展,Stable Diffusion模型在该领域崭露头角。阿里云机器学习PAI团队为推动这一领域的发展,参考了Stable Diffusion的模型结构,结合中文语言的特点,通过大量对模型预训练数据的处理和过滤,以及训练过程的优化,提出了PAI-Diffusion中文文图生成模型,实现了图像生成质量的大幅提升和风格多样化(看这里)。PAI-Diffusion模型的Pipeline不仅包含了标准的Diffusion Model,还集成了中文CLIP跨模态对齐模型,使得模型能够生成符合中文文本描述的各种场景下的高清大图(看这里)。此外,我们也推出了PAI的自研Prompt美化器BeautifulPrompt,赋能Stable Diffusion类应用一键出美图(看这里)。

我们在这次的工作中,将PAI-Diffusion中文模型家族扩展到多种应用场景,支持文生图、文图生图、图像修复、LoRA、ControlNet等多种常见功能。为了更好地与开源社区互动,我们将12个PAI-Diffusion中文模型(包括基础模型、LoRA、ControlNet等)全部开源,并支持用户自由下载和使用,与开发者一起共同推动AI生成内容技术的发展,创造出更有创意和影响力的作品。此外,PAI-Diffusion中文模型对应两个推理工具也在开源社区推出。其中,Chinese Diffusion WebUI作为Stable Diffusion WebUI的插件与PAI-EAS无缝兼容,支持5分钟内一键在PAI-EAS拉起中文AIGC应用;Diffusers-API也完美支持中文模型的快速部署和推理。

在下文中,我们详细介绍PAI-Diffusion中文模型家族及其工具Chinese Diffusion WebUI和Diffuser-API的使用。


2.多场景的PAI-Diffusion中文模型家族


我们利用海量中文图文对数据,训练了如下12个模型,包括基础模型、LoRA、ControlNet等,模型列表如下:

模型名

类别

使用场景

pai-diffusion-general-large-zh

基础模型

中文文图生成通用模型,默认支持生成图像分辨率为512*512

pai-diffusion-general-large-zh-controlnet-canny

ControlNet

上述模型用于边缘图的ControlNet

pai-diffusion-general-large-zh-controlnet-depth

ControlNet

上述模型用于深度图的ControlNet

pai-diffusion-general-xlarge-zh

基础模型

中文文图生成通用模型(更大分辨率),默认支持生成图像分辨率为768*768

pai-diffusion-artist-large-zh

基础模型

中文文图生成艺术模型,默认支持生成图像分辨率为512*512

pai-diffusion-artist-large-zh-controlnet-canny

ControlNet

上述模型用于边缘图的ControlNet

pai-diffusion-artist-large-zh-controlnet-depth

ControlNet

上述模型用于深度图的ControlNet

pai-diffusion-artist-large-zh-lora-poem

LoRA

上述模型用于中文古诗画的LoRA

pai-diffusion-artist-large-zh-lora-25d

LoRA

上述模型用于2.5D插画的LoRA

pai-diffusion-artist-xlarge-zh

基础模型

中文文图生成艺术模型(更大分辨率),默认支持生成图像分辨率为768*768

pai-diffusion-food-large-zh

基础模型

中文文图生成美食模型,默认支持生成图像分辨率为768*768

pai-diffusion-anime-large-zh

基础模型

中文文图生成二次元模型,默认支持生成图像分辨率为768*512

上述所有模型都可以在我们的Hugging Face Space进行下载,我们的模型也可以通过ModelScope进行调用模型生成的效果如下所示:

下面给出了三个PAI-Diffusion中文模型的应用场景:

应用场景一:输入草稿图和对应的Prompt,生成精细的艺术图画。

应用场景二:污染破损的古诗词绘画图像的修复,即image in-painting。

应用场景三:为国风游戏绘制中国古代室内场景

为了尽可能提升模型输出图像的质量,我们搜集海量开源的图文对数据集,包括大规模中文跨模态预训练数据集WuKong、大规模多语言多模态数据集LAION-5B等。此外,我们也搜集了大量不同领域、不同场景的数据集,用于扩展PAI-Diffusion中文模型家族的应用场景。我们针对图像和文本进行了多种清洗方式,筛选掉低质量数据。具体的数据处理方式包括NSFW(Not Safe From Work)数据过滤、水印数据去除,我们也使用CLIP分数和美观值分数评分,过滤CLIP分数和美观值分数较低的数据,保证生成图像的语义一致性和质量。为了适配中文语义场景,我们的CLIP Text Encoder采用EasyNLP自研的中文CLIP模型(https://github.com/alibaba/EasyNLP)进行建模,使得模型更懂中文语言。


3.PAI-Diffusion中文模型部署工具


本节详细介绍PAI-Diffusion中文模型对应的两个开源工具。Chinese Diffusion WebUI作为插件与PAI-EAS无缝兼容,支持5分钟内一键拉起中文AIGC应用;Diffusers-API通过API形式支持中文模型的快速部署和推理。

3.1Chinese Diffusion WebUI

由于Stable Diffusion WebUI无法原生支持中文模型,我们开发了Chinese Diffusion WebUI,作为Stable Diffusion WebUI的插件提供给用户。它提供了图形划的用户界面,使用户(尤其是没有编程经验的设计师)可以使用PAI-Diffusion中文模型的多种功能,例如文生图、图生图、图像风格迁移、图像编辑等。Chinese Diffusion WebUI的界面如下图所示:

为了方便用户在PAI-EAS上使用Chinese Diffusion WebUI,我们的插件也支持了两种模式:单机版本和集群版本,用户可以根据需求和资源选择不同的模式。在单机版中,用户在独占的节点上使用Chinese Diffusion WebUI,特别方便个人设计师的使用。集群版利用PAI的弹性推理服务,实现并行处理,高效利用和共享计算资源,从而实现了更高的资源利用率。

此外,Chinese Diffusion WebUI也可以在非PAI-EAS环境下使用,用户只需要在下载Chinese Diffusion WebUI插件,放置在标准Stable Diffusion WebUI的插件目录下就可以实现本地的使用了。

3.2Diffusers-API

Diffusers-API是阿里云机器学习PAI团队开源的、基于Diffusers的文图生成云服务SDK。用户可以直接基于本项目提供的镜像,在PAI-EAS上部署各种Diffusion相关服务,例如文生图、图生图、LoRA、ControlNet等。Diffusers-API还基于PAI-Blade对模型进行了推理优化,降低推理流程的端到端延迟 2.3 倍,同时可显著降低显存占用,超过TensorRT-v8.5等业内SOTA优化手段。

在Diffusers-API中,我们使用StableDiffusionLongPromptWeightingPipeline作为默认的推理接口,以支持带有权重的、无长度限制的英文Prompt。然而,Diffusers默认的推理接口无法无缝支持中文文本的处理。我们扩展了StableDiffusionLongPromptWeightingPipeline,根据载入模型的Text Encoder,自动检测语言,并且进行适配,使得无需修改Diffusers-API的任何接口的条件下,支持社区Stable Diffusion和PAI-Diffusion中文模型的一键部署,其HTTP请求体示例如下:

{
  "task_id" : "001",
  "prompt": "一只可爱的小猫咪",
  "negative_prompt": "模糊",
  "cfg_scale": 7,
  "steps": 25,
  "image_num": 1,
  "width": 512,
  "height": 512,
  "use_base64": True
}

部署PAI-Diffusion中文模型的步骤详见这里


4.总结


通过先前的PAI-Diffusion中文模型的开源,我们成功提升了图像生成质量和风格多样化,并实现了中文文本描述下各种场景的高清大图生成。此外,我们还推出了自研的Prompt美化器BeautifulPrompt,为Stable Diffusion类应用提供了一键美图的能力。在本次的工作中,我们不仅将PAI-Diffusion中文模型家族扩展到多种应用场景,还全面开源了12个PAI-Diffusion中文模型,包括基础模型、LoRA、ControlNet等。我们的工作希望为开发者们提供更多的创作可能性和创新机会,共同推动AI生成内容技术的发展,创造出更有创意和影响力的作品。此外,我们还推出了两个开源工具,Chinese Diffusion WebUI和Diffuser-API,提供便捷的使用体验。Chinese Diffusion WebUI作为插件与PAI-EAS无缝兼容,支持用户在5分钟内快速搭建中文AIGC应用;而Diffusers-API则完美支持中文模型的快速部署和推理。我们期待与开发者们共同推动AI生成内容技术的前进。


5.PAI-Diffusion系列文章回顾


相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
2天前
|
机器学习/深度学习 资源调度 分布式计算
阿里PAI-ChatLearn:大规模 Alignment高效训练框架正式开源
PAI-ChatLearn现已全面开源,助力用户快速、高效的Alignment训练体验。借助ChatLearn,用户可全身心投入于模型设计与效果优化,无需分心于底层技术细节。ChatLearn将承担起资源调度、数据传输、参数同步、分布式运行管理以及确保系统高效稳定运作的重任,为用户提供一站式解决方案。
|
1天前
|
机器学习/深度学习 PHP 开发者
探索PHP中的面向对象编程构建你的首个机器学习模型:以Python和scikit-learn为例
【8月更文挑战第30天】在PHP的世界中,面向对象编程(OOP)是一块基石,它让代码更加模块化、易于管理和维护。本文将深入探讨PHP中面向对象的魔法,从类和对象的定义开始,到继承、多态性、封装等核心概念,再到实战中如何应用这些理念来构建更健壮的应用。我们将通过示例代码,一起见证PHP中OOP的魔力,并理解其背后的设计哲学。
|
3天前
|
机器学习/深度学习
机器学习回归模型相关重要知识点总结
机器学习回归模型相关重要知识点总结
|
2天前
|
机器学习/深度学习 人工智能 Android开发
揭秘AI编程:从零开始构建你的第一个机器学习模型移动应用开发之旅:从新手到专家
【8月更文挑战第29天】本文将带你走进人工智能的奇妙世界,一起探索如何从零开始构建一个机器学习模型。我们将一步步解析整个过程,包括数据收集、预处理、模型选择、训练和测试等步骤,让你对AI编程有一个全面而深入的理解。无论你是AI初学者,还是有一定基础的开发者,都能在这篇文章中找到你需要的信息和启示。让我们一起开启这段激动人心的AI编程之旅吧! 【8月更文挑战第29天】在这篇文章中,我们将探索移动应用开发的奇妙世界。无论你是刚刚踏入这个领域的新手,还是已经有一定经验的开发者,这篇文章都将为你提供有价值的信息和指导。我们将从基础开始,逐步深入到更复杂的主题,包括移动操作系统的选择、开发工具的使用、
|
5天前
|
机器学习/深度学习 自动驾驶 算法
揭秘机器学习:用Python构建你的首个预测模型
【8月更文挑战第26天】 机器学习,这个听起来既神秘又遥不可及的领域,实际上正悄然改变着我们的世界。从推荐系统到自动驾驶汽车,机器学习技术无处不在。本文将带你走进机器学习的世界,通过一个简单的Python代码示例,展示如何构建一个基本的线性回归模型来预测房价。不需要复杂的数学公式或深奥的理论,我们将以最直观的方式理解机器学习的核心概念。无论你是编程新手还是数据科学爱好者,这篇文章都将为你打开一扇新的大门,让你看到数据背后的力量。
|
9天前
|
机器学习/深度学习 算法 自动驾驶
揭秘机器学习模型的决策之道
【8月更文挑战第22天】本文将深入浅出地探讨机器学习模型如何从数据中学习并做出预测。我们将一起探索模型背后的数学原理,了解它们是如何被训练以及如何对新数据进行预测的。文章旨在为初学者提供一个清晰的机器学习过程概述,并启发读者思考如何在自己的项目中应用这些技术。
|
3天前
|
机器学习/深度学习 数据采集 人工智能
深入浅出:用Python打造你的第一个机器学习模型
【8月更文挑战第28天】在数字浪潮汹涌的今天,机器学习不再是高不可攀的技术。本文将通过Python这把钥匙,解锁机器学习的大门。无论你是编程新手,还是想探索AI奥秘的好奇者,都能在这里找到入门的路径。我们将一起搭建一个简单的线性回归模型,并理解背后的数学原理。准备好了吗?让我们开始吧!
|
4天前
|
机器学习/深度学习 数据采集 测试技术
利用Python实现简单的机器学习模型软件测试的艺术与科学:探索自动化测试框架的奥秘
【8月更文挑战第27天】在本文中,我们将一起探索如何通过Python编程语言创建一个简单的机器学习模型。我们将使用scikit-learn库中的线性回归模型作为示例,并通过一个实际的数据集来训练我们的模型。文章将详细解释每一步的过程,包括数据预处理、模型训练和预测结果的评估。最后,我们会用代码块展示整个过程,确保读者能够跟随步骤实践并理解每个阶段的重要性。
|
7天前
|
机器学习/深度学习 人工智能 算法
探索机器学习:Python中的线性回归模型实现
【8月更文挑战第24天】在机器学习的世界中,线性回归是最基础也是应用最广泛的算法之一。本文将通过Python编程语言,使用scikit-learn库来实现一个简单的线性回归模型。我们将从理论出发,逐步深入到代码实现,最后通过一个实际数据集来验证模型的效果。无论你是机器学习的初学者,还是想要复习线性回归的基础知识,这篇文章都将为你提供有价值的信息。让我们一起踏上这段探索之旅吧!
|
7天前
|
机器学习/深度学习 数据采集 人工智能
揭秘AI编程:打造你的第一个机器学习模型
【8月更文挑战第24天】本文将带你走进人工智能编程的奇妙世界,从基础理论到实践操作,一步步构建你的首个机器学习模型。我们将通过一个简单的分类问题,展示如何收集数据、选择算法、训练模型并进行评估。文章末尾附有代码示例,助你理解并实现自己的AI项目。
18 0

相关产品

  • 人工智能平台 PAI
  • 下一篇
    云函数