1. 为什么要在云端运行Stable Diffusion整合包最近两年AI绘画工具爆发式增长其中Stable Diffusion凭借开源免费、效果出众等优势成为最受欢迎的选项之一。B站知名UP主秋葉aaaki制作的整合包更是让普通用户也能轻松上手解压即用。但现实情况是要流畅运行SD需要强大的显卡支持这对很多用户来说是个门槛。我自己的旧笔记本显卡是GTX 1060跑一张512x512的图要将近2分钟更别提训练模型了。升级硬件成本太高于是我把目光投向了云GPU。趋动云这类平台提供按小时计费的强大显卡比如RTX 3090、A100等价格比自购显卡划算太多。但问题来了秋葉的整合包是为Windows设计的而云平台基本都是Linux环境。经过一周的折腾我终于找到了完美解决方案现在生成一张图只要10秒左右效果堪比本地4090显卡。下面就把这套方法完整分享给大家。2. 准备工作与环境分析2.1 精简整合包体积秋葉的整合包V4版解压后接近20GB直接上传到云端既费时又占空间。仔细分析后发现其中py310和git两个文件夹是专门为Windows准备的Python环境和Git工具在Linux环境下完全用不上。我测试删除这两个文件夹后压缩包从9.44G降到6.58G上传时间缩短了三分之一。具体操作很简单# 在Windows下操作 rm -rf py310 git # 然后重新压缩 zip -r sd-webui-aki-v4-linux.zip .2.2 理解云平台环境特点趋动云使用的是Docker容器技术有几个关键路径需要特别注意/gemini/code可读写区域但IO速度较慢/gemini/data-1只读区域读取速度较快/root容器系统目录重启后修改会丢失我们的目标是把所有需要持久化的内容如模型、扩展插件都放在/gemini/code下利用软链接映射到SD的标准目录。这样即使容器重启之前的配置也不会丢失。3. 基础镜像改造3.1 选择合适的基础镜像趋动云官方提供了PyTorch 2.0的镜像这为我们省去了配置CUDA和显卡驱动的麻烦。但默认Python版本是3.8而SD需要3.10的环境。解决方案是使用Miniconda创建独立的Python 3.10环境。这里有个大坑直接安装Miniconda会破坏镜像的启动机制。原因是Miniconda会修改/root/.bashrc文件导致容器无法正常启动。3.2 安全的Miniconda安装方法经过多次尝试我发现可以这样规避问题# 安装Miniconda wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p /usr/miniconda3 # 关键步骤备份并清理.bashrc tail -n 20 /root/.bashrc /gemini/code/condainit sed -i $ d /root/.bashrc # 删除最后20行以后每次进入容器先执行source /gemini/code/condainit激活conda环境这样既不影响容器启动又能使用conda。4. 部署Stable Diffusion4.1 文件结构规划建议按以下结构组织文件/gemini/code/ ├── sd-webui-aki-v4/ # 主程序 ├── env/ # Python环境 │ ├── sd-webui/ # conda虚拟环境 │ ├── .cache/ # 缓存目录 │ ├── .local/ # pip安装目录 │ └── .config/ # 配置文件 └── start.sh # 启动脚本4.2 环境配置技巧创建conda环境时指定绝对路径conda create -p /gemini/code/env/sd-webui python3.10.11 pytorch2.0配置国内镜像加速下载# 在/gemini/code/env/下创建.pip/pip.conf [global] index-url https://mirrors.aliyun.com/pypi/simple/ trusted-host mirrors.aliyun.com4.3 智能路径映射通过软链接将系统目录重定向到持久化区域ln -s /gemini/code/env/.cache /root/.cache ln -s /gemini/code/env/.local /root/.local ln -s /gemini/code/env/.config /root/.config这样所有安装的插件、下载的模型都会自动保存在/gemini/code下。5. 优化与使用技巧5.1 启动参数调优我的start.sh中使用了这些参数export COMMANDLINE_ARGS--deepdanbooru --share --port 19527 --theme dark --listen --enable-insecure-extension-access特别说明去掉xformers参数云GPU显存充足不需要节省使用--listen方便通过公网访问固定端口19527避免每次启动变化5.2 模型管理方案建议将大模型存放在/gemini/data-1下然后创建软链接ln -s /gemini/data-1/models/realisticVisionV50.safetensors /gemini/code/sd-webui-aki-v4/models/Stable-diffusion/这样既享受data区的高速读取又能被SD正常识别。5.3 性能对比测试在趋动云Large机型24G显存上的实测数据512x512分辨率约0.8秒/步1024x1024分辨率约1.5秒/步20步出图总时间16-30秒相比我本地的GTX 1060速度提升了15倍以上而且支持更高分辨率。6. 常见问题解决6.1 容器启动失败如果遇到容器无法启动八成是conda环境配置出了问题。解决办法使用原始镜像新建环境重新执行conda安装步骤特别注意不要修改/root/.bashrc6.2 扩展安装失败有些扩展需要编译原生组件可能会报错。解决方法# 安装编译工具 apt update apt install -y build-essential # 在conda环境中安装 conda activate /gemini/code/env/sd-webui pip install --upgrade pip setuptools wheel6.3 下载速度慢对于需要从Hugging Face下载的模型建议先在本地下载好上传到云平台数据集通过软链接引入7. 成本控制建议根据我的使用经验一些省钱的技巧选择按需计费模式用多少算多少完成作图后及时停止环境大模型上传到数据集长期保存使用自动保存脚本定期备份/gemini/code以RTX 3090为例每小时费用约2-3元生成100张图的总成本不到1元性价比非常高。