博客 / 詳情

返回

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

背景

     Z-Image是阿里巴巴通義實驗室開發的一款開源圖像生成模型, 詳細介結可以看這兒《Z-Image圖像生成模型發佈與競品》。Z-Image系列高性能生成模型,其中包括用於快速推理的Z-Image-Turbo和專業的圖像編輯模型Z-Image-Edit。這些模型基於可擴展單流擴散轉換器 (S3-DiT) 架構構建,強調通過優化設計實現極高的訓練效率和低計算成本。其核心方法論依賴於先進的數據基礎設施,包括使用主動策展引擎 (Active Curation Engine) 來確保數據質量並解決長尾概念問題。訓練流程結合了高效的幾步蒸餾技術和多階段的人類反饋強化學習 (RLHF) 框架,以更好地符合人類偏好和指令。此外,報告重點展示了模型利用提示增強器 (PE) 模塊注入世界知識和邏輯推理能力的功能,從而提升了對複雜用户提示的理解。定量和定性評估結果表明,該模型在照片級真實感生成和準確的中英雙語文本渲染方面均取得了行業領先的性能。

已構建好的docker image

image

後端鏡像

docker pull registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-backend:v0

14.3GB

前端鏡像

registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-frontend:v1

構建過程

基礎鏡像準備

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

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

docker pull registry.cn-hangzhou.aliyuncs.com/megadotnet/nginx:alpine && docker tag registry.cn-hangzhou.aliyuncs.com/megadotnet/nginx:alpine nginx:alpine

後端構建

cd backend

docker build -t z-image-turbo-backend .

打tag

docker tag z-image-turbo-backend registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-backend:v0

docker push registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-backend:v0

注意事項

1. 筆者在沒有RTX 3060顯卡的服務器上構建時,默認版本torch==2.7.1是失敗的。構建沒有報錯退出(説明 21GB 內存暫時頂住了 OOM 崩潰),但是卡在 Building wheel for flash-attn 這一步已經接近 90 分鐘。使用了 MAX_JOBS=4。編譯 Flash Attention 時,每個 C++ 編譯進程在峯值時可能消耗 5GB-6GB 內存。4 個進程併發可能需要 20GB-24GB 的瞬時內存。後修改Dockerfile降低版本

# -----------------------------------------------------------------------------

# [修復步驟] 分步安裝以解決源找不到的問題

# -----------------------------------------------------------------------------

# 第一步:使用阿里雲鏡像安裝通用依賴 (ninja, packaging)

RUN pip install --no-cache-dir packaging ninja

# 第二步:使用 PyTorch 官方源安裝 Torch 全家桶 (指定 --index-url)

RUN 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

2.對於 PyTorch 這種動輒 2GB+ 的庫,必須加 --no-cache-dir

3. MAX_JOBS=1 可以根據當前服務器硬件配置調整

4.如果一個命令既需要官方源的包(Torch),又需要通用包(Ninja),請拆分成兩條 RUN 指令。

5.果必須編譯,先將併發降為 1。如果依然 OOM,説明需要增加物理內存或 Swap,或者尋找預編譯包(最佳方案)。


序號

障礙現象

根本原因

最終解決方案

1

構建無限等待

網絡牆:國內直連 Ubuntu/PyPI 官方源極慢。

換源:替換 Apt 和 Pip 為阿里雲鏡像。

2

No space left

磁盤耗盡:PyTorch 包巨大,pip 緩存+解壓佔滿根分區。

瘦身:增加 --no-cache-dir 禁用緩存。

3

AttributeError

環境兼容:Ubuntu 系統自帶舊版 setuptools 不支持新 PEP 標準。

升級:強制升級 pip setuptools wheel。

4

Killed (OOM)

內存溢出:torch 2.7.1 (預覽版) 無預編譯包,觸發源碼編譯,耗盡內存。

降級回退到 torch 2.5.1 (穩定版),直接使用官方 .whl 包。

5

Ninja not found

源衝突:指定 --index-url 為 PyTorch 後,pip 找不到通用庫。

分步:先用阿里源裝工具,再用官方源裝 Torch。

前端構建

cd frontend

docker build -t z-image-turbo-frontend .

docker tag z-image-turbo-frontend registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-frontend:v1

docker push registry.cn-hangzhou.aliyuncs.com/megadotnet/z-image-turbo-frontend:v1

運行

docker run --gpus all -p 8000:8000 z-image-turbo-backend

docker run -p 3000:3000 -d z-image-turbo-frontend

前端效果

clipboard

clipboard

最後鏡像列表

clipboard

DeepWiki優化後端Dockerfile版本

FROM nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive

ENV PYTHONUNBUFFERED=1

ENV FLASH_ATTENTION_FORCE_COMPILE=true

# 替換Apt源並安裝系統依賴

RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \

sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \

apt-get update && apt-get install -y \

software-properties-common \

git \

ninja-build \

curl \

ca-certificates \

python3.11 \

python3.11-dev \

python3.11-distutils \

python3-pip \

&& rm -rf /var/lib/apt/lists/* \

&& ln -sf /usr/bin/python3.11 /usr/bin/python \

&& ln -sf /usr/bin/python3.11 /usr/bin/python3

WORKDIR /app

# 配置Pip鏡像源

RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && \

pip config set global.trusted-host mirrors.aliyun.com

# 升級pip工具

RUN pip install --no-cache-dir --upgrade pip setuptools wheel

# 安裝核心依賴

RUN pip install --no-cache-dir packaging ninja && \

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 && \

pip install --no-cache-dir "flash-attn>=2.6.3" --no-build-isolation

# 安裝diffusers和項目依賴

RUN pip install --no-cache-dir git+https://github.com/huggingface/diffusers.git

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

# 複製應用代碼

COPY . .

EXPOSE 8000

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

  1. 鏡像源優化:您使用的阿里雲鏡像源在中國大陸地區確實能顯著提升下載速度
  2. Flash Attention:確保GPU兼容性,不兼容的GPU可能導致安裝失敗 README.md
  3. 構建緩存:--no-cache-dir選項能減少鏡像大小,但會失去pip緩存優勢
  4. requirements.txt:代碼庫中未提供此文件,請確保包含Z-Image所需的所有依賴。

總結

     Z-Image是阿里巴巴通義實驗室開發的開源圖像生成模型,本文檔詳細介紹了其Docker鏡像的構建過程、注意事項及解決方案。如果不想本地部署,在線測試可以用這兒。

https://huggingface.co/spaces/Tongyi-MAI/Z-Image-Turbo



今天先到這兒,希望對AI,雲原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 項目管理, 產品管理,信息安全,團隊建設 有參考作用 , 您可能感興趣的文章:
AI輔助需求規格描述評審
微服務架構設計
視頻直播平台的系統架構演化
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下消息隊列架構
互聯網高效研發團隊管理演進之一
消息系統架構設計演進
互聯網電商搜索架構演化之一
企業信息化與軟件工程的迷思
企業項目化管理介紹
軟件項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
項目管理溝通計劃
構建高效的研發與自動化運維
某大型電商雲平台實踐
互聯網數據庫架構設計思路
IT基礎架構規劃方案一(網絡系統規劃)
餐飲行業解決方案之客户分析流程
餐飲行業解決方案之採購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變

如有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注我的微信訂閲號:

_thumb_thumb_thumb_thumb_thumb_thumb

作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 該文章也同時發佈在我的獨立博客中-Petter Liu Blog。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.