本文主要介紹如何使用 Amazon SageMaker Notebook 機器學習服務輕鬆託管 Stable Diffusion WebUI,一鍵部署開箱即用的AIGC 圖片方向輕量級應用。透過Amazon CloudFormation 基礎架構即程式碼的服務,實現底層環境、AI 模型和前端Stable Diffusion WebUI 的快速部署,幫助使用者在15~20分鐘部署一套文生圖、圖生圖的AI 應用。此方案適合企業級客戶對AIGC 圖片方向做前期研究和快速驗證、小型團隊快速建立輕量級AI 應用的業務場景。想要快速體驗動手實驗,可在文末掃描二維碼,註冊亞馬遜雲科技帳號,免費領取200美元雲上資源,暢快探索AI 作畫的無限魅力。亞馬遜雲端科技官網:https://www.amazonaws.cn
亞馬遜雲端海外官網:https://aws.amazon.com/cn/
此方案目前提供基於Stable Diffusion 1.5的圖片生成,基於 DreamBooth 的圖片訓練和推理;暫不提供腳本(script)和插件(extension)的技術支持,讀者可持續關注後續方案的功能迭代。
● 本方案使用CloudFormation 一鍵部署,只需點擊幾個步驟,即可快速在您的Amazon 帳戶中成功部署一套AIGC 圖片方向的web 應用環境,交互界面簡潔友好,幫助用戶快速體驗文本生成圖片、圖片生成圖片等AI 服務。 ● 底層使用Amazon SageMaker Notebook Instance 託管的Jupyter 筆記本實例,您無需關心基礎環境(如儲存、網路等)的建置及底層基礎架構運維。● 方案採用全託管的Stable Diffusion AI 模型服務(1.5輕量版本,包含Stable Diffusion WebUI 與InvokeAI 兩個介面),具備良好的開源專案使用體驗,並支援根據您的需求安裝插件以擴展使用情境(如ControlNet)。
● 使用者可使用自帶的圖片資料微調模型,產出的模型可基於自動化流水線工具快速部署上線至推理節點,方便規模化的圖片推理調用。
● 本方案完全開源,使用者可在SageMaker Notebook 中對模型和擴充(extension)客製化開發,滿足自身業務需求。
3.1 Amazon SageMaker NotebookAmazon SageMaker 筆記型電腦實例是執行Jupyter Notebook 應用程式的機器學習(ML)運算實例。 SageMaker 管理實例和相關資源的建立。在您的筆記本實例中使用Jupyter 筆記本來準備和處理資料、編寫程式碼來訓練模型、將模型部署到SageMaker 託管,以及測試或驗證您的模型。Stable Diffusion 是由CompVis、Stability AI 和LAION 共同開發的文本轉圖像模型,它透過LAION-5B 子集大量的512×512圖文模型進行訓練,用戶只要簡單的輸入一段文本,Stable Diffusion 就可以迅速將其轉換為圖像。同樣,用戶也可以置入圖片或視頻,配合文字處理。3.3.1 Stable Diffusion WebUI+使用範例參考Stable Diffusion WebUI 是Stable Diffusion 的瀏覽器互動介面,它提供了多種功能,如txt2img、img2img 等,還包含了許多模型融合改進、圖片品質修復等附加升級。透過調節不同參數可以產生不同效果,使用者可以根據自己的需求和喜好進行創作。它不僅支援生成圖片,使用各種各樣的模型來達到你想要的效果,還能訓練你自己的專屬模型。 Stable Diffusion WebUI:https://github.com/AUTOMATIC1111/stable-diffusion-webui
以文字產生圖片為例,使用者可在「txt2img」介面,使用提示詞產生期望圖片,步驟如下:
● 點選「txt2img」進入文生圖介面
● 在提示詞輸入框內輸入提示詞
● 點選「Generate」按鈕即可產生圖片
1.生成一對90年代中國情侶,尺寸512×512,一次生成4張圖:提示詞(Prompt):A pair of young Chinese lovers, wearing jackets and jeans, sitting on the roof, the background is Beijing in the 1990s, and the opcane2.生成背景為雛菊的羅馬士兵半身像,尺寸512×512,一次生成4張圖:提示詞(Prompt):A roman soldier with daisies in the background, bust figure提示詞(Prompt):A pair of young Chinese lovers, wearing jackets and jeans, sitting on the roof, the background is Beijing in the 1990s, and the opposite building can be seen1.登入控制台,在控制台頁面右上角切換區域至us-east-1。
2.在Service 搜尋框中輸入Cloudformation,點選進入。3.建立堆疊-使用新資源(標準)- 上傳範本文件,範本在以下連結下載:https://xiekl.s3.cn-northwest-1.amazonaws.com.cn/sd-webui.yml4.填入堆疊名稱,Instance Type 建議選擇g5.2xlarge,磁碟Volume 大小預設為100G,選擇WebUI Type,預設是auto 代表Stable Diffusion WebUI,WebUI Version 選擇0316,點選「下一步」 。6、確認配置(維持預設即可),勾選“我確認…”,點擊“提交” ,等待15-20分鐘部署完成。3.4.2 使用Stable Diffusion WebUI 進行文生圖 1.建立堆疊後等待資源陸續啟動(約20分鐘),待堆疊狀態顯示為「CREATE_COMPLETE」後,點選「輸出」。點選「鍵」為「WebUI URL」對應的「值」位置的URL。2.進入WebUI 介面,輸入Prompt,點選generate 即可產生圖片。3.4.3 使用Stable Diffusion WebUI進行訓練(微調) 以下是如何使用Stable Diffusion WebUI 訓練自己的圖片。
1.首先要建立一個模型,導航到DreamBooth ⻚面。3.設定訓練參數,導覽至Select ⻚面,如圖所示。4.在input ⻚面,設定Setting,Basic 的參數保持預設即可,點選右側箭。5.點選Advance 右側箭頭,展開選項卡。在Mixed Precision 選擇fp16,Memory Attention 選擇xformers,其他選項保持預設即可,如下圖所示。6.點選Concepts 選項卡,在Dataset Directory 輸入實例圖片所在的目錄。我們事先準備了範例圖片在/data/images 中,讀者也可以把自己的圖像檔案放在該目錄中。7.向下拉動滾動條,在Instance Prompt 中輸入”a photo of a zxw dog”,在Class Prompt 中輸入”a photo of dog”,其他保持默認。9.觀察右側Output 選項卡的訓練進度,等待訓練完成。10.訓練完成後,點選刷新按鈕,模型清單中將出現剛訓練好的模型,選擇新訓練的模型。11.點選txt2img,跳到文生圖⻚面。輸入Prompt,注意要帶上zwx 前綴,查看結果。12.下面介紹如何用自己的圖片進行訓練。在Cloudfomation 的輸出中,點選NotebookURL 連結。13.如下圖所示,點選sd-webui 進入到data/images/ 資料夾。在文件上依序點擊右鍵,刪除檔案。14、點擊 Upload files 按鈕,上傳您自己的圖片作為訓練集。上傳完成後,重複上述步驟完成訓練過程。
本文簡單介紹如何使用託管的筆記本服務SageMaker Notebook 來一鍵部署Stable Diffusion WebUI,輕鬆建立AI 生成圖片的介面化、快速驗證環境。方案只需點擊幾次即可實現自動化部署,基於託管服務的特性讓您無需憂心底層基礎設施的搭建與維運,同時擁有良好的開源專案體驗。您也可以使用自己的圖片對模型進行微調,為客製化特色的AIGC 應用做好準備。- https://docs.aws.amazon.com/sagemaker/latest/dg/nbi.html
- https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/
- https://github.com/AbdBarho/stable-diffusion-webui-docker
- https://github.com/AUTOMATIC1111/stable-diffusion-webui
- https://github.com/invoke-ai/InvokeAI
想要快速體驗動手實驗,即時掃描下方二維碼,註冊亞馬遜雲端科技帳號,免費領取200美元雲上資源,暢快探索AI 作畫的無限魅力: