枢覆引 发表于 昨天 18:50

阿里Z-Image图像生成模型容器部署

<h2>背景</h2><p><font size="2"><font size="3">     Z-Image是阿里巴巴通义实验室开发的一款<strong>开源图像生成模型, </strong>详细介结可以看这儿《Z-Image图像生成模型发布与竞品》。<font size="3">Z-Image系列高性能生成模型,其中包括用于快速推理的Z-Image-Turbo和专业的图像编辑模型Z-Image-Edit。这些模型基于可扩展单流扩散转换器 (S3-DiT) 架构构建,强调通过优化设计实现极高的训练效率和低计算成本。其核心方法论依赖于先进的数据基础设施,包括使用主动策展引擎 (Active Curation Engine) 来确保数据质量并解决长尾概念问题。训练流程结合了高效的几步蒸馏技术和多阶段的人类反馈强化学习 (RLHF) 框架,以更好地符合人类偏好和指令。此外,报告重点展示了模型利用提示增强器 (PE) 模块注入世界知识和逻辑推理能力的功能,从而提升了对复杂用户提示的理解。定量和定性评估结果表明,该模型在照片级真实感生成和准确的中英双语文本渲染方面均取得了行业领先的性能。</font></font></font></p><h2>已构建好的docker image</h2><p></p><p><strong>后端镜像</strong></p><p><font >docker pull registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-backend:v0</font> </p><p>14.3GB</p><p><strong>前端镜像</strong></p><p><font >registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-frontend:v1</font></p><h2>构建过程 </h2><h2>基础镜像准备</h2><p><font >docker pull registry.cn-hangzhou.aliyuncs.com/megadotnet/nvidia.cuda:12.4.1-devel-ubuntu22.04 && docker tag registry.cn-hangzhou.aliyuncs.com/megadotnet/nvidia.cuda:12.4.1-devel-ubuntu22.04 nvidia/cuda:12.4.1-devel-ubuntu22.04</font></p><p><font >docker pull registry.cn-hangzhou.aliyuncs.com/megadotnet/node:18-alpine && docker tag registry.cn-hangzhou.aliyuncs.com/megadotnet/node:18-alpine node:18-alpine</font></p><p><font >docker pull registry.cn-hangzhou.aliyuncs.com/megadotnet/nginx:alpine && docker tag registry.cn-hangzhou.aliyuncs.com/megadotnet/nginx:alpine nginx:alpine</font></p><h2>后端构建</h2><p><font >cd backend</font></p><p><font >docker build -t z-image-turbo-backend .</font></p><p>打tag</p><p><font >docker tag z-image-turbo-backend registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-backend:v0</font></p><p><font >docker push registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-backend:v0</font></p><h2>注意事项</h2><p><font size="3">1. 笔者在没有RTX 3060显卡的服务器上构建时,默认版本torch==2.7.1是失败的。构建没有报错退出(说明 21GB 内存暂时顶住了 OOM 崩溃),但是卡在 Building wheel for flash-attn 这一步已经接近 90 分钟。使用了 <font >MAX_JOBS=4</font>。编译 Flash Attention 时,每个 C++ 编译进程在峰值时可能消耗 5GB-6GB 内存。4 个进程并发可能需要 20GB-24GB 的瞬时内存。后修改Dockerfile降低版本</font></p><p><font size="2" ># -----------------------------------------------------------------------------</font></p><p><font size="2" ># [修复步骤] 分步安装以解决源找不到的问题</font></p><p><font size="2" ># -----------------------------------------------------------------------------</font></p><p><font size="2" ># 第一步:使用阿里云镜像安装通用依赖 (ninja, packaging)</font></p><p><font size="2" >RUN pip install --no-cache-dir packaging ninja</font></p><p><font size="2" ># 第二步:使用 PyTorch 官方源安装 Torch 全家桶 (指定 --index-url)</font></p><p><font size="2" >RUN pip install --no-cache-dir "torch==2.5.1" "torchvision==0.20.1" "torchaudio==2.5.1" --index-url </font><font size="2" >https://download.pytorch.org/whl/cu124</font></p><p><font size="3">2.对于 PyTorch 这种动辄 2GB+ 的库,必须加 --no-cache-dir</font></p><p><font size="3">3. MAX_JOBS=1 可以根据当前服务器硬件配置调整</font></p><p><font size="3">4.如果一个命令既需要官方源的包(Torch),又需要通用包(Ninja),请拆分成两条 RUN 指令。</font></p><p><font size="3">5.果必须编译,先将并发降为 1。如果依然 OOM,说明需要增加物理内存或 Swap,或者寻找预编译包(最佳方案)。</font></p><p><b><br></b></p><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top"><p><b>序号</b></p></td><td valign="top"><p><b>障碍现象</b></p></td><td valign="top"><p><b>根本原因</b></p></td><td valign="top"><p><b>最终解决方案</b></p></td></tr><tr><td valign="top"><p><b>1</b></p></td><td valign="top"><p><b>构建无限等待</b></p></td><td valign="top"><p><b>网络墙</b>:国内直连 Ubuntu/PyPI 官方源极慢。</p></td><td valign="top"><p><b>换源</b>:替换 Apt 和 Pip 为阿里云镜像。</p></td></tr><tr><td valign="top"><p><b>2</b></p></td><td valign="top"><p><b>No space left</b></p></td><td valign="top"><p><b>磁盘耗尽</b>:PyTorch 包巨大,pip 缓存+解压占满根分区。</p></td><td valign="top"><p><b>瘦身</b>:增加 --no-cache-dir 禁用缓存。</p></td></tr><tr><td valign="top"><p><b>3</b></p></td><td valign="top"><p><b>AttributeError</b></p></td><td valign="top"><p><b>环境兼容</b>:Ubuntu 系统自带旧版 setuptools 不支持新 PEP 标准。</p></td><td valign="top"><p><b>升级</b>:强制升级 pip setuptools wheel。</p></td></tr><tr><td valign="top"><p><b>4</b></p></td><td valign="top"><p><b>Killed (OOM)</b></p></td><td valign="top"><p><b>内存溢出</b>:torch 2.7.1 (预览版) 无预编译包,触发源码编译,耗尽内存。</p></td><td valign="top"><p><b>降级</b>:<b>回退到 torch 2.5.1 (稳定版)</b>,直接使用官方 .whl 包。</p></td></tr><tr><td valign="top"><p><b>5</b></p></td><td valign="top"><p><b>Ninja not found</b></p></td><td valign="top"><p><b>源冲突</b>:指定 --index-url 为 PyTorch 后,pip 找不到通用库。</p></td><td valign="top"><p><b>分步</b>:先用阿里源装工具,再用官方源装 Torch。</p></td></tr></tbody></table><h2>前端构建</h2><p><font >cd frontend</font></p><p><font >docker build -t z-image-turbo-frontend . </font></p><p><font >docker tag z-image-turbo-frontend registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-frontend:v1</font></p><p><font >docker push registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-frontend:v1</font></p><p>运行</p><p><font >docker run --gpus all -p 8000:8000 z-image-turbo-backend</font></p><p><font >docker run -p 3000:3000 -d z-image-turbo-frontend</font></p><p>前端效果</p><p></p><p></p><h2>最后镜像列表</h2><p></p><h2>DeepWiki优化后端Dockerfile版本</h2><p><font >FROM nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04</font></p><p><font >ENV DEBIAN_FRONTEND=noninteractive </font></p><p><font >ENV PYTHONUNBUFFERED=1</font></p><p><font >ENV FLASH_ATTENTION_FORCE_COMPILE=true </font></p><p><font ># 替换Apt源并安装系统依赖 </font></p><p><font >RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \ </font></p><p><font >sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \ </font></p><p><font >apt-get update && apt-get install -y \ </font></p><p><font >software-properties-common \ </font></p><p><font >git \ </font></p><p><font >ninja-build \ </font></p><p><font >curl \ </font></p><p><font >ca-certificates \ </font></p><p><font >python3.11 \ </font></p><p><font >python3.11-dev \ </font></p><p><font >python3.11-distutils \ </font></p><p><font >python3-pip \ </font></p><p><font >&& rm -rf /var/lib/apt/lists/* \ </font></p><p><font >&& ln -sf /usr/bin/python3.11 /usr/bin/python \ </font></p><p><font >&& ln -sf /usr/bin/python3.11 /usr/bin/python3 </font></p><p><font >WORKDIR /app </font></p><p><font ># 配置Pip镜像源 </font></p><p><font >RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && \ </font></p><p><font >pip config set global.trusted-host mirrors.aliyun.com </font></p><p><font ># 升级pip工具 </font></p><p><font >RUN pip install --no-cache-dir --upgrade pip setuptools wheel </font></p><p><font ># 安装核心依赖 </font></p><p><font >RUN pip install --no-cache-dir packaging ninja && \ </font></p><p><font >pip install --no-cache-dir "torch==2.5.1" "torchvision==0.20.1" "torchaudio==2.5.1" --index-url https://download.pytorch.org/whl/cu124 && \ </font></p><p><font >pip install --no-cache-dir "flash-attn>=2.6.3" --no-build-isolation </font></p><p><font ># 安装diffusers和项目依赖 </font></p><p><font >RUN pip install --no-cache-dir git+https://github.com/huggingface/diffusers.git </font></p><p><font >COPY requirements.txt . </font></p><p><font >RUN pip install --no-cache-dir -r requirements.txt </font></p><p><font ># 复制应用代码 </font></p><p><font >COPY . . </font></p><p><font >EXPOSE 8000</font></p><p><font >CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]</font></p><ol><li><font size="3">镜像源优化:您使用的阿里云镜像源在中国大陆地区确实能显著提升下载速度</font></li><li><font size="3">Flash Attention:确保GPU兼容性,不兼容的GPU可能导致安装失败 README.md</font></li><li><font size="3">构建缓存:--no-cache-dir选项能减少镜像大小,但会失去pip缓存优势</font></li><li><font size="3">requirements.txt:代码库中未提供此文件,请确保包含Z-Image所需的所有依赖。</font></li></ol><h2>总结</h2><p><font size="3">     Z-Image是阿里巴巴通义实验室开发的开源图像生成模型,本文档详细介绍了其Docker镜像的构建过程、注意事项及解决方案。如果不想本地部署,在线测试可以用这儿。</font></p><p>https://huggingface.co/spaces/Tongyi-MAI/Z-Image-Turbo</p><p></p><br>今天先到这儿,希望对AI,云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,信息安全,团队建设 有参考作用 , 您可能感兴趣的文章:<br>AI辅助需求规格描述评审<br><font size="2">微服务架构设计</font><br><font size="2">视频直播平台的系统架构演化</font><br><font size="2">微服务与Docker介绍</font><br><font size="2">Docker与CI持续集成/CD</font><br><font size="2">互联网电商购物车架构演变案例</font><br><font size="2">互联网业务场景下消息队列架构</font><br><font size="2">互联网高效研发团队管理演进之一</font><br><font size="2">消息系统架构设计演进</font><br><font size="2">互联网电商搜索架构演化之一</font><br><font size="2">企业信息化与软件工程的迷思</font><br><font size="2">企业项目化管理介绍</font><br><font size="2">软件项目成功之要素</font><br><font size="2">人际沟通风格介绍一</font><br><font size="2">精益IT组织与分享式领导</font><br><font size="2">学习型组织与企业</font><br><font size="2">企业创新文化与等级观念</font><br><font size="2">组织目标与个人目标</font><br><font size="2">初创公司人才招聘与管理</font><br><font size="2">人才公司环境与企业文化</font><br><font size="2">企业文化、团队文化与知识共享</font><br><font size="2">高效能的团队建设</font><br><font size="2">项目管理沟通计划</font><br><font size="2">构建高效的研发与自动化运维</font><font size="2"> <br></font><font size="2">某大型电商云平台实践</font><font size="2"> <br></font><font size="2">互联网数据库架构设计思路</font><font size="2"> <br></font><font size="2">IT基础架构规划方案一(网络系统规划)</font><font size="2"> <br></font><font size="2">餐饮行业解决方案之客户分析流程</font><font size="2"> <br></font><font size="2">餐饮行业解决方案之采购战略制定与实施流程</font><font size="2"> <br></font><font size="2">餐饮行业解决方案之业务设计流程</font><font size="2"> <br></font><font size="2">供应链需求调研CheckList</font><font size="2"> <br></font><font size="2">企业应用之性能实时度量系统演变</font><font size="2"> </font><font size="2">
</font><p><font size="2">如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:</font></p>
<p></p>
<p id="PSignature" ><font size="4">作者:Petter Liu <br>出处:http://www.cnblogs.com/wintersun/ <br>本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。</font></p><br>来源:程序园用户自行投稿发布,如果侵权,请联系站长删除<br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 阿里Z-Image图像生成模型容器部署