影片狀態:錄影需登入或課程授權。 影片來源與說明
LoRA 為什麼不用更新整張權重矩陣?這篇先接回第 9 堂的高效適應,手算一次低秩更新,讀完能分清「更新矩陣的秩」與「完整權重的秩」,並算出可訓練參數量。
來源範圍:這是依 LoRA 原論文整理的課前預習,以下例子由本文自編。第 18 堂客座的題名是 Tinker and LoRA Without Regret,但截至 2026-10-11 官方課表仍未列本堂公開投影片;不能用這份預習推定 Tinker 的課堂介面、實驗或「Without Regret」的含義。
低秩的是更新,不是整個模型
LoRA 原論文第 4.1 節固定原權重 W0,只訓練兩個較小矩陣 A、B。若 W0 的大小是 d_out × d_in,A 是 r × d_in,B 是 d_out × r,前向計算是 W0 x + (α/r) B A x。
BA 的秩最多是 r,但 W0 + BA 不一定低秩。這是在限制「往哪些方向調整」,不是把原模型縮成只有 r 個參數。對單一 8 × 8 權重,完整微調需更新 64 個值;若 r=1,兩個低秩矩陣共 8+8=16 個可訓練值。這只比較該矩陣的可訓練參數,不代表整個模型記憶體也剩四分之一。
手算一次前向更新
以下是自編的二維例子,假設某次訓練後 W0=[[1,0],[0,1]]、A=[[1,-1]]、B=[[2],[1]],且 r=α=1、輸入 x=[3,1]。這不是 LoRA 的初始化設定,也不是客座講者的示範。
- 原分支:
W0 x=[3,1]。 - 先投影:
A x=3-1=2。 - 再映回:
B(Ax)=[4,2]。 - 相加得到新輸出
[7,3]。
同一計算也能先合併 BA=[[2,-2],[1,-1]],再算 (W0+BA)x。更新只有 rank 1,但合併後的矩陣 [[3,-2],[1,0]] 行列式為 2,仍是 rank 2。本例的二維矩陣有四個完整權重,A、B 也共有四個值,沒有參數節省;選小矩陣只是為了能手算。
換一個輸入,檢查理解
保持同一組矩陣,把輸入換成 x=[1,1]。低秩分支會怎麼改變輸出?這能否證明任何任務都不會退步?
答案:Ax=0,所以更新分支輸出 [0,0],完整輸出仍是 [1,1]。它只說明這個輸入落在 A 的零空間;對 [3,1] 的輸出已改變。低秩限制與單一輸入不變,都不能保證所有任務的品質;不能從客座標題推導這種保證。
課程影片來源
原課歸因:官方課表將 2026 年 3 月 5 日的「Guest Lecture: Tinker and LoRA Without Regret」列為 John Schulman 客座;上面的預習計算由本文另行設計。
已即時查核 CS224N 官方課程頁:Winter 2026 課堂錄影放在 Canvas(需登入),官方說明無法開放給非修課者,2026-10-10 的 Canvas 登入測試導向 Stanford 登入頁;2026-10-11 本次重查官方頁仍註明需登入且限修課者。官方指向的公開錄影只有 2024 年版播放清單,沒有 Winter 2026 的公開錄影;其中找不到與本講標題對應的講次,因此不嵌入影片,也不以其他年份影片冒充當期錄影。
課程與錄影入口:
查核日期:2026-10-11。
更新紀錄
- 2026-10-11:改為 LoRA 課前預習,補自編矩陣例子與答案,來源查核歷程移存研究筆記。
- 2026-10-10:標註影片狀態,核對錄影來源與取得方式。
- 2026-10-10:重查影片狀態。即時確認 Winter 2026 錄影需登入、公開錄影僅 2024 年版且無對應講次,維持原狀態並補上查核日期。
參考資料
Loading...