上云无忧 > 文档中心 > 腾讯云容器服务实战教程 - 使用 TKE + 超级节点快速体验 Stable Diffusion
容器服务 TKE
腾讯云容器服务实战教程 - 使用 TKE + 超级节点快速体验 Stable Diffusion

文档简介:
技术背景: Stable Diffusion 是2022年发布的深度学习文本到图像生成模型,随着开源社区的活跃增长和 Stable Diffusion WebUI 开源项目的推出,已经成为了 AIGC 场景下首选开源方案,深受广大个人用户欢迎。而随着 GPT-4 的推出和 Stable DIffusion 最新版发布,越来越多企业开始认识到基于大模型的 AGI 和 AIGC 技术已经从“玩具”走向生产力工具,并快速拥抱 AI 技术。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

技术背景

Stable Diffusion 是2022年发布的深度学习文本到图像生成模型,随着开源社区的活跃增长和 Stable Diffusion WebUI 开源项目的推出,已经成为了 AIGC 场景下首选开源方案,深受广大个人用户欢迎。而随着 GPT-4 的推出和 Stable DIffusion 最新版发布,越来越多企业开始认识到基于大模型的 AGI 和 AIGC 技术已经从“玩具”走向生产力工具,并快速拥抱 AI 技术。然而 AI 模型训练及推理需要消耗大量计算资源,尤其是 GPU 资源。随着 AI 技术的火热落地,GPU 资源也出现一卡难求的场景。对于企业客户来说,低成本获取 GPU 资源,并快速部署 AI 模型,已经成为最紧迫的事情。容器服务 TKE 为客户提供了 GPU 容器托管服务,客户可按需申请 GPU 资源,按秒付费,并快速进行服务扩缩,轻松应对训练推理业务需求波动,并降低整体 GPU 成本。

部署步骤

新建 TKE Serverless 容器集群和超级节点

1. 登录 容器服务控制台
2. 新建一个 TKE Serverless 集群,操作步骤详情可参见 创建 TKE Serverless 集群。在创建 Serverless 集群时,请参考以下提示配置集群:
集群名称:例如 “Stable Diffusion 体验集群”。
Kubernetes 版本:选择默认的 Kubernetes 版本。
所在地域:建议选择使用上海地域体验,当前 GPU 资源较为充足。
集群网络:选择已有私有网络 VPC,或新建私有网络。
配置超级节点配置
可用区:建议选择上海五区 ,当前可用区资源较为充足。
计费模式:选择按量计费,按秒粒度计费,按小时生成账单。
容器网络:选择可用区内已有的子网,或新建子网。
其他参数:保持默认值即可。

新建 Stable Diffusion 应用,并配置访问入口

集群创建完成后,在 容器服务控制台 单击集群名称进入集群详情页,并选择左侧导航中的工作负载。可以使用 YAML 文件快速部署,也可以使用控制台手动部署,建议使用 YAML 文件方式。

使用 YAML 快速部署

1. 登录 容器服务控制台,在集群列表中,单击集群名称。
2. 进入集群详情页,选择左侧导航中的工作负载
3. 单击右上角 YAML 创建资源,复制以下内容并粘贴到 YAML 编辑器中:
		
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: stable-diffusion
qcloud-app: stable-diffusion
name: stable-diffusion
namespace: default
spec:
replicas: 1
selector:
matchLabels:
k8s-app: stable-diffusion
qcloud-app: stable-diffusion
template:
metadata:
annotations:
eks.tke.cloud.tencent.com/gpu-type: A10*GNV4v
eks.tke.cloud.tencent.com/root-cbs-size: "40"
labels:
k8s-app: stable-diffusion
qcloud-app: stable-diffusion
spec:
containers:
- args:
- --listen
image: ccr.ccs.tencentyun.com/ai-aigc/stable-diffusion:taco.gpu.v1
imagePullPolicy: IfNotPresent
name: stable-diffusion
resources:
limits:
cpu: "28"
memory: 116Gi
nvidia.com/gpu: "1"
requests:
cpu: "28"
memory: 116Gi
nvidia.com/gpu: "1"
securityContext:
privileged: false
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: qcloudregistrykey
restartPolicy: Always
terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
labels:
k8s-app: stable-diffusion
qcloud-app: stable-diffusion
name: stable-diffusion
namespace: default
spec:
externalTrafficPolicy: Cluster
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: 7860-7860-tcp
port: 7860
protocol: TCP
targetPort: 7860
selector:
k8s-app: stable-diffusion
qcloud-app: stable-diffusion
sessionAffinity: None
type: LoadBalancer
4. 单击完成,即可创建工作负载,并配置访问入口。

使用控制台手动部署

1. 登录 容器服务控制台,在集群列表中,单击集群名称。
2. 进入集群详情页,选择左侧导航中的工作负载 > Deployment,在 Deployment 页面单击新建。
3. 新建 Deployment 页面,请参考以下提示进行配置:
名称:例如 “stable-diffusion-webui”。
Labels:一个键 - 值对(Key-Value),用于对资源进行分类管理。
命名空间:选择默认命名空间 Default。
实例类型:选择 GPU,并选择具体显卡型号,建议选择 A10 显卡,如 A10*GNV4。
系统盘大小:配置40GiB,因包含模型文件及加速框架,镜像体积较大。
实例内容器:
名称:输入容器名称,如 “stable-diffusion-webui ”。
镜像:直接输入或选择 ccr.ccs.tencentyun.com/ai-aigc/stable-diffusion 镜像,镜像版本为 taco.gpu.v1
CPU/内存:可按照所选的 GPU 自带的 CPU、内存进行配置,如使用 A10*GNV4 显卡可配置最高 CPU 12 核,内存 44GiB = 45056 MiB。
GPU 限制:调整为1卡,即该容器会使用上面指定的 GPU 型号 * 1。
运行参数:新增运行参数,输入 --listen
配置访问入口
Service:勾选“启用”。
服务访问方式:选择公网 LB 访问
配置端口映射:容器端口设置为7860,服务端口设置为7860。
其他参数:保持默认值即可。
4. 确认 Pod 规格,单击创建 Deployment。如按照上述配置,则为:12核44GiB 1×A10*GNV4、实例数量 ~ 1个、配置费用10.14元/小时(具体费用与登录账号有关,此处为官网刊例价)。
5. 启动部署后,返回工作负载 > Deployment 页面,可查看到正在部署的工作负载。因镜像体积较大,预计需要一定时间才能完成部署。当“运行/期望 Pod 数量”变为“1/1”时,即说明完成部署。也可以进入工作负载内,通过事件查看部署日志。

访问 Stable Diffusion WebUI 体验极速出图

1. 在集群左侧导航中选择服务与路由 > Service,查看与工作负载名称一致的 Service,复制访问入口的公网 IP,如 175.xx.xxx.174。
2. 打开浏览器,输入http:\\175.xx.xxx.174:7860(替换为实际 IP),即可进入 Stable Diffusion WebUI。
3. 输入 Prompt,单击 Generate,即可体验一秒出图的功能。

随时调整服务状态,按需使用,按秒付费

相对于直接使用 GPU 服务器,超级节点底层基于 Serverless 容器技术,支持缩容至0,停止计费。您可以根据实际使用需求,随时调整服务状态,降低使用费用。具体操作步骤如下:
1. 在集群左侧导航中选择工作负载 > Deployment,在 stable-diffusion 工作负载对应操作中选择更新 Pod 数量
2. 更新 Pod 数量页面,
暂停服务:将 Pod 实例数量调整为0,对应 GPU 资源自动销毁,停止计费。
恢复服务:将 Pod 实例数量调整为1~N,无需重新配置,实例自动重新部署,开始计费。

相关文档

TKE Serverless - 新建集群
TKE Serverless - 工作负载管理
TACO Infer 部署 Stable Diffusion web UI
相似文档
  • 背景说明: ChatGLM-6B 是一款拥有 62 亿参数的中英双语语言模型,专注于提供强大的对话和问答能力。通过对1:1中英语料进行 1T token 的预训练,使得模型具备双语应用的能力。借助模型量化技术,ChatGLM-6B 可以高效地在消费级显卡上部署。其最大序列长度达到2048,以应对更复杂的对话和应用需求。总体而言,ChatGLM-6B 是一款功能强大、适用广泛的语言模型。
  • 节点异常关键字排障: 当使用 TKE 集群服务的节点检查能力时,可能会检查出节点异常,包含建议您进一步排查的关键字,本文档总结了节点检查中出现的关键字、异常现象及对应的检查方式(通过正则表达式匹配内核 / dev / dmesg 日志进行检查),您可以根据本文档登录节点进一步排查异常原因。
  • cbs 盘创建相关问题 1. no available storage in zone。 现象:kubectl describe pvc 发现类型为 ProvisioningFailed 的事件,内容包含 no available storage in zone。 原因:资源售罄或者该 zone 不支持这种类型的 cbs 盘。 解决措施:用户可切换到有资源的 region/zone,或联系 cbs 售后提供资源。
  • 本文档介绍 TKE 集群中多场景下可能发生的磁盘爆满问题,并给出对应的排查思路及解决方案,请按照下文中的步骤进行排查并解决。
  • 本文档介绍如何在 TKE 集群中,通过工具定位异常是否由高负载造成,请按照以下步骤进行问题排查。 现象描述: 节点高负载将会导致进程无法获得足够运行所需的 CPU 时间片,通常表现为网络 Timeout、健康检查失败或服务不可用。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部