什麼是低秩適應 (LoRA)?

低秩適應 (LoRA) 是一種無需重新訓練整個模型即可讓大型機器學習模型適應特定用途的方法。

學習目標

閱讀本文後,您將能夠:

  • 定義「低秩適應」(LoRA)
  • 簡單介紹 LoRA 的運作方式
  • 瞭解使用 LoRA 的優勢

複製文章連結

什麼是低秩適應 (LoRA)?

低秩適應 (LoRA) 是一種讓機器學習模型快速適應新環境的技術。LoRA 可協助讓龐大而複雜的機器學習模型更適合特定用途。它的工作原理是向原始模型新增輕量級部分,而不是變更整個模型。LoRA 可幫助開發人員快速擴展他們構建的機器學習模型的使用案例。

大型且複雜的機器學習模型(例如用於 ChatGPT 等大型語言模型 (LLM) 的模型)需要花費很長時間和大量資源來設定。它們可能有數萬億個設定為特定值的參數。一旦此過程完成,該模型可能總體上強大且準確,但不一定能夠進行微調以執行特定工作。

要讓模型在特定環境中發揮作用,可能需要進行大量的重新訓練,變更其所有參數。由於此類模型中的參數數量眾多,這種重新訓練既昂貴又耗時。LoRA 提供了一種無需重新訓練即可快速調整模型的方法。

假設 Jim 從歐洲搬到了北美,他的所有電器(微波爐、熱水壺等)都不適合新房子的插座,因為這兩個地區的電源插頭標準不同。Jim 有兩個選擇。他可以拆掉並更換家裡的所有插座,以便它們適合他的電器插頭。或者,他可以簡單地購買幾個便宜的插座轉接器,然後以這種方式插入他的電器。

LoRA 就像是 Jim 的第二個選擇。LoRA 不是從頭到尾完全重新訓練模型,而是為模型新增一個輕量級、可變更的部分,使其適應新的環境。對於 AI 開發人員來說,這要快得多,而且資源佔用更少,就像 Jim 在五金店購買幾個轉接器比僱傭承包商到他家的牆上更換電源插座更便宜一樣。

什麼是機器學習模型?

機器學習模型是機器學習演算法與資料集的結合。這種結合的結果是一個電腦程式,它可以識別模式、查找物件或繪製專案之間的關係,即使在它以前從未見過的資料集中也是如此。

對於產生文字、產生影像或執行其他現代機器學習應用等複雜任務,模型會從大量資料中擷取資料並使用高度複雜的演算法。演算法或資料集的細微變化意味著模型將產生不同的結果。然而,要獲得在特定環境中所需的結果可能需要大量的訓練。

LoRA 不會重新構建整個模型,而是會凍結模型的權重*和參數。然後在原始模型之上,新增一個稱為低秩矩陣的輕量級附加項,然後將其套用至新輸入以獲得特定於環境的結果。低秩矩陣會根據原始模型的權重進行調整,以便輸出與所需使用案例相匹配。

*在機器學習模型中,「權重」是一個數學值,有助於確定不同類型輸入的重要性。

什麼是 LoRA 中的低秩矩陣?

在數學中,矩陣是數字的陣列或集合,例如:

低秩矩陣範例:第一列欄 2 4 6,第二欄 4 8 12,第三欄 6 12 18

矩陣是機器學習模型和神經網路工作方式的重要組成部分。對於此類用途,它們可能比上述範例大得多。對於 LoRA,重要的是要理解低秩矩陣比大矩陣更小,值也少得多。它們不佔用太多記憶體,並且只需更少的步驟來相加或相乘。這使得電腦處理它們的速度更快。

LoRA 將低秩矩陣新增到凍結的原始機器學習模型中。這些矩陣包含在產生結果時套用至模型的新權重。此過程以最小的運算能力和訓練時間改變模型產生的輸出。

在上面使用的類比中,Jim 購買了便宜的轉接器來將電器插入牆上的電源中。低秩矩陣就像那些便宜的轉接器,而插座就是原始的機器學習模型。

機器學習如何運作?

機器學習是一種統計演算法,它可以學習在資料中尋找模式,而無需接受人類的具體指令。機器學習可以從範例中進行歸納,以對從未見過的資料進行分類。它是許多類型的人工智慧 (AI) 應用的基礎。

Cloudflare 使開發人員能夠透過以下服務快速整合流行的機器學習模型:

進一步瞭解完整的 Cloudflare for AI 平台