AI News HubLIVE
站內改寫5 分鐘閱讀

在Amazon SageMaker AI處理作業上執行ComfyUI工作流

本文介紹瞭如何在Amazon SageMaker AI處理作業上部署ComfyUI工作流,以批次生成高質量影像。涵蓋使用AWS CDK設定基礎設施、配置GPU加速處理以及自動化大規模影像生成的步驟。該解決方案可適應自定義工作流,幫助擴充套件創意管線。

來源AWS Machine Learning Blog作者: Nick Biso

使用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伺服器執行以下操作:

  1. 透過安全出站連線從HuggingFace下載AI模型元件。
  2. 將其組織到各自的目錄中。
  3. 將模型載入到GPU記憶體中,等待完全初始化。

伺服器準備就緒後,系統從檔案中讀取文本提示,並分批迴圈。對於每張影像,它:

  1. 根據唯一種子值選擇提示詞。
  2. 用提示詞和種子填充工作流模板。
  3. 將請求傳送到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

設定

  1. 克隆倉庫
git clone https://github.com/aws-samples/sample-comfy-to-sagemaker-processing-job
  1. 環境配置

從示例模板建立環境檔案:

cp .env.example .env

編輯.env檔案,填入您的AWS賬戶詳情:

AWS_ACCOUNT_ID=your-account-id
REGION=us-east-1
  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
  1. 引導AWS CDK

在目標AWS賬戶和區域中引導AWS CDK(AWS CDK部署所需):

cdk bootstrap aws://YOUR-ACCOUNT-ID/YOUR-REGION

例如:

cdk bootstrap aws://123456789012/us-east-1
  1. 服務配額請求

透過AWS管理控制台為SageMaker AI處理作業請求增加六個ml.g5.xlarge例項的服務配額。

配置

處理作業配置在config/config.yaml中定義:

例項

[因AI成本控制省略]