星空网站建设

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2|回复: 0

聊一聊:化 AI 图像生成:在容器化环境中使用 ControlNet 简化稳定扩散

[复制链接]
  • TA的每日心情
    慵懒
    2024-12-19 22:24
  • 签到天数: 1 天

    [LV.1]初来乍到

    1万

    主题

    1

    回帖

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    58228
    发表于 前天 15:22 | 显示全部楼层 |阅读模式
    在任何容器化环境中使用ControlNet现稳定扩散都会面临诸多挑战,主要是因为需要在图像中加入大量额外的模型权重。在本篇博文中,我们将讨论这些挑战以及如何缓解这些挑战。即使前行有阻碍,英伟达服务器租赁也要不屈不挠,奋勇向前,在市场的大海里劈波斩浪,直挂云帆,竭力争先。深圳市捷智算科技有限公司一家AI算力租赁平台,提供多样化的GPU服务器出租服务,包括NVIDIA A100、A800、H100和H800全系列高性能显卡。适合AI大模型训练GPU集群和大模型训练算力租赁,我们的解决方案支持企业快速扩展数据处理能力,优化成本效益。https://www.gogpu.cn/news/detail/233.html


    用于稳定扩散的ControlNet是什么
    ControlNet是一种络结构,它使用户能够通过设置额外条件来管道理扩散模型。它使用户能够使用单一参考图像对使用稳定扩散生成的图像进行极大的控制,而不会明显增加VRAM要求。ControlNet彻底改变了AI图像生成,展示了稳定扩散等开放模型相对于Midjourney等专有竞争对手的关键势。
    用于稳定扩散的ControlNet:参考图像(左)、Depth-Midas(中)、输出图像(右)
    请注意,参考图和比较终图像之间的图像构图保持不变。这是通过使用深度图作为控制图像来现的。此图像使用了Dreamshaper模型、?MiDas深度估计和深度控制。
    施ControlNet现稳定扩散的挑战
    然而,这一显著特点也带来了挑战。(截至撰写本文时)有14个不同的控制与稳定扩散兼容,每个控制都提供对输出的独特控制,因此需要不同的“控制图像”。
    所有这些模型都可以在Huggingface上免费访问,位于不同的存储库中,每个模型大约有43GB,总共需要额外的608GB存储空间。与比较小的稳定扩散图像相比,这几乎增加了十倍。
    此外,每个ControlNet模型都带有一个或多个图像预处理器,用于解密“控制图像”。例如,从图像生成深度图是ControlNet的先决条件。这些额外的模型权重进一步增加了总VRAM需求,超过了RTX306012GB等常用显卡的容量。
    在容器化环境中现ControlNet的基本方法
    在分布式云上的容器化环境中化ControlNet施
    如果不考虑化,构建用于连续ControlNet稳定扩散推理的容器映像可能会迅速膨胀。这会导致在将映像下载到运行它的服务器上时冷启动时间过长。这个问题在数据中心很突出,在Salad等分布式云中更为明显,因为它依赖于速度和可靠性各异的住宅互联连接。
    双管道齐下的策略可以有效解决这个问题。首先,将ControlNet注释隔离为单独的服务,或者利用提供的预构建服务。这种分工不仅可以减少稳定扩散服务中的VRAM要求和模型存储,还可以提高从单个输入图像和提示创建大量输出图像时的效率。
    其次,不要为每个模型克隆整个存储库,而是在不使用gitlfs的情况下对模型存储库进行浅层克隆。然后,使用wget有选择地仅下载必要的权重,如稳定扩散服务的Dockerfile所示。仅此策略就可以节省超过40GB的存储空间。
    稳定的扩散分割服务控制
    比较终结果是什么两种服务均具有可管道理的容器映像大小。ControlNet预处理器服务包括所有注释器模型,大小高达75GB,可在RTX306012GB上缝运行。
    即使包含所有ControlNet,稳定扩散服务也高达211GB,并且可在RTX306012GB上顺利运行。通过定制要支持的ControlNet,可以进一步减少空间。例如,其生产映像中排除了MLSD、Shuffle和SegmentationControlNet,从而节省了大约4GB的存储空间。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表