在 M1 芯片的 Mac 上部署 Stable Diffusion AI 繪圖

最近這幾個月,互聯(lián)網(wǎng)上有關(guān) AI 的消息非常熱門,不管是 AI 繪圖還是 ChatGPT AI 問答機(jī)器人都非常有意思。但是好像涉及這種人工智能的項目都需要比較好的顯卡來進(jìn)行模型的運算,我們普通的 PC 一般只有內(nèi)置的顯卡,性能比較拉跨,大概是支持不了這樣的項目。
但是 Mac 的 M1/M2 系列芯片性能提升了那么多,能不能運行這樣的?AI 繪圖項目呢?查了一下還真可以,下面記錄一下部署過程。我的電腦是 M1 芯片的 MacBook Air 8GB 版本,如果你的電腦是 Apple 芯片的 Mac,那么這個教程對于你應(yīng)該是適用的。內(nèi)存 16 GB 比較好,8 GB 也勉強能運行,只是繪圖的時候電腦會有點卡,沒法運行別的程序。
AI 繪圖的項目有很多,我查到的案例是部署 Stable Diffusion,項目的 Github 倉庫地址是:

首先將項目克隆下來,并直接切到?apple-silicon-mps-support 這個分支:
然后根據(jù)項目提供的 enviroment-mac.yaml 創(chuàng)建虛擬環(huán)境,環(huán)境的名稱是 ldm:
因為 AI 繪圖的核心是要讀取預(yù)先訓(xùn)練好的模型,而這個模型文件比較大(4GB左右),沒有附帶在項目中,需要另外下載。我們進(jìn)入 Hugging Face 網(wǎng)站,下載最新的模型文件 sd-v1-4.ckpt。

下載完畢后,將模型文件放到項目的?models/ldm/stable-diffusion-v1 目錄下,重命名為?model.ckpt。
仔細(xì)看過 README 文件后我們可以知道,這個項目可以將「文字轉(zhuǎn)圖片」,也可以將「圖片轉(zhuǎn)圖片」。但是我試了一下我的電腦沒法運行「圖片轉(zhuǎn)圖片」,應(yīng)該是需要更大的內(nèi)存。
「文字轉(zhuǎn)圖片」中,關(guān)鍵的參數(shù)就是圖片的描述語句,即 prompt?,F(xiàn)在我們就可以開始繪圖了,我從網(wǎng)上搜了幾條比較簡單的 prompt 試了一下:
注意:
首次運行可能會報這樣的錯:
這應(yīng)該是內(nèi)存太小導(dǎo)致的,我們在終端設(shè)置一個環(huán)境變量可以忽略這個限制:
設(shè)置完畢后,再次嘗試?yán)L圖。

稍微改一下 prompt:

是不是還蠻好看的。
理論上 prompt 應(yīng)該小于等于 400 個單詞,我們可以參考網(wǎng)上寫的比較好的 prompt,然后自行修改進(jìn)行繪圖。用這樣的方式得到的圖片很精美,暫時也不會有版權(quán)問題,非常適合給你的原創(chuàng)作品錦上添花。如果你的英文不錯,還有一些藝術(shù)鑒賞相關(guān)的知識,可能會畫出意想不到的作品,快來試試吧。

參考資料
Stable Diffusion Github 倉庫:https://github.com/bfirsh/stable-diffusion
英文版參考博客:https://replicate.com/blog/run-stable-diffusion-on-m1-mac
模型下載:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

演示視頻
