跳至主要内容

AWS 解决方案库

在 AWS 上通过 Stable Diffusion 生成异步图像的指南

使用开源工具和生成式人工智能实现异步图像生成

概览

本指南将帮助您在 AWS 上实施可扩展且低成本的 Stable Diffusion (SD) Web 用户界面(UI)推理架构。SD 是一个流行的开源项目,用于使用生成式人工智能生成图像。本指南展示了如何使用无服务器和容器服务来构建和部署端到端、低成本的异步图像生成架构。 

工作原理

这些技术细节包含一张架构图,用于说明如何有效使用本解决方案。该架构图展示了关键组件及其相互作用,并逐步概述了架构的结构和功能。

Well-Architected 支柱

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

AWS X-R ay 会跟踪从 API Gateway Lambda 亚马逊 SNS 亚马逊 SQS 亚马逊 EKS Pod 的请求,一直到亚马逊 S3。这使用户可以快速对请求进行故障排除。此外,X-Ray 还提供服务地图,允许用户一目了然地识别当前系统状态。 

适用于 OpenTelemetry 的 AWS 发行版 EKS 集群收集指标并将其发送到亚马逊 CloudWatch。适用于 OpenTelemetry 的 DistroCloudWatch 可帮助您获取关键指标,并让您在指标超过阈值时自动收到警报。CloudWatch 容器洞察有助于实现这些指标的可视化。

阅读卓越运营白皮书

AWS 身份和访问管理 (IAM) 为 API Gateway Lambda 亚马逊 SNS、亚马逊 SQS 和 Amazon S3 提供访问控制。EKS 集群上的服务账户 IAM 角色(IRSA)可为 EKS 集群内运行的容器组(pod)提供细粒度的访问控制。EKS 集群上的 IAM 和 IRSA 可强制执行基于角色的访问控制,并限制对资源的未经授权访问。

阅读安全白皮书

本指南中的所有服务均为区域性服务,具有内置的高可用性,并针对可用区故障提供了容错能力。除了为每项单独的服务提供高可用性外,本指南还采用了松散耦合的微服务架构。此外,亚马逊 S3 Amazon EFS 提供高度可靠的存储服务,以支持正常运行时间。

阅读可靠性白皮书

Amazon EKS 提供了灵活的容器调度和可扩展性。KEDA 是适用于 Kubernetes 的事件驱动型容器组(pod)自动缩放器。Karpenter 简化了 Kubernetes 基础设施,并会自动启动适当数量的计算资源来处理集群的应用程序。结合 KEDA 和 Karpenter,Amazon EKS 可在一分钟内纵向扩展一个新节点。Bottlerocket 是一个针对容器进行了优化的操作系统,其启动时间比亚马逊Linux 2短。

阅读性能效率白皮书

竞价型实例的价格低于按需型实例。Amazon EKS 中的 Stable Diffusion Web 用户界面需要 GPU 实例进行推理,使用竞价型实例可节省高达 70% 的成本。由于 SQS 队列存储推理任务,因此在现场中断时您不会丢失数据。

此外,Fargate 上的亚马逊弹性容器服务 (Amazon ECS) 为运行容器化应用程序提供无服务器基础设施。Amazon EKS 通过标准 API 为部署、运行和管理容器提供了一种经济高效的方式。Fargate 上的 Amazon ECSAmazon EKS 为容器编排提供了可配置的基础设施选项,可实现成本优化。 

阅读成本优化白皮书

Lambda 会根据请求自动扩展,不会对闲置基础设施收费。这减少了前端 API 的计算使用量。Karpenter 具有容器工作负载整合功能,可定期检查当前工作负载是否可以整合到资源占用较少的现有 EKS 计算节点上,有助于减少闲置资源。Fargate 上的 Amazon ECS 提供了无服务器基础设施选项,能够以最小的资源占用量运行容器。

阅读可持续发展白皮书

实施资源

提供了在 AWS 账户中进行实验和使用的详细指南。构建指南的每个阶段(包括部署、使用和清理)都将被检查,以便为部署做好准备。

示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。


打开实施指南
GitHub 上的开放示例代码

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

找到今天要查找的内容了吗?

请提供您的意见,以便我们改进网页内容的质量。