多媒體系統・MS-115 日間部・Week 08-0
模型怎麼學,又怎麼用?
第八章的 LoRA 要「凍結權重 W,只學 ΔW」。在那之前,先弄清楚權重是什麼、訓練在改什麼、推論時為什麼權重不會變,以及大語言模型和 RAG 怎麼運作。下面每個實驗都可以直接動手改。
實驗 1・0.1–0.2
一個神經元:這張圖像小藍嗎?
小藍的特徵是短黑髮、圓眼鏡、深藍帽T。神經元把每個特徵乘上權重、加起來、再加偏差值 b,最後用 Sigmoid 壓到 0~1。
輸入 x(圖片的特徵程度)
權重 w 與偏差 b(模型學到的數字)
加權總和 z
像小藍的機率 σ(z)
動手:把 x₂ 拉到 0(拿掉眼鏡),機率掉多少?再把 w₂ 改成 0.2,拿掉眼鏡還有影響嗎?權重大的特徵,就是神經元最在乎的特徵。
實驗 2・0.3
一層網路 = 一張權重表
三個神經元並排,各有一排權重,排起來就是矩陣 W。輸出 y = Wx + b。第八章 LoRA 要凍結的就是這種 W。
動手:把網路改成 768-3072-768(類似語言模型裡的一個區塊),參數一下子變多少?每一個都只是表裡的一個數字。
總參數(權重+偏差)
其中權重
實驗 3・0.4
訓練:往 Loss 變小的方向走
橫軸是某一個權重的值,縱軸是 Loss。每一步看斜率(梯度),往下坡走一小步。學習率決定一步多大。
動手:先猜:學習率 0.01 走 20 步會到谷底嗎?再試 0.9。從 w = 2.5 出發,模型可能卡在哪裡?
0
步數
目前的 w
Loss
實驗 4・0.4
考得好,就是真的會嗎?
實心點是訓練資料,空心點是模型沒看過的驗證資料。模型越複雜(多項式次數越高),越能貼著訓練點走,但不一定猜得準新的點。
動手:把次數拉到 12,看訓練誤差和驗證誤差怎麼變。再把訓練資料加到 60,過擬合有改善嗎?
訓練誤差
驗證誤差
實驗 5・0.6–0.7
大語言模型:預測下一個 Token
這是一個用 24 句課程句子訓練的玩具語言模型,只看前一個詞來猜下一個(Bigram)。真正的 LLM 看得更長、模型大得多,但推論的迴圈相同:算機率、挑一個、接上去、再預測。
動手:點右邊的機率條自己選下一個詞。把 Temperature 調到最低,每次生成都一樣嗎?調到最高呢?推論時模型的權重(這張機率表)有沒有變?
實驗 6・0.8
RAG:先查資料,再回答
模型的權重裡沒有這學期的課程規定。RAG 先從講義裡找出最相關的段落,和問題一起放進 Prompt。下面的講義段落是示例資料。
動手:把第 1 段的截止時間改掉,再問一次。答案跟著變了,模型有重新訓練嗎?再問「期末專題幾個人一組?」,檢索有找對段落嗎?
不用 RAG:模型只能依訓練時讀過的文字接下去,可能回答「W08 要繳交三張海報和一份心得」。看起來合理,但是編的。
實驗 7・0.9
該用哪一種方式?
先用便宜的方法,不夠再往下一層。讀每個情境,選最先該試的做法。