我們生活在激動人心的時代,每週都會發布有關尖端技術的公告。 OpenAI 剛剛發布了尖端的文本到圖像模型 DALLE 2。
只有少數人能夠提前使用新的人工智能係統,該系統可以從自然語言描述中生成逼真的圖形。 它仍然對公眾關閉。
Stability AI 隨後發布了 穩定擴散 模型,DALLE2 的開源變體。 這次發布改變了一切。 互聯網上的人們都在快速發布結果,並對現實主義藝術感到驚訝。
什麼是穩定擴散?
穩定擴散 是一種機器學習模型,能夠從文本創建圖像,根據文本更改圖像,並在低分辨率或低細節圖像上填充細節。
它接受了數十億張照片的訓練,可以提供相當於 達爾-E 2 和 中途. 穩定人工智能 發明它,並於 22 年 2022 月 XNUMX 日公開。
但是由於本地計算資源有限,Stable Diffusion 模型需要很長時間才能創建高質量的圖片。 使用雲提供商在線運行模型為我們提供了幾乎無限的計算資源,並使我們能夠更快地獲得出色的結果。
將模型託管為微服務還允許其他創意應用程序更輕鬆地利用模型的潛力,而無需處理在線運行 ML 模型的複雜性。
在這篇文章中,我們將嘗試演示如何開發穩定的擴散模型並將其部署到 AWS。
構建和部署穩定的擴散
BentoML 和 Amazon Web Services EC2 是在線託管穩定擴散模型的兩個選項。 BentoML 是一個用於擴展的開源框架 機器學習 服務。 使用 BentoML,我們將構建可靠的分散服務並將其部署到 AWS EC2。
準備環境並下載穩定的擴散模型
安裝需求並克隆存儲庫。
您可以選擇並下載穩定擴散模型。 單精度適用於顯存大於 10GB 的 CPU 或 GPU。 半精度非常適合顯存小於 10GB 的 GPU。
建立穩定的擴散
我們將構建一個 BentoML 服務來為模型提供服務 RESTful API. 以下示例使用單精度模型進行預測,並使用 service.py 模塊將服務連接到業務邏輯。 我們可以通過使用@svc.api 標記函數將函數公開為 API。
此外,我們可以在參數中定義 API 的輸入和輸出類型。 例如,txt2img 端點接收 JSON 輸入並生成 Image 輸出,而 img2img 端點接受 Image 和 JSON 輸入並返回 Image 輸出。
StableDiffusionRunnable 定義了基本的推理邏輯。 runnable 負責運行模型的 txt2img 管道方法並發送相關輸入。 為了在 API 中運行模型推理邏輯,從 StableDiffusionRunnable 構造了一個自定義 Runner。
然後,使用以下命令啟動 BentoML 服務進行測試。 在本地運行 穩定擴散模型 對 CPU 的推理相當緩慢。 每個請求大約需要 5 分鐘來處理。
文字轉圖片
文字轉圖片輸出
Bentofile.yaml 文件定義了所需的文件和依賴項。
使用以下命令製作便當。 Bento 是 BentoML 服務的分發格式。 它是一個獨立的存檔,包含啟動服務所需的所有數據和配置。
穩定的擴散便當已經完成。 如果您無法正確生成便當,請不要驚慌; 您可以使用下一節中列出的命令下載預構建模型。
預構建模型
以下是預構建模型:
將穩定的擴散模型部署到 EC2
要將bento 部署到EC2,我們將使用bentoctl。 Bentoctl 可以讓您將便當部署到任何 雲平台 使用 Terraform。 要構建和應用 Terraform 文件,請安裝 AWS EC2 運算符。
在deployment config.yaml 文件中,deployment 已經配置好了。 請隨時根據您的要求進行編輯。 Bento 默認部署在 g4dn.xlarge 主機上, 深度學習 us-west-1.12.0 區域上的 AMI GPU PyTorch 20.04 (Ubuntu 1) AMI。
現在創建 Terraform 文件。 創建 Docker 映像並將其上傳到 AWS ECR。 根據您的帶寬,圖片上傳可能需要很長時間。 在將便當部署到 AWS EC2 時,使用 Terraform 文件。
要訪問 Swagger UI,請連接到 EC2 控制台並在瀏覽器中打開公共 IP 地址。 最後,如果不再需要 Stable Diffusion BentoML 服務,請刪除部署。
結論
您應該能夠看到 SD 及其配套模型是多麼迷人和強大。 時間會證明我們是否會進一步迭代這個概念或轉向更複雜的方法。
然而,目前正在採取一些舉措來訓練更大的模型,並進行調整以更好地掌握環境和指令。 我們嘗試使用 BentoML 開發 Stable Diffusion 服務並將其部署到 AWS EC2。
通過在 AWS EC2 上部署服務,我們能夠在更強大的硬件上運行穩定擴散模型,創建具有低延遲的圖片,並超越單台計算機。
發表評論