透過 LoRA Stable Diffusion 模型釋放你的創造力。跟隨我們的部落格建立你自己的 LoRA 訓練模型。
重點摘要
- LoRA 是更有效率的微調 Stable Diffusion 模型的方法。
- LoRA 模型(1MB–6MB)更容易分享和散佈。
- 你可以在 Civitai 和 Hugging Face 輕鬆找到許多 LoRA 模型。
- Novita AI 提供 LoRA 訓練模型的 API,讓開發者如你能建立自己的 LoRA 模型。
- LoRA 在微調 Stable Diffusion 上勝過 Dreambooth 和 textual inversion。
介紹
LoRA Stable Diffusion 模型是在 AI 生成內容領域中的創新方法,它運用低秩適應(Low-Rank Adaptation)的概念來微調現有的 Stable Diffusion 模型,從而能有效率地將 AI 生成的圖像客製化為特定的風格、角色或藝術偏好。
在這篇部落格中,我們將為你全面介紹 LoRA 模型,並教你如何找到及使用 LoRA 來訓練 Stable Diffusion 模型。此外,我們還會提供一個客製化的方式,讓你使用 Novita AI API 建立自己的 LoRA 訓練模型。現在就讓我們深入 LoRA Stable Diffusion 的世界吧!
LoRA(低秩適應)概覽
LoRA(Low-Rank Adaptation)是一種用於微調 Stable Diffusion 模型的訓練技術。
什麼是 LoRA?
LoRA 代表「低秩適應(Low-Rank Adaptation)」,這是由 Microsoft 研究人員為解決微調大型語言模型(LLM)的問題而引入的新技術。
在 Stable Diffusion 的脈絡中,它是一種有效率微調 Stable Diffusion 模型的技術。LoRA Stable Diffusion 模型體積小巧,能對標準檢查點模型進行細微但顯著的修改,使其尺寸大幅縮小,通常比原始模型小 10 到 100 倍。
LoRA 是如何運作的?
LoRA 是一種讓 Stable Diffusion 模型更具適應性的技術,無需重新訓練整個模型。相反地,它在模型中處理圖像與文字互動的關鍵部分加入少量新的權重。這項修改透過稱為秩分解(rank decomposition)的方法變得更加高效,簡化了模型的權重結構。結果就是一個更小、經過客製化的模型,它保留了原始能力,同時也能專注於特定任務。然後,這個模型會與原始模型檢查點一起使用,以生成符合特定風格或概念的圖像。

LoRA 模型的要點
在使用 LoRA 模型之前,有必要了解為什麼要使用它們以及它們的不同類型。
LoRA 模型的特點
- 支援 Inpainting(圖像修復)
- 開箱即用的多向量關鍵調諧反轉
- 效率: LoRA 需要較少的計算能力和記憶體,使訓練大型模型更有效率。
- 有針對性的調整: 它專注於修改交叉注意力層(cross-attention layers)而非整個模型,從而更精確地控制模型行為。
- 相容性: LoRA 模型設計為與原始模型檢查點配合使用,確保相容性和易用性。
- 易於分享: LoRA 模型體積小巧(1MB–6MB),使其易於分享和散佈。
LoRA 模型範例
根據 LoRA 模型的不同功能,我們可以將其分為以下類型:
- 角色 LoRA: 角色 LoRA 模型經過微調,能夠捕捉來自卡通、電玩及其他娛樂平台中特定角色的獨特視覺特徵、體態和表情。它們在製作同人藝術、強化遊戲開發流程以及滿足動畫和插畫產業需求方面非常有用。
- 風格 LoRA: 風格 LoRA 模型經過微調,能夠模仿特定藝術家的藝術技巧或標誌性風格,從而創作出反映這些特定美學的圖像。它們經常被用來為參考圖像注入獨特的視覺風格,使其符合所選的藝術風格。

在哪裡尋找與使用 LoRA 模型
在 Civitai 或 Hugging Face 下載 LoRA 模型檔案
Civitai 是一個托管大量 LoRA 模型的網站,而 Hugging Face 也是著名的 LoRA 庫來源。你可以在這兩個網站上輕鬆找到許多 LoRA 模型,只需訪問它們的網站進行搜尋即可。
在 AUTOMATIC1111 Stable Diffusion GUI 中使用 LoRA 模型
-
安裝 LoRA 模型: 你只需將模型檔案放入以下資料夾。
stable-diffusion-webui/models/Lora -
在提示詞中使用 LoRA: 使用以下語法在提示詞或負面提示詞中加入帶有權重的 LoRA。
<lora:名稱:權重>

使用 Novita AI 訓練你自己的 LoRA 模型以進行微調
在 Stable Diffusion 中,有許多模型在架構和管線上相似,但輸出不同。因此,用於微調 Stable Diffusion 的 LoRA 模型也多種多樣。此外,LoRA 不是完整的模型,而是附加元件。也就是說,你可以建立自己的 LoRA 模型,根據需求持續「教導」並訓練它任何概念。
如果你想建立自己的 LoRA,可以將 API 整合到自己的程式中。Novita AI 就是這樣一個平台,它為你這樣的開發者同時提供建立獨特 LoRA 模型的 API,以及用來訓練 LoRA 模型的遊樂場(playground)。由於所有訓練都需要大量計算,請確保你有一台配備 GPU 的機器才能繼續。

尋找關於 LoRA 訓練的 API
- 步驟 1:造訪 Novita AI 網站並建立帳戶。
- 步驟 2:導覽至「API」,然後在「Training」標籤下找到 LoRA 訓練的 API。Novita AI 同時提供「LoRA for subject training」和「LoRA for style training」,你可以用來訓練角色 LoRA 和風格 LoRA。
- 步驟 3:開始訓練你的 LoRA 模型。

開始 LoRA 模型訓練
取得 Novita AI API 金鑰後,你就可以開始訓練你的 LoRA 模型。我們以「LoRA for subject training」為例,向你展示如何訓練模型。
-
步驟 1:上傳用於模型訓練的圖片。 取得圖片上傳 URL 並將其放入以下資料夾。每個任務最多支援上傳 50 張圖片。為了獲得良好的最終效果,上傳的圖片應滿足一些基本條件,例如「人物在中央」、「無浮水印」、「圖片清晰」等。
curl -X PUT -T "{{filepath}}" "{{upload_url}}" -
步驟 2:配置參數。 模型訓練共有四種參數:模型資訊參數、資料集參數、元件參數和專家參數。根據你的需求配置參數。

- 步驟 3:開始訓練任務。 Novita AI 提供一個易於使用的** 訓練遊樂場**讓你訓練模型。只需輸入 Novita AI API 金鑰並按照下圖中的步驟操作,即可查看訓練結果。



-
步驟 4:取得訓練狀態。 輸入以下指令以獲取模型訓練進度以及訓練後的模型部署狀態。
curl --location --request GET 'training task_id' \ --header 'Authorization: Bearer {{Key}}' -
步驟 5:開始使用模型: 當回應顯示「task_status: SUCCESS」且「model_status: SERVING」時,你就可以開始使用訓練好的模型了。
訓練 Stable Diffusion 的其他方法
Dreambooth 與 Textual Inversion
除了 LoRA,Dreambooth 和 textual inversion 是其他流行的微調 Stable Diffusion 的方法。然而,與 Dreambooth 產生的大型模型檔案(2–7 GB)相比,LoRA 小得多且更有效率;與 textual inversion 極小的結果(約 100 KB)相比,LoRA 可用於通用微調,適應新的領域或資料集。
訓練提示
- GPU 需求: 訓練 LoRA 模型需要大量的計算資源,因此請確保你有一台配備高效能 GPU 的機器來處理工作量。
- 模型相容性: LoRA 模型應與其要增強的基礎 Stable Diffusion 模型相容。檢查相容性以避免整合問題。
- 參數調整: 仔細微調 LoRA 模型的參數,因為它們會顯著影響輸出,包括 LoRA 調整的權重以及任何其他特定的超參數。

結論
總之,LoRA Stable Diffusion 模型代表了 AI 生成藝術和內容創作領域的一項重大進步。利用 Novita AI 的 LoRA 模型 API 來訓練你自己的模型,以微調 Stable Diffusion 模型。總體而言,LoRA Stable Diffusion 模型是一個強大的工具,只要負責任地使用,就能大大增強 AI 在藝術和創意應用中的能力。
Novita AI,一站式無限創意平台,提供 100 多種 API。從圖像生成、語言處理到音訊增強和影片操控,按量計費價格低廉,讓你在建立自己產品的同時無需煩惱 GPU 維護。免費試用。
推薦閱讀
