提升您的稳定扩散提示,使用检索增强生成 机器学习博客
提升你的 Stable Diffusion 提示词效果:检索增强生成技术
关键要点
文本到图像生成是快速发展的领域,涵盖多种应用。Stable Diffusion 模型可以快速生成高质量图像。使用检索增强生成RAG技术来提升提示词,能有效提高生成图像的质量和相关性。通过语义检索和优化生成有助于用户快速找到合适的提示。文本到图像生成是一个快速成长的人工智能领域,应用广泛,尤其在媒体娱乐、游戏、电商产品展示、广告营销、建筑设计、艺术创作以及医学成像等方面。
Stable Diffusion 是一种文本到图像的模型,可在几秒内帮助用户创建高质量图像。2022 年 11 月,我们宣布 AWS 客户可以借助 Stable Diffusion 模型在 Amazon SageMaker JumpStart 中生成图像,一个提供模型、算法和解决方案的机器学习平台。2023 年 4 月,我们进一步推出了 Amazon Bedrock,这是一个完全托管的服务,提供通过便捷 API 访问前沿基础模型的能力,包括 Stable Diffusion。
随着越来越多的客户进行文本到图像创作,一项共同的挑战浮出水面如何构造出能够生成高质量、目标明确的图像的提示词。这一挑战往往需要大量的时间和资源,因为用户需要反复实验,直到找到与自己构想相符的提示。
检索增强生成RAG是一种过程,语言模型从外部数据源中检索上下文文档,然后利用这些信息生成更准确、更具信息量的文本。这项技术在知识密集型自然语言处理NLP任务中特别有效。目前,我们将其转化为文本到图像生成领域,展示如何利用 RAG 的力量来增强发送给 Stable Diffusion 模型的提示词。你可以在 Amazon Bedrock 和 SageMaker JumpStart 上快速创建自己的 AI 助手以生成提示词。

提示词的制作方法
虽然为文本到图像模型制作提示词看似简单,但实际上这一任务复杂而微妙。这不仅仅是输入一些文字并期望模型生成与之对应的图像。有效的提示词需要提供明确的指令,同时也要留出创造空间。他们必须在具体与模糊之间找到平衡,且要根据不同的模型进行调整。为了应对提示工程的挑战,行业内探索了多种方法:
猎豹vnp方法描述提示库一些公司会整理预编写的提示库,用户可以访问信息并进行自定义。这些库中含有多种针对不同用例的提示,允许用户选择或调整满足其特定需求的提示。提示模板和指南许多公司和组织向用户提供一套预定义的提示模板和指南。这些模板提供了编写提示的结构化格式,使得生成有效指令变得简单。社区和用户贡献众包平台和用户社区在改进提示方面通常发挥着重要作用。用户可以分享经过优化的模型、成功的提示、技巧以及最佳实践,帮助其他人学习和提高其提示编写技能。模型微调公司可能会微调其文本到图像模型,以更好地理解和响应特定类型的提示。微调可以提高模型在特定领域或用例上的性能。这些行业方法的目标是使制作有效的文本到图像提示词的过程更加易于访问、用户友好且高效,提高文本到图像生成模型在各种应用中的可用性和灵活性。
使用 RAG 进行提示设计
在这一部分中,我们探讨如何通过 RAG 技术改变提示工程,与现有方法相辅相成。通过将 RAG 无缝集成到流程中,我们能够优化和提升提示设计的效率。
在提示数据库中进行语义搜索
想象一个公司积累了大量提示词,形成了一个庞大的提示库,或创建了大量针对特定用例和目标的提示模板。传统上,寻求灵感的用户需要手动浏览这些库,往往需要逐一筛选庞大的选项列表,这一过程既耗时又低效。通过使用文本嵌入模型将提示词嵌入提示库,公司可以构建一个语义搜索引擎。其工作原理如下:
嵌入提示 公司利用文本嵌入技术将库中的每个提示转换为数字表示,这些嵌入捕获了提示的语义含义和上下文。用户查询 当用户提供自己的提示或描述其想要的图像时,系统可以分析并嵌入其输入。语义搜索 使用嵌入,系统可进行语义搜索,基于用户的查询从库中检索出最相关的提示,同时考虑用户的输入及其在提示库中的历史数据。通过在提示库中实施语义搜索,公司使员工能够轻松访问海量提示。这种方法不仅加速了提示创建,还促进了文本到图像生成的创造力和一致性。
从语义搜索中生成提示
尽管语义搜索简化了寻找相关提示的过程,RAG 技术更进一步,利用这些搜索结果生成优化后的提示。其工作原理如下:
语义搜索结果 在从库中检索出最相关的提示后,系统会将这些提示展示给用户,并附上用户的原始输入。文本生成模型 用户可以从搜索结果中选择一条提示或进一步提供他们的偏好背景。系统将所选的提示和用户的输入一起输入到大型语言模型LLM中。优化提示 LLM 通过对语言细微之处的理解,生成一个结合所选提示元素和用户输入的优化提示。这条新提示旨在满足用户的需求,并设计成能够生成所需的图像输出。语义搜索和提示生成相结合,不仅简化了查找提示的过程,还确保生成的提示高度相关且有效。最终使你能够微调和自定义提示,从而提高文本到图像生成的结果。
以下是使用语义搜索和提示生成得到的 Stable Diffusion XL 生成的图像示例。
原始提示来自语义搜索的提示LLM 优化提示一只小狗的卡通 可爱的卡通狗在餐桌上吃三明治 一只朋克风格的卡通狗,动画风格,白色背景 一个男孩和他的狗一起走在森林小道上的卡通画一幅卡通场景,表现一个男孩开心地手牵着可爱的小狗,沿着森林小道走,动画风格。基于 RAG 的提示设计在各个行业的应用
在探索我们建议的 RAG 架构应用之前,我们先从一个图像生成模型最适用的行业开始。在广告技术行业,速度和创造力至关重要。基于 RAG 的提示生成可以迅速增加价值,通过生成提示建议来快速创建许多广告图像。人类决策者可以快速浏览自动生成的图像,选择适合广告活动的图像。这项功能可以作为独立应用,或嵌入到当前流行的软件工具和平台中。
另一个能提升生产力的行业是媒体和娱乐。RAG 架构可以协助创建头像等用例。从简单的提示开始,RAG 可以为头像创意增添更多色彩和特征。它可以生成多个候选提示,提供更多创意想法。通过生成的图像,你可以找到适合特定应用的最佳选择。其自动生成大量提示建议的特性,显著提升了生产力。
解决方案概述
让客户能够在 AWS 上构建自己的基于 RAG 的 AI 助手以进行提示设计,彰显了现代技术的多样性。AWS 提供了多种选项和服务来支持这一工作。以下参考架构图展示了在 AWS 上用于提示设计的 RAG 应用。
当选择适合你的 AI 助手的 LLM 时,AWS 提供了一系列选择,以满足你的特定需求。
首先,你可以选择通过 SageMaker JumpStart 提供的 LLM,利用专用实例。这些实例支持多种模型,包括 Falcon、Llama 2、Bloom Z 和 FlanT5,或你可以使用 Cohere 的 Command 和多语言嵌入模型,或 AI21 Labs 的 Jurassic2。
如果你更偏向于简化方式,AWS 在 Amazon Bedrock 上提供了 LLM,包含 Amazon Titan 和 Anthropic Claude。这些模型可以通过简单的 API 调用轻松访问,使你能够便捷地利用这些强大功能。灵活多样的选择保证了你可以自由选择最佳符合你提示设计目标的 LLM,无论是使用开放容器的创新,还是强大的专有模型能力。
在构建基本的向量数据库时,AWS 提供了众多本地服务选项。你可以选择 Amazon OpenSearch 服务、Amazon Aurora,或 Amazon RDS for PostgreSQL,每一个都提供强大的功能以满足你的特定需求。此外,你还可以探索 AWS 合作伙伴的产品,如 Pinecone、Weaviate、Elastic、Milvus 或 Chroma,提供高效的向量存储和检索专门解决方案。
为帮助你开始构建一个基于 RAG 的 AI 助手进行提示设计,我们在 GitHub 中整理了一个全面的演示。这一演示使用了以下资源:
图像生成:Stable Diffusion XL 在 Amazon Bedrock 上文本嵌入:Amazon Titan 在 Amazon Bedrock 上文本生成:Claude 2 在 Amazon Bedrock 上向量数据库:FAISS,一个开源库,用于高效相似性搜索提示库:来自 DiffusionDB 的提示示例,这是第一个大规模文本到图像生成模型提示库数据集。此外,我们还将 LangChain 用于 LLM 实现,并使用 Streamlit 作为web 应用组件,提供无缝且用户友好的体验。
前提条件
运行该演示应用程序需要满足以下条件:
AWS 账户使用 Amazon SageMaker Studio 的基础知识从 GitHub 下载代码库的基础知识在终端运行命令的基础知识运行演示应用程序
你可以从 GitHub 代码库下载所需的所有代码和说明。在应用程序部署后,你将看到如下截图的页面。
通过此次演示,我们希望让实现过程变得更易于理解,帮助你获得实践经验,以便开始探索 RAG 和 AWS 上的提示设计的世界。
清理
在试用完应用后,请通过停止应用来清理你的资源。
结论
RAG 已成为提示设计领域的一种变革性范式,激活了 Stable Diffusion 的文本到图像能力。通过将 RAG 技术与现有方法结合,并利用 AWS 的强大资源,我们发现了提高创造力和加速学习的路径。
欲获取更多资源,请访问以下链接:
Stabilityai 官方网站Stabilityai Stable Diffusion XL 10 发布说明Amazon Bedrock 用户指南Amazon SageMaker JumpStart 开发者指南在 Amazon SageMaker Studio 中构建 Streamlit 应用作者介绍
James Yi 是亚马逊网络服务AWS新兴技术团队的高级 AI/ML 合作解决方案架构师。他热衷于与企业客户和合作伙伴共同设计、开发和扩展 AI/ML 应用,以发挥其商业价值。工作之余,他喜欢踢足球、旅行和与家人共度时光。
Rumi Olsen 是 AWS 合作伙伴项目的解决方案架构师。目前,她专注于无服务器和机器学习解决方案,并具有自然语言处理技术的背景。她大部分闲暇时间与女儿一起探索太平洋西北地区的自然风光。
加密出站流量和 AWS 网络防火墙的 TLS 检查配置 安全博客
配置 TLS 检查以保护加密的出站流量和 AWS 网络防火墙关键要点加密的出站流量同样需要保护,设置 egress TLS 检查是实现这一目标的关键步骤。AWS 网络防火墙可通过解密、检查负载以及重新加密出站 SSL/TLS 流量来增强安全性。本文将介绍 egress TLS 检查的配置步骤、最佳实...