BeautifulPrompt,PAI推出自研Prompt美化器,赋能AIGC一键出美图

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 本文主要介绍PAI自动Prompt生成模型的功能和背后的技术干货。

1.背景

Stable Diffusion(SD)是一种流行的AI生成内容(AI Generated Content,AIGC)模型,能在文字输入的基础上生成各种风格多样的图像。在目前的AIGC方向,SD是开源社区最热门的模型。然而,SD能够生成高颜值的图像,非常依赖于用户提供的Prompt。如果没有好的Prompt,SD往往无法生成用户预期的图像,极大的影响用户的使用体验。在先前的工作中,阿里云机器学习PAI团队在AIGC方向做了很多探索,包括PAI-Diffusion中文模型的开源、基于Blade的推理优化等,并且推出一系列行业解决方案。为了提升SD系列模型的易用性、降低使用门槛、释放AI模型的创造潜力,我们提出并训练完成面向SD自动Prompt美化器,使得用户只要输入一个极其简单的Prompt,就可以得到一系列经过语言模型优化过的、细节满满的Prompt,帮助您更简单地生成高颜值图像。在下文中,我们详细介绍PAI自动Prompt生成模型的功能和背后的技术干货。

2.一键体验Prompt自动生成

在详细介绍PAI自动Prompt生成模型前,我们首先给出体验Prompt生成效果。在以下的示例中,我们分别对比了原始Prompt和我们生成Prompt在Stable Diffusion v1.5底座模型上生成图像的效果。对于每个Prompt,我们随机生成两张图片进行对比。

我们也在ModelScope上构建了一个Demo以供用户体验(链接)。只要输入一个简单的Prompt,我们的模型就可以扩写成一个细节描述详细的Prompt,然后使用Stable Diffusion进行文图生成。

3.Prompt美化器背后的技术

在本节中,我们详细介绍如何训练一个优秀的Prompt美化器。整体架构如下图所示:

4.底座模型

PAI-Prompt生成模型底座基于BLOOM(BigScience Language Open-science Open-access Multilingual),由BigScience训练并且开源。BLOOM具有Decoder-only模型架构,和GPT-3非常相似,最大具有1760亿参数。在我们的模型训练时,我们选择了具有11亿参数的BLOOM模型进行继续训练,其原因在于它的参数量不大,当它用于线上部署时,推理速度较快,而且训练和推理成本都相当可控,具有很高的实用价值。

5.无需数据标注的SFT

由于模型的训练需要高质量和低质量的Prompt对,这些数据一般很难直接去做标注。因此我们使用如下方法自动话地搜集训练数据。

1.摘要生成:首先,我们搜集开源的高质量Prompt数据集,作为语言模型生成的Target。在这种场景下,由于缺乏低质量的Prompt,我们可以使用ChatGPT等大模型生成Summary作为低质量的Prompt。以下是一个Summary的例子:

Instruction: Summarize this image description in 10 words or less and ignore words like archdaily, wallpaper, highly detailed, 8k, [r/earthporn]. Check English. Ignore modifiers 'by xxx', 'with xxx' or 'in xxx'. Ignore adjective.
Input: a beautiful very detailed illustration of abandoned urbex unfinished building city nature industrial architecture architecture building spaceport by caspar david friedrich, scumm bar meadow nature synthwave, archdaily, wallpaper, highly detailed, trending on artstation.
Output: of abandoned urban building in nature.

Input: portrait painting of a lost boy by cedric peyravernay and greg ruthkowski, in the style of dishonored concept art, concept design, trending on artstation \n
Output:

2.Prompt扩展:利用低质量的Prompt,使用ChatGPT生成更高质量的Prompt。以下是一个Prompt生成的例子:

Instruction: create a detailed and creative description of the 'input'. Your response should include specific details about the colors, textures, and overall composition of the painting, as well as any unique features or elements that make it stand out.
Please provide a clear and concise response that captures the essence of the painting while also encouraging creativity and originality in your description. You may consider describing the setting or environment depicted in the painting.
Input: Digital painting of a girl with candy hat.

3.图像标题生成:我们搜集了高质量的图文对,对图像进行image captioning,生成更多可供训练模型的Prompt。

最终,得到的数据会进行美观值和一致性筛选,我们保留质量较高的数据用于SFT。

6.面向SD的强化学习优化

RLHF(Reinforcement Learning from Human Feedback)对ChatGPT等大模型的效果提升有重要的作用。在我们的应用中,我们设计了面向Stable Diffusion的强化学习算法,优化Prompt生成模型。

对于Reward Model,我们在得到图文对数据基础上,使用美学值评分模型来给图片打分,并使用一个语言模型来拟合对应Pprompt->美学值评分,将此作为我们的打分模型。此外,我们还采用最先进的强化学习算法PPO来进一步优化模型,奖励函数使用打分模型和一致性得分加权:

reward = a * score_model(prompt) + b * consistency_model(raw_prompt, prompt)

这样可以进一步加强我们生成Prompt的美观性和图文一致性。在完成了上述三阶段训练以后,我们的模型在小参数规模下(1.1B)的效果不亚于ChatGPT生成Prompt的效果,示例如下:

7.模型调用

如果想快速体验模型效果,可以访问我们在ModelScope社区的创空间页面链接。同时,我们也在huggingface等开源社区上架了这一模型,使用接口如下:

from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained('alibaba-pai/pai-bloom-1b1-text2prompt-sd')
model = AutoModelForCausalLM.from_pretrained('alibaba-pai/pai-bloom-1b1-text2prompt-sd').eval().cuda()

raw_prompt = '1 girl'
input = f'Instruction: Give a simple description of the image to generate a drawing prompt.\nInput: {raw_prompt}\nOutput:'
input_ids = tokenizer.encode(input, return_tensors='pt').cuda()

outputs = model.generate(
    input_ids,
    max_length=384,
    do_sample=True,
    temperature=1.0,
    top_k=50,
    top_p=0.95,
    repetition_penalty=1.2,
    num_return_sequences=5)

prompts = tokenizer.batch_decode(outputs[:, input_ids.size(1):], skip_special_tokens=True)
prompts = [p.strip() for p in prompts]
print(prompts)

8.未来展望

在这一期的工作中,我们提出并训练完成面向SD自动Prompt美化器,使得用户只要输入一个极其简单的Prompt,就可以得到一系列经过语言模型优化过的Prompt,帮助您更简单地生成高颜值图像。在未来,我们计划增加这一类模型对各种类SD模型的适配,丰富PAI-AIGC的算法和产品能力。

9.阿里灵杰回顾

免费领取 交互式建模PAI-DSW、模型训练PAI-DLC 5000CU*H计算资源包,以及价值500元模型在线服务 PAI-EAS 抵扣包。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
炸裂!PAI-DSW 和 Free Prompt Editing 图像编辑算法,成就了超神的个人 AIGC 绘图小助理!
【6月更文挑战第11天】PAI-DSW 和 Free Prompt Editing 算法引领图像编辑革命,创造出个人AIGC绘图小助理。PAI-DSW擅长深度图像处理,通过复杂模型和深度学习精准编辑;Free Prompt Editing则允许用户以文本描述编辑图像,拓展编辑创意。结合两者,小助理能根据用户需求生成惊艳图像。简单Python代码示例展示了其魅力,打破传统编辑局限,为专业人士和普通用户提供创新工具,开启图像创作新篇章。未来,它将继续进化,带来更多精彩作品和体验。
176 7
|
4月前
|
人工智能 编解码 算法
使用PAI-DSW x Free Prompt Editing开发个人AIGC绘图小助理
本文介绍如何借助阿里云PAI-DSW及Free Prompt Editing算法开发个性化AIGC绘图助手,实现图像智能编辑与生成。首先需领取PAI-DSW免费试用资源并创建实例;随后通过运行教程文件完成环境搭建。WebUI界面预设了多种参数供调整,如图像分辨率、编辑层数量等,支持更改图像背景与风格等功能演示。完成实验后应及时清理资源以避免额外费用。此外,参与阿里云开发者社区的“AIGC绘图小助手”活动,不仅可获得免费云资源试用,还有机会赢得桌面折叠风扇、小度智能屏X9等礼品。
|
5月前
|
存储 人工智能 大数据
「PAI-ArtLab100 AIGC」设计普惠计划发布!与 100+ 高校共同探索 AIGC 教育新路径
6月28日,D20全球设计院长峰会(简称D20峰会)在杭州阿里巴巴全球总部召开。峰会现场,阿里云高校合作部、阿里云人工智能平台PAI,以及阿里云设计中心联合发布「ArtLab100 AIGC设计普惠计划」(简称ArtLab100计划),与 100+ 高校共同探索 AIGC 教育新路径。旨在推动设计艺术教育与人工智能技术的深度结合,培育新时代的设计创新人才,同时加强校企合作,促进产业界与学术界的协同进步。
「PAI-ArtLab100 AIGC」设计普惠计划发布!与 100+ 高校共同探索 AIGC 教育新路径
|
5月前
|
机器学习/深度学习 数据采集 人工智能
|
6月前
|
人工智能 算法
AIGC创作活动 | 智"绘"AI,使用PAI创造风格百变绘画助手
使用阿里云人工智能平台PAIx Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理,实现文本驱动的图像编辑功能单卡即可完成AIGC图片风格变化、背景变化和主体变化等功能。让我们一同开启这场旅程,为您的图像编辑添上无限可能性的翅膀吧。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器的登神长阶——AIGC
【机器学习】机器的登神长阶——AIGC
|
16天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
58 4
|
12天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
30 1
|
21天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
25天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
69 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型

相关产品

  • 人工智能平台 PAI