在Amazon SageMaker AI處理作業上運行ComfyUI工作流
本文介紹瞭如何在Amazon SageMaker AI處理作業上部署ComfyUI工作流,以批量生成高質量圖像。涵蓋使用AWS CDK設置基礎設施、配置GPU加速處理以及自動化大規模圖像生成的步驟。該解決方案可適應自定義工作流,幫助擴展創意管線。
使用ComfyUI工作流和Amazon SageMaker AI處理作業,企業可以自動化大規模內容生成。在多媒體資產創建中,任何延遲或失誤都可能導致銷售損失、品牌相關性下降或錯過營銷截止日期。當產品發佈期限臨近或季節性促銷需要緊急素材時,等待設計師迭代單個社交媒體帖子或15秒視頻廣告可能造成數千美元的轉化損失。
通過AI,您可以自動化創收圖像、音頻和視頻的大規模生產。想象一下,在一小時內為全球活動生成數百個符合品牌形象的社交媒體視覺內容,為多語言廣告審核合成超個性化配音,或使用AI腳本和視覺效果製作視頻片段,同時嚴格遵循品牌指南。另一個好處是讓創意團隊專注於高影響力策略,而AI處理重複性耗時任務。對企業而言,內容製作節省的時間意味着可以用於啓動更多活動、瞄準更多小眾受眾或重新吸引流失客户。
本文將指導您如何在Amazon SageMaker AI處理作業上部署ComfyUI工作流,以批量生成高質量圖像。您將學習如何使用AWS Cloud Development Kit(AWS CDK)設置基礎設施、配置GPU加速處理以及自動化大規模圖像生成。然後可以根據需要調整此解決方案以適應您的ComfyUI工作流。我們將逐步引導您完成自動化ComfyUI工作流的實際過程,使您能夠擴展創意管線。
為什麼這很重要
在SageMaker AI處理作業上運行ComfyUI為內容管線帶來若干關鍵優勢:
- 加速活動:根據規模在幾分鐘到幾小時內生成內容,捕捉瞬息萬變的趨勢和截止日期。
- 通過個性化提高轉化率:為不同受眾羣體提供量身定製的視覺、配音和視頻,從而驅動更高的點擊率和購買率。
- 保護品牌資產:跨媒體類型強制執行一致的風格、語氣和合規性。
- 安全原型設計,自信擴展:在向全球受眾推廣之前,在受控環境中測試AI生成的內容。
ComfyUI簡介
ComfyUI是一款基於節點的可視化工作流構建器,用於生成式AI,使您無需編寫每一步代碼即可輕鬆組合、測試和迭代複雜的圖像、音頻或視頻管線。您將模塊化組件連接成可重現的圖結構,該圖可跨團隊進行版本控制和共享。
在SageMaker AI處理作業上部署ComfyUI為圖像生成工作流帶來了多個好處。GPU加速實例提供快速推理時間,按秒計費並自動終止作業確保僅支付使用的計算資源。基於隊列的架構自然擴展工作負載,無需人工干預即可並行處理多個請求。最後,您可以將自己的ComfyUI工作流導出為JSON並部署。
使用Z-Image Turbo進行圖像生成
Z-Image Turbo引入了可擴展的單流Transformer架構(S3DiT)用於文本到圖像擴散。Z-Image將文本和圖像模態標記連接成一個統一序列(早期融合),允許在每個層進行密集的跨模態交互。這種早期融合設計意味着模型在Transformer中統一處理文本標記、圖像潛在標記甚至圖像語義標記,從而最大化跨模態的參數共享。
Z-Image Turbo使用僅解碼器Transformer骨幹,受大語言模型(LLM)解碼器啓發,具有30層、隱藏大小3840、32個注意力頭、10240前饋網絡中間維度以及總計6B參數。該骨幹交替進行單流多頭注意力塊和單流前饋塊,每個塊使用歸一化和門控技術進行穩定性定製。
對於此解決方案,我們使用存儲在處理作業容器中的ComfyUI工作流用於Z-Image Turbo。此工作流可以替換為您的ComfyUI工作流。更改工作流時,請確保已下載工作流中使用的模型、容器中安裝了自定義節點,並且您的實例類型具有足夠的VRAM。
其他用例
儘管此示例重點介紹圖像生成,但如前所述,ComfyUI的工作流引擎可以擴展AI驅動的創意任務,無論是音頻合成、3D資產渲染還是動態視頻動畫,使企業能夠大規模自動化多樣化內容管線。通過使用AWS基礎設施,企業可以將這些工作流部署到數千個輸出,將每個創意想法轉化為創收資產。以下是將ComfyUI作為批處理作業進行大規模生成的其他應用示例:
- 可擴展的廣告創意A/B測試:自動為全球活動生成數百個廣告變體、社交媒體輪播、視頻片段或社交媒體就緒剪輯,包括超具體的設計或風格迭代(極簡或大膽),以測試哪種創意最能引起每個受眾羣體的共鳴。
- 面向全球發佈的動態包裝和標籤設計:為國際產品發佈生成本地化設計,調整顏色、圖像和文本以符合區域美學、法規或假期(例如農曆新年主題標籤),並在物理生產前大規模測試多種設計。
- 面向遊戲和娛樂的交互式視頻故事:為遊戲、流媒體服務或交互式廣告構建分支視頻敍事,AI根據用户選擇生成動態過場動畫,例如英雄外觀或對話選項,將被動觀看轉變為引人入勝的個性化體驗。
解決方案架構
在瞭解了業務價值和用例之後,讓我們探索如何實現此解決方案。該架構使用三個AWS CDK堆棧:包含Amazon S3輸出桶的DataStack、包含Amazon VPC的SecurityStack以及包含AWS Lambda觸發函數的ComfyUISmStack。它還使用了在GPU實例上運行的SageMaker AI處理作業、用於容器鏡像的Amazon ECR以及用於日誌記錄的Amazon CloudWatch。處理作業在VPC的私有子網內運行。要查看完整代碼實現,請參閲GitHub倉庫。
DataStack
DataStack使用帶服務器端加密的Amazon S3桶實現存儲層,用於輸出數據。輸出桶存儲來自ComfyUI工作流的生成圖像。
SecurityStack
SecurityStack為整個解決方案建立基礎安全基礎設施。它創建一個Amazon VPC,跨兩個可用區設置公有和私有子網,以實現高可用性和網絡隔離。VPC包括一個NAT網關,用於從SageMaker AI處理作業運行的私有子網安全出站互聯網訪問。
客户管理的AWS KMS密鑰為數據提供靜態加密,包括Amazon S3桶、Amazon CloudWatch日誌和環境變量。該密鑰啓用自動輪換,幷包含資源策略,允許如Amazon S3和CloudWatch等AWS服務使用它進行加密操作。啓用VPC流日誌併發送到CloudWatch,用於網絡流量監控和安全分析。
ComfyUISmStack
ComfyUISmStack通過AWS Lambda函數協調核心處理管線,該函數觸發SageMaker AI處理作業。Lambda函數可以手動調用,以啓動使用ml.g5.xlarge實例的GPU處理,運行自定義Docker容器。該容器打包了ComfyUI和Z-Image Turbo模型,提供高質量圖像生成,並具有可配置參數(提示詞、種子和批處理)。
該堆棧創建可重用的處理作業構造,處理Docker鏡像構建和部署到Amazon ECR、創建具有全面權限的IAM角色(包括SageMaker AI、Amazon S3、Amazon ECR、Amazon VPC和CloudWatch訪問權限)、帶VPC集成、AWS KMS加密和網絡隔離的處理作業定義,以及包含完整作業配置環境變量的Lambda觸發函數配置。
處理作業在私有子網中運行,以確保安全的AWS服務通信。容器日誌流式傳輸到CloudWatch,用於實時監控和故障排除。作業使用連續的Amazon S3上傳模式,在生成圖像時實時將其流式傳輸到輸出桶,而不是等待作業完成。
處理流程
流程從您觸發Lambda函數開始,該函數創建處理作業並提交給SageMaker AI。SageMaker AI在私有網絡內預置GPU實例,從註冊表中拉取ComfyUI容器鏡像,並部署必要的存儲和網絡配置。容器運行後,ComfyUI服務器執行以下操作:
- 通過安全出站連接從HuggingFace下載AI模型組件。
- 將其組織到各自的目錄中。
- 將模型加載到GPU內存中,等待完全初始化。
服務器準備就緒後,系統從文件中讀取文本提示,並分批循環。對於每張圖像,它:
- 根據唯一種子值選擇提示詞。
- 用提示詞和種子填充工作流模板。
- 將請求發送到ComfyUI進行處理。
GPU根據工作流指令生成每張圖像。圖像生成後:
- 寫入輸出目錄並實時同步到Amazon S3,使結果在作業完成前即可用。
- 容器日誌流式傳輸到CloudWatch進行監控和故障排除。
每個批次排隊後,輪詢循環每15秒檢查處理隊列,直到所有請求完成。隊列清空後,服務器關閉,容器退出,SageMaker AI終止實例。然後您可以訪問Amazon S3以下載按作業時間戳組織的生成圖像,並查看CloudWatch日誌以解決問題。
演練
以下部分介紹部署ComfyUI on SageMaker Processing Jobs解決方案的步驟。
先決條件
在開始部署之前,請確保您具備以下條件:
- Python 3.13+
- AWS CLI配置了適當的憑證
- Docker已安裝並運行
- AWS CDK v2
- 在目標AWS賬户和區域中引導了AWS CDK
設置
- 克隆倉庫
git clone https://github.com/aws-samples/sample-comfy-to-sagemaker-processing-job- 環境配置
從示例模板創建環境文件:
cp .env.example .env編輯.env文件,填入您的AWS賬户詳情:
AWS_ACCOUNT_ID=your-account-id
REGION=us-east-1- 安裝依賴
此項目使用uv進行依賴管理:
# 如果您尚未安裝uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 創建環境
uv venv --python 3.13
# 激活環境
source .venv/bin/activate
# 安裝依賴
uv sync您也可以使用pip:
pip install -r requirements.txt- 引導AWS CDK
在目標AWS賬户和區域中引導AWS CDK(AWS CDK部署所需):
cdk bootstrap aws://YOUR-ACCOUNT-ID/YOUR-REGION例如:
cdk bootstrap aws://123456789012/us-east-1- 服務配額請求
通過AWS管理控制台為SageMaker AI處理作業請求增加六個ml.g5.xlarge實例的服務配額。
配置
處理作業配置在config/config.yaml中定義:
實例
[因AI成本控制省略]