Zubnet AI學習Wiki › 模型合併
訓練

模型合併

別名:TIES、DARE、SLERP、Frankenmerge

將多個微調模型的權重組合成單一模型,無需任何額外訓練。如果模型 A 擅長程式設計而模型 B 擅長創意寫作,合併它們可以產生一個兩者都擅長的模型。流行的合併方法包括 SLERP(球面線性插值)、TIES(解決符號衝突)和 DARE(在合併前隨機丟棄參數)。

為什麼重要

模型合併是開源社群的秘密武器。它的計算成本為零(只是對權重張量的數學運算),卻能產生超越其組成部分的模型。Open LLM 排行榜上的許多頂級模型都是合併的結果。它也是實務者將多個 LoRA 微調組合成單一多功能模型的方式。理解合併為任何使用開放模型的人解鎖了一個強大的免費能力。

深度解析

最簡單的合併:線性插值。New_weight = α · A_weight + (1−α) · B_weight,其中 α 控制平衡。當模型共享相同的基礎模型(例如兩個不同的 Llama 微調)時,這種方法出乎意料地有效。合併的模型在兩個來源的行為之間進行插值。SLERP(球面線性插值)沿超球面進行插值而非線性插值,通常產生略好的結果。

任務算術

更有原則的方法:計算「任務向量」(微調模型與基礎模型之間的差異),然後將任務向量加到基礎模型上。這讓你能組合能力:基礎 + 程式設計向量 + 寫作向量 = 一個具有兩種技能的模型。TIES 透過解決任務向量之間的符號衝突(當兩個任務想要將同一權重向相反方向移動時)來改進此方法。DARE 透過隨機丟棄大部分任務向量項目來改進它,減少干擾。

為什麼有效(以及何時無效)

合併之所以有效,是因為微調通常只修改模型行為的一小部分,同時保留其大部分一般能力。不同微調的修改通常佔據參數空間的不同「區域」,衝突最小。當微調直接衝突(兩個模型被訓練為相反的行為)、基礎模型差異太大(無法合併 Llama 和 Mistral)、或某個組成部分的修改太大而主導了合併時,它就會失敗。

相關概念

← 所有術語
← 模型卡 模型崩塌 →