最新文生图神器 FLUX.1,火山引擎云上部署实战!
2024-8-19 15:1:55 Author: mp.weixin.qq.com(查看原文) 阅读量:7 收藏

自 2023 年推出至今,Stable Diffusion 已吸引了大量用户前往 Stability AI 等网站进行体验,在 AI 绘画的场景下,Stable Diffusion 已经成为当前最火的解决方案。

就在 8 月,Stable Diffusion 初创团队又推出了新的 AI 绘画模型 FLUX.1,该模型拥有 12B 的参数(远远超过了最新版本的 Stable Diffusion 的参数规模),并且使用了更新的生图技术方案,一经推出就受到了业界极大的关注。以下是一些由 FLUX.1 生成的图片样张——

当前 FLUX.1 提供了 3 个版本,分别是:

  • FLUX.1 [pro]商业化版本,具有最好的生图能力,当前仅支持 API 调用;

  • FLUX.1 [dev]非商业化的开发版本,具有和 pro 相近的生图能力,支持独立部署;

  • FLUX.1 [schnell]开源的极速版本,相对较小,面向个人开发者使用,支持独立部署。

到这里相信大家已经跃跃欲试,想赶紧体验一下 FLUX.1 模型的强大能力。本文将介绍一种基于容器服务,通过火山引擎持续交付 CP(Code Pipeline)应用交付能力实现快速拉起 FLUX.1 服务的方案,通过这种方案,你可以规避外网访问慢、数据隐私等问题,部署一个属于自己的 FLUX.1。
基于 AI 应用模板,快速拉起 FLUX.1

在本方案中,我们将主要用到火山引擎持续交付 CP 的 AI 应用功能,它提供预置模板,集成了主流的 AI 框架,封装了操作系统、AI 框架、依赖库等应用环境,可以帮助用户快速部署 AI 应用,降低开发难度。

我们将使用 AI 应用模板——SDComfyUI 实现 FLUX.1 模型服务的拉起,整个服务拉起过程包括以下几个步骤:

  • 相关模型下载从官方下载 FLUX.1 模型,并上传到火山引擎对象存储 TOS 中;

  • 部署环境准备使用火山引擎容器服务 VKE 创建 Kubernetes 集群作为模型服务的部署环境,并且将集群导入到持续交付 Kubernetes 集群配置中,作为后续模型服务的部署环境;

  • 创建 AI 模型应用,拉起服务使用持续交付 CP 的 AI 应用模板 SDComfyUI 实现 FLUX.1 模型服务的拉起,并且配置公网 IP,支持服务通过公网访问;

  • 完成 ComfyUI 配置,体验 FLUX.1 文生图能力完成 ComfyUI 关于 FLUX.1 文生图编排配置,实现基于 FLUX.1 文生图功能。
步骤一:相关模型下载

◇ 依赖资源下载

这里我们以 FLUX.1[schnell] 版本为例,需要下载的相关模型资源有 2 个:

  • FLUX.1[schnell] 模型下载:https://huggingface.co/black-forest-labs/FLUX.1-schnell

  • 文生图依赖 CLIP 下载:https://huggingface.co/comfyanonymous/flux_text_encoders

◇ 上传资源到 TOS

我们需要将上述资源上传到火山引擎对象存储 TOS 中,这里推荐使用 TOS Browser 工具完成资源的上传,具体可参考官方文档:https://www.volcengine.com/docs/6349/148776

  • FLUX.1[schnell] 模型上传到 TOS 路径:tos://mybucket/flux-demo/flux-schnell;

  • 文生图依赖 CLIP 上传到 TOS 路径:tos://mybucket/flux-demo/clip。

步骤二:部署环境准备

1. 准备一个火山引擎容器服务 VKE 集群,并已安装 csi-tos 和 nvidia-device-plugin 组件:https://www.volcengine.com/docs/6460/101014

2. 将 VKE 集群导入到持续交付 CP 的 Kubernetes 集群中:登录 CP 控制台 https://console.volcengine.com/cp/v2/overview,在左侧菜单栏选择【资源管理】-【Kubernetes 集群】页面,点击【创建部署资源】,导入准备好的 VKE 集群。

步骤三:创建 AI 模型应用,拉起服务

1. 创建工作区:打开 CP 控制台 https://console.volcengine.com/cp/v2/overview,在左侧菜单栏选择 【工作区】,点击“创建工作区”,参考下图配置,完成工作区创建:

2. 基于 AI 应用模板 SDComfyUI 完成 ComfyUI 服务拉起:进入到刚刚创建的工作区 “flux-demo”,左侧菜单栏选择【应用管理】,点击“立即创建应用”。

3. 选择 【AI 应用】-【Stable Diffusion ComfyUI】,点击下一步:

4. 完成应用基础信息配置填写:

5. 完成部署集群信息的填写,选中刚刚导入的 VKE 集群:

6. 完成模型、资源挂载配置:FLUX 模型挂载配置如下图所示。

VAE 模型挂载配置:

CLIP 模型挂载配置:

完成服务规格配置,如果是企业用户,这里推荐使用弹性容器实例 VCI 的方式部署,它允许用户为模型实际运行所需要的资源付费,可以有效减少资源浪费,控制云成本。资源配置类型选择【GPU 计算型】-【vci.gni3.12c-64gi】(NVIDIA GPU 显卡,适用于大规模部署的生成式 AI 推理等场景):

完成访问配置,选择负载均衡(公网),选择一个 CLB 实例配置。如果没有,可以通过“新建负载均衡”按钮进行快速创建:

完成以上配置之后,点击“确定”,触发应用的创建和部署。

7. 等待服务拉起,并且通过公网 IP 访问 ComfyUI 服务。

由于应用本身的镜像很大,第一次部署等待的时间可能会比较长,估计在 15min 左右;服务拉起后,可以在应用【基本信息】页面看到应用实例状态,等到应用实例“运行状态”到了“Running”,则表明应用启动成功:

可以通过【访问设置】-【负载均衡(公网)】查看服务公网访问 IP,具体位置如下图所示:

直接在浏览器中输入公网 IP,即可访问 ComfyUI 服务:

步骤四:完成 ComfyUI 配置,体验能力

ComfyUI 默认的编排针对 Stable Diffusion 文生图过程,和 FLUX.1 的编排有较大差别。FLUX.1 文生图的编排可以参考以下配置:https://bytedance.larkoffice.com/docx/Uam7dDMLioZ7A1x3L5yc0NAYnlc

可以将该编排配置文件下载到本地,然后通过 ComfyUI 页面完成编排文件的导入;导入后,完整的编排信息如下图所示:

以上我们就完成了 FLUX.1 文生图的编排配置,我们可以输入一些提示词,体验模型的文生图效果——

  • 提示词:A cat wearing sunglasses, a busy road, a colorful sky, and the sunset

  • 提示词:Little Red Riding Hood is walking alone in the dark forest with an oil lamp in her hand, dark sky and smoky background

  • 提示词:Detailed cinematic dof render of an old dusty detailed CRT monitor on a wooden desk in a dim room with items around, messy dirty room. On the screen are the letters “FLUX” glowing softly. High detail hard surface render

小结

以上就是基于火山引擎容器服务 VKE 和持续交付 CP 快速拉起 FLUX.1 模型的全过程,欢迎感兴趣的用户开通产品服务进行体验。

相关链接
[1] 火山引擎: www.volcengine.com
[2] AI 应用功能上线:一站式拉起 Stable-Diffusion-WebUI 服务
[3] 如何在火山引擎云上部署 Langchain-ChatGLM
[4] 如何基于火山引擎弹性容器快速部署 MagicAnimate 应用
[5] 如何在火山引擎云上部署 Stable Diffusion
火山引擎云原生团队

火山引擎云原生团队主要负责火山引擎公有云及私有化场景中 PaaS 和中间件类产品体系的构建,结合字节跳动多年的云原生技术栈经验和最佳实践沉淀,帮助企业加速数字化转型和创新。产品包括容器服务、镜像仓库、分布式云原生平台、函数服务、服务网格、持续交付、可观测服务等。


文章来源: https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247508937&idx=2&sn=14ac5625b4e2e4972a7c84f2a229c938&chksm=e9d3682bdea4e13d59e08429fbacc6abdb7611ec322160adb533ece55ed55b2d5efe51666a87&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh