EasyEdit2:浙江大學團隊開發的實時LLM編輯導向框架
EasyEdit2是什么?
EasyEdit2是浙江大學團隊開發的易于使用的LLM編輯導向框架,與 EasyEdit 不同,它能在推理時實時導向大語言模型,通過可插拔導向向量實現測試時控制、無需訓練,具備可調節性和可組合性,可應用于安全、情感、個性等多種場景。其架構包含數據集、方法、向量庫和評估模塊四個核心組件,使用時按準備訓練數據、生成導向向量、應用到模型、驗證結果四個步驟操作。
功能特點
實時控制:EasyEdit2 通過可插拔的操控向量,在模型推理階段實現實時、無需訓練的控制。
即插即用:用戶無需修改模型權重,即可無縫應用或移除操控方法。
易用性:用戶無需深厚技術背景,僅需一個示例,即可有效引導和調整模型響應。
可調節性與組合性:用戶可以精確調整干預強度和方向,并結合多種操控技術,實現細粒度控制。
多樣化應用場景:支持多種測試時干預功能,涵蓋安全性、情感傾向、個性特征、推理模式、事實準確性及語言特性等方面。
核心模塊
操控向量生成器(Steering Vector Generator):自動生成操控向量,用于影響模型行為。
操控向量應用器(Steering Vector Applier):將生成的操控向量應用到模型中,以實現對模型行為的調整。
應用場景
安全性:抵御越獄攻擊、減少社會偏見、降低隱私泄露風險。
情感傾向:控制模型輸出的情感從消極轉向積極。
個性特征:定制模型的個性。
推理模式:干預推理過程,防止過度思考。
事實準確性:更新模型知識,保持其知識的時效性。
語言特性:定制語言風格以滿足特定需求。
使用方法
準備訓練數據,如定義訓練數據集和生成數據集。
使用BaseVectorGenerator生成導向向量。
通過BaseVectorApplier將向量應用到模型,并生成導向后的輸出。
驗證導向后的模型輸出結果,使用完后可重置模型。
常見問題
問:EasyEdit2 與 EasyEdit 的主要區別是什么?
答:EasyEdit 通過更新內部參數或引入額外參數實現知識編輯,而 EasyEdit2 能在推理時實時導向大語言模型,且無需重新訓練,通過可插拔導向向量實現多種控制功能。
問:EasyEdit2 如何實現對大語言模型的多場景應用?
答:EasyEdit2 利用其可調節性和可組合性,通過控制干預強度和組合多種導向技術,針對不同場景需求對模型進行調整。例如在安全場景加強安全性,在情感場景調整模型情感等。
問:EasyEdit2 使用過程中涉及哪些核心類和配置文件?
答:使用過程中涉及BaseVectorGenerator和BaseVectorApplier這兩個核心類,分別用于生成導向向量和應用向量;還涉及配置文件,如使用OmegaConf.load('./hparams/Steer/config.yaml')加載配置。
相關鏈接
項目主頁:https://zjunlp.github.io/project/EasyEdit2
GitHub倉庫:https://github.com/zjunlp/EasyEdit
arXiv:https://arxiv.org/abs/2504.15133
Hugging Face:https://huggingface.co/papers/2504.15133