本文介紹如何在函數計算中結合NAS搭建可切換模型的Stable Diffusion的WebUI框架實現文本生成圖片。同時將SD公共模型庫轉存至函數計算下的NAS文件系統。
背景信息
阿里云函數計算FC是Serverless架構的一種形態,面向函數編程,基于事件驅動提供阿里云云服務之間端到端的解決方案。借助函數計算,您可以快速構建任何類型的應用和服務,并且只需為任務實際消耗的資源付費。
阿里云文件存儲 NAS是一種分布式的網絡文件存儲,為ECS、HPC、Docker、BatchCompute等提供安全、無限容量、高性能、高可靠、簡單易用的文件存儲服務。阿里云文件存儲NAS支持與函數計算無縫集成。這使您的函數可以像訪問本地文件系統一樣訪問存儲在NAS文件系統上的文件。
Stable Diffusion(簡稱SD)是一個可通過文本生成圖像的擴散模型,基于CLIP模型從文字中提取隱變量,并通過UNet模型生成圖片;最后通過逐步擴散、逐步處理圖像,優化圖像質量。
AIGC(Artificial Intelligence Generated Content)是指人工智能生成內容。“文生圖”技術是指使用AI繪畫創作圖片。
阿里云不對第三方模型的合法性、安全性、準確性進行任何保證,阿里云不對由此引發的任何損害承擔責任。
您應自覺遵守第三方模型的用戶協議、使用規范和相關法律法規,并就使用第三方模型的合法性、合規性自行承擔相關責任。
前提條件
已開通文件存儲NAS服務。
首次登錄文件存儲NAS產品詳情頁時,按照頁面引導開通服務。
已開通函數計算服務,詳情請參見開通函數計算服務。
費用說明
部署Stable Diffusion應用框架,并使用其生成圖片將產生部分費用,包括GPU資源使用、vCPU資源使用、內存資源使用、磁盤資源使用和公網出流量以及函數調用的費用。具體信息,請參見計費概述。
說明無論是否生成圖片,進入Stable Diffusion WebUI使用界面就會耗費GPU資源。所以在不需要使用Stable Diffusion WebUI生成圖片的時候,請及時關閉Stable Diffusion WebUI使用界面。
使用NAS存儲AIGC的模型,NAS將根據文件系統類型、存儲容量及時長收取文件存儲費用,建議搭配NAS資源包使用。更多計費信息,請參見計費概述。
使用在線遷移服務將SD公共模型庫轉存至NAS時,在線遷移服務將根據遷移類型和遷移場景收取源端請求費用。更多信息,請參見新版計費項。
步驟一:部署可更換模型的FC Stable Diffusion
登錄函數計算控制臺,單擊右上角返回函數計算2.0。
在左側導航欄,單擊應用。
如果您首次使用函數計算的應用中心,或您的賬號下沒有創建任何應用,在左側導航欄,單擊應用后,將自動進入創建應用頁面。
如果您之前使用過應用中心,在左側導航欄,單擊應用,然后在應用頁面單擊創建應用。
在創建應用頁面,選擇通過模版創建應用,然后在應用列表中選擇人工智能頁簽,并將光標移至AI數字繪畫stable-diffusion自定義模型版卡片,單擊立即創建。
在應用配置頁面,配置以下參數,然后單擊創建應用。
參數
示例值
說明
地域
cn-beijing
選擇部署應用的地域。支持部署應用到華東1(杭州)、華東2(上海)、華北2(北京)和華南1(深圳)地域。
重要如果部署異常,例如AIGC公共鏡像拉取耗時長,拉取失敗,請切換到其他地域重試。
服務名
fc-stable-diffusion-plus
當您有多個掛載NAS的Stable Diffusion應用時,相同的服務名可以掛載在同一個目錄。
函數名
sd
如果同一個服務下部署了多個Stable Diffusion,需要通過函數名區分開,否則會覆蓋部署。
繪圖類型
動漫風格
根據需要選擇繪圖類型,應用中心內置了SD1.5、動漫風格、真人風格的繪圖類型。
為了方便您使用,函數計算提供基于開源項目stable-diffusion-webui構建的鏡像,您可以直接使用。如果您想自定義Stable Diffusion鏡像,請參見如何構建并使用stable-diffusion-webui鏡像。
角色名
AliyunFCServerlessDevsRole
首次登錄用戶,需要單擊前往授權配置角色權限。
如果您的角色名稱已有相關權限,則無需設置。
在彈出的活動應用創建提醒對話框,仔細閱讀提示內容,勾選已知當前收費項復選框,然后勾選我已經了解上面的內容,并同意上述描述復選框,最后單擊同意并繼續部署。
等待幾分鐘后,應用部署完成,頁面跳轉至應用詳情。您可以查看應用的基本信息、項目詳情和資源信息等。
在應用詳情頁面,單擊模型管理域名右側的初始化模型管理。
在彈出的初始化模型管理對話框,仔細閱讀提示內容,勾選我已閱讀,并了解上述創建資源的目的以及部分資源可能產生的費用。我已知曉對應的計費規則,并決定繼續部署該應用復選框,然后單擊確認。
配置NAS文件系統。
自動配置:系統自動為您創建一個新的通用型NAS文件系統。
如您再次選擇自動配置,系統查詢到前一次選擇自動配置時創建的通用型NAS文件系統后,將不會再重新創建。關于費用詳情,請參見通用型NAS計費。
手動配置:您需要手動配置如下參數才能配置NAS文件系統。
單擊確認。
步驟二:將公共模型庫轉存到NAS存儲
登錄函數計算控制臺,單擊右上角返回函數計算2.0。
在左側導航欄,單擊應用。
找到您需要轉存模型庫的應用,并單擊應用名稱,進入應用詳情頁面。
在項目詳情區域,單擊模型管理域名右側的域名。
在模型管理頁面,選擇模型庫,然后將光標放置您感興趣的模型卡片,單擊下載模型。
在彈出的文件下載確認對話框,單擊下載選擇的模型。
您可以單擊傳輸列表,查看模型下載進度。下載完成后,您可以進入文件管理查看下載的模型( /mnt/auto/sd/models/Stable-diffusion),重啟Stable Diffusion即可使用模型進行文生圖的體驗。
說明模型會被下載至文件管理(NAS)進行存儲,NAS將根據您的NAS文件系統類型、存儲容量和時長進行收費,詳細的計費信息,請參見計費概述。
步驟三:驗證模型推理
登錄函數計算控制臺。
在左側導航欄,選擇應用。
找到目標應用,單擊應用名稱,進入應用詳情頁面。
在項目詳情區域,單擊WebUI 域名,進入Stable Diffusion WebUI操作界面,在文生圖頁簽下的輸入框中,填入相應的提示詞,然后單擊右側的生成按鈕即可生成描述提示詞的圖片。
例如,在Stable Diffusion模型(ckpt)下拉列表中切換模型為dreamshaper_7,切換完成后,在文生圖頁面輸入如下信息,然后單擊生成。
提示詞:photo of the warrior Aragorn from Lord of the Rings, film grain
反向提示詞:BadDream, (UnrealisticDream:1.2)
采樣方法(Sampler):DPM++ SDE Karras
采樣步數(steps):30
提示詞引導系數:4
圖像生成種子:82742