如何使用 LoRA 微調 Stable Diffusion

如何使用 LoRA 微調 Stable Diffusion

透過 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 模型之前,有必要了解為什麼要使用它們以及它們的不同類型。

LoRA 模型的特點

  • 支援 Inpainting(圖像修復)
  • 開箱即用的多向量關鍵調諧反轉
  • 效率: LoRA 需要較少的計算能力和記憶體,使訓練大型模型更有效率。
  • 有針對性的調整: 它專注於修改交叉注意力層(cross-attention layers)而非整個模型,從而更精確地控制模型行為。
  • 相容性: LoRA 模型設計為與原始模型檢查點配合使用,確保相容性和易用性。
  • 易於分享: LoRA 模型體積小巧(1MB–6MB),使其易於分享和散佈。

LoRA 模型範例

根據 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:名稱:權重>
    

在提示詞中使用 LoRA

使用 Novita AI 訓練你自己的 LoRA 模型以進行微調

在 Stable Diffusion 中,有許多模型在架構和管線上相似,但輸出不同。因此,用於微調 Stable Diffusion 的 LoRA 模型也多種多樣。此外,LoRA 不是完整的模型,而是附加元件。也就是說,你可以建立自己的 LoRA 模型,根據需求持續「教導」並訓練它任何概念。

如果你想建立自己的 LoRA,可以將 API 整合到自己的程式中。Novita AI 就是這樣一個平台,它為你這樣的開發者同時提供建立獨特 LoRA 模型的 API,以及用來訓練 LoRA 模型的遊樂場(playground)。由於所有訓練都需要大量計算,請確保你有一台配備 GPU 的機器才能繼續。

Novita AI 訓練介面

尋找關於 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 訓練 API

開始 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 金鑰並按照下圖中的步驟操作,即可查看訓練結果。

開始訓練任務 1

開始訓練任務 2

開始訓練任務 3

  • 步驟 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 維護。免費試用。

推薦閱讀

  1. Add LoRA Stable Diffusion: A Comprehensive Guide
  2. LoRA AI art generator: Create art with ease
  3. Lora AI-Generated Images — The Future of Art