生成式AI時代下的機器學習 — 模型合併與模型編輯

生成式AI時代下的機器學習 — 模型合併與模型編輯

生成式AI時代下的機器學習 — 模型合併與模型編輯

一、 核心概念:Model Merging (模型合併)

Model Merging 是一種神奇的技術,目標是將多個已針對不同專長進行微調(post-training)的模型能力結合起來,而且不需要進行額外訓練。

  1. 任務向量 (Task Vector): 模型合併的核心在於「任務向量」。任務向量是模型在微調後,其參數相對於原始基礎模型(Foundation Model)的差異。這個參數差異向量代表了模型額外訓練出來的特定能力,例如某種語言能力或特定領域的知識。

• 計算方式: 假設 θ 是基礎模型參數,θB​ 是微調後的模型參數,則任務向量 TB​=θB​−θ。

• 前提條件: 此技術成立的前提是,所有要合併的模型 (θA​,θB​ 等) 都必須是從同一個基礎模型 fine-tune 出來的,這樣它們的網路架構才能一致。

  1. 運作機制與優勢: Model Merging 的步驟非常簡單:計算任務向量 TB​,然後將其直接加到另一個模型 θA​ 上,即 θA​+TB​,即可得到一個同時擁有 A 和 B 兩種能力的新模型。

• 這種方法僅涉及參數的加減,因此不需要耗費額外的算力來進行後續訓練,運算資源需求極少。

• 這在 Post-training 時代尤其重要,因為大家共用如 Llama 系列等知名的 Foundation Model,使能力合併成為可能。

  1. 應用方式: 任務向量的運用方式涵蓋了相加、相減和類比:

• 任務向量相加 (Combining Capabilities): 可用於結合兩種獨立的能力。例如,透過計算並結合代表中文能力的 Task Vector 和代表 Alignment (安全對齊) 能力的 Task Vector,來創建一個既能用中文回答,又保有 Safety Alignment 能力的模型。

• 任務向量相減 (Machine Unlearning/機器遺忘): 反過來,將任務向量 TB​ 減去 θ 的模型,可以讓模型失去任務 B 的能力。這被稱為 Machine Unlearning,可用來消除模型不該擁有的知識(例如受版權保護的內容或不當言論)。

• 任務向量類比 (Analogy): 即使沒有任務 D 的資料,若已知 A 之於 B 等於 C 之於 D,則可以透過計算 TD​=θC​+TB​−TA​ 的方式,無中生有地讓模型具備任務 D 的能力。例如,可用來校正語音辨識模型,使其在特定領域的表現如同用真實語音訓練過一樣。

  1. 成功的關鍵: Model Merging 並不總是會成功。實驗結果顯示,以下因素會提高成功率:

• 參數不重疊: 如果兩個任務 (A 和 B) 所修改的參數(權重)差異很大,彼此之間沒有互相干擾,那麼合併較容易成功。進階技術如 DARE 或 TIES 傾向於讓每個任務只改動少量的參數,以減少交集。

• 模型大小: 模型越大,合併後的結果越好。較大的模型可能具有更專業化的功能,減少互相干擾。

二、 核心概念:Model Editing (模型編輯)

Model Editing 旨在為模型植入特定的單一知識。

  1. 與 Post-training 的區別: Model Editing 的目標是植入知識(例如「現任美國總統是誰」)。這與一般 Post-training 不同,Post-training 通常是讓模型學習需要較大改變的新技能(例如新語言、工具使用或推理)。直接使用 Post-training 來編輯知識很困難,因為通常訓練資料只有一筆,很容易導致模型遺忘其他原有技能。

  2. 評量編輯成效的三個面向: 評量模型編輯是否成功,需要考慮三個維度:

• 可靠性 (Reliability): 欲修改的目標必須達成。

• 泛化性 (Generalization): 即使輸入有些許改變(如使用同義句/paraphrase),輸出仍應依目標而改變。

• 區域性 (Locality): 其他無關的輸入不應被改動。

  1. 模型編輯的兩大方法:

A. 不改變參數的方法: 這類方法不會動到模型的權重。

• In-Context Knowledge Editing (IKE): 由於模型可能不相信你直接提供的單一新知識,IKE 透過在輸入中提供範例,示範如何使用新知識(包括如何達成可靠性、泛化性,以及如何維持區域性),從而讓模型接受並應用新的資訊。

B. 改變參數的方法: 這類方法直接修改模型的神經網路參數。

• Romes (Rank-One Model Editing): 這是由人類決定如何編輯參數的代表性方法。它分為兩步:

  1. 定位: 找出神經網路中與欲編輯知識最相關的部分。

  2. 手術: 使用數學公式進行參數修改。Romes 透過求解一個包含「確保編輯目標 (Reliability)」和「確保不被改動 (Locality)」的條件的方程,找到一個具有 Rank 1 特性的矩陣(這也是其名稱的由來),將其加到原始參數上以完成編輯。Romes 的優點是具有封閉形式解 (close form solution),無需使用梯度下降 (gradient descend) 即可更新參數。

• Hypernetwork (超網路) / AI 外科醫生: 透過使用另一個獨立的模型(Hypernetwork, f)來擔任「AI 外科醫生」,負責決定如何編輯目標模型 (θ) 的大腦。

  1. Hypernetwork 接收編輯指令(例如「誰是美國總統? → 川普」)。

  2. Hypernetwork 輸出一個編輯向量 E。

  3. 將 E 加到目標模型 θ 上,使其輸出符合編輯目標。

  4. 為了簡化訓練難度,實際做法通常是讓 Hypernetwork 接收梯度 (gradient G) 作為輸入,然後輸出經過校正的編輯向量 E。

比喻總結:

如果將基礎模型想像成一輛具備基本功能的汽車,那麼 Model Merging 就像是將針對特定任務設計的升級套件(Task Vector,例如越野輪胎或競速引擎)直接「隨插即用」地安裝到同型號汽車上,讓汽車立即獲得新的複合能力,且無需重新訓練駕駛。

而 Model Editing 則像對汽車的導航系統進行微創手術,只為了更新一個特定的地標資訊(例如,某座塔的名稱從 A 改為 B),同時確保這項更改不會影響到其他地標的儲存位置或導航功能。

參考資料

【生成式AI時代下的機器學習(2025)】

Comments

Loading comments…

Leave a Comment