大模型知识编辑 easyedit
• • • • • • • • •
目录
🔔新闻
新报告
报告 | 话题 | PPT资源 |
---|---|---|
COLING2024 教程 | 大型语言模型的知识编辑 | |
VALSE2024 教程 | 大型语言模型的知识机制与编辑 | |
AAAI2024 教程 | 大型语言模型的知识编辑 |
2024-06-04,🎉🎉 已被ACL 2024 System Demonstration Track 接受。
2024-06-03,我们发布了题为论文,同时介绍了一项新的编辑任务:和相应的终身编辑方法WISE 。
2024-04-24,EasyEdit 宣布支持的 ROME 方法。建议用户将其 transformers 包更新至 4.40.0 版本。
2024-03-29,EasyEdit 引入了对 GRACE 的回滚支持,详细介绍可参考,后续更新将逐步加入对其他方式的回滚支持。
2024-03-22,发布了新论文《》,并发布了新的数据集新的解毒方法DINM 。
2024-03-12,又一篇题为《》的论文发布,介绍了一个名为的新数据集。
2024-03-01,EasyEdit 增加了对一种名为FT-M 的新方法的支持。该方法涉及使用交叉熵损失对目标答案训练特定的 MLP 层并屏蔽原始文本。它的表现优于FT-L实现。感谢问题的作者 提供的建议。
2024-02-27,EasyEdit 增加了对一种新方法的支持,技术细节在论文“ ”中提供。
上一篇新闻
大型语言模型的知识编辑综合研究 [][][]
AAAI 2024 教程 [ ] []
AACL 2023 教程 [ ] []
编辑演示
有编辑演示。GIF 文件由创建。
知识编辑
任务定义
部署的模型仍可能出现不可预测的错误。例如,众所周知,LLM会产生幻觉、延续偏见和事实衰退,因此我们应该能够调整预训练模型的特定行为。
知识编辑旨在调整基础模型的(𝐹𝜃)特定编辑描述符上的行为[𝑋埃,是埃]高效。
多重设置
单一知识编辑
评估单次编辑后模型的性能。模型在单次编辑后重新加载原始权重(例如,LoRA 丢弃适配器权重)。您应该设置sequential_edit=False
𝜃′←精氨酸分钟𝜃(‖𝐹𝜃(𝑋埃)−是埃‖)
持续知识编辑
这需要按顺序编辑,并在应用所有知识更新后进行评估:𝜃′←精氨酸分钟𝜃∑埃=1‖𝑋埃‖(‖𝐹𝜃(𝑋埃)−是埃‖)它针对特定的输入输出对进行参数调整(𝑋埃,是埃), 在哪里𝑋埃∈𝑋埃和𝐹𝜃′(𝑋埃)=是埃。 这里,𝑋埃 代表整个编辑集。要启用连续编辑,您可以设置sequential_edit=True
多场景
事实知识编辑
知识插入
- 注入LLM以前从未见过的知识。例如:
- 梅西夺得过几次世界杯? 0次 → 1:
知识更新
- 更新过时的知识。例如:
- 美国总统:唐纳德·特朗普 → 乔·拜登:
知识抹去
- 删除敏感信息。例如:
- 某人的电话号码是XXXX → __
在不影响无关样本的模型行为的情况下,最终目标是创建一个编辑模型(𝐹𝜃′)。
安全编辑**Detoxifying LLM** 致力于构建一个安全可靠的大型语言模型 (LLM)。知识编辑专注于特定领域,进行永久性调整,而不会损害整体性能。然后,通过知识编辑对 LLM 进行 Detoxifying,利用少量数据(通常是一个实例)来纠正 LLM 的毒性行为。编辑后的 LLM 可以防御各种恶意输入。[README]( )
多模态模型编辑
图像字幕和视觉问答的编辑任务。
性格编辑
鉴于个人的观点可以反映其性格特征,因此提议的任务通过编辑 LLM 对特定主题的观点来初步尝试编辑他们的性格。我们借鉴已建立的作为构建数据集和评估 LLM 性格表现的基础。
评估
基于 Logits
- ES:根据预生成文本的对数评估编辑成功率。
- DD:评估模型是否根据预生成文本的逻辑改变对其他主题的看法。
基于代际
- Acc:针对目标个性编辑模型后生成文本的准确率。
- TPEI:测量编辑模型生成的观点文本是否更倾向于目标性格。
- PAE:利用 GPT-4 评估生成文本中的性格特征。
而对于评估Acc和TPEI ,您可以从下载训练好的分类器。
不同技术的比较
评估
知识编辑过程通常会影响与编辑示例密切相关的广泛输入的预测,称为编辑范围。
成功的编辑应该在编辑范围内调整模型的行为,同时保留不相关的输入:
𝐹𝜃埃(𝑋)={是埃如果 𝑋∈我(𝑋埃,是埃)𝐹𝜃(𝑋)如果 𝑋∈哦(𝑋埃,是埃)
Reliability
:使用给定的编辑描述符进行编辑的成功率Generalization
:编辑范围内编辑的成功率Locality
:编辑不相关的输入后模型的输出是否发生变化Portability
:推理/应用编辑的成功率(单跳、同义词、逻辑概括)Efficiency
:时间和内存消耗
🌟概述
EasyEdit 是一个 Python 包,用于编辑大型语言模型 (LLM),例如、、、(GPT-J
支持从1B到65B 的模型),其目标是在特定领域内有效改变 LLM 的行为,而不会对其他输入的性能产生负面影响。它易于使用且易于扩展。LlamaGPT-NEOGPT2T5
EasyEdit 包含统一的Editor、Method和Evaluate框架,分别代表编辑场景、编辑技巧、评估方法。
每个知识编辑场景由三个部分组成:
Editor
:例如用于LM的BaseEditor(事实知识和生成编辑器),MultiModalEditor(多模态知识)。Method
:所使用的特定知识编辑技术(例如ROME、MEND等)。Evaluate
:评估知识编辑性能的 指标。Reliability
,,,,Generalization
Locality
Portability
目前支持的知识编辑技术如下:
- 基于内存:、、、、
- 元学习:、、
- 定位然后编辑:、、、、
注1:由于该工具包兼容性有限,一些知识编辑方法包括 、、 等不支持。
注2:同样,方法由于同样的原因也只得到部分支持,并且将继续得到改进。
当前实施
您可以根据具体需求选择不同的编辑方法。
方法 | T5 | GPT-2 | GPT-J | GPT-NEO | 骆驼 | 百川 | ChatGLM2 | 实习生 | 奎文 | 米斯特拉尔 |
---|---|---|---|---|---|---|---|---|---|---|
金融时报 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
安达洛拉 | ✅ | |||||||||
塞拉克 | ✅ | ✅ | ✅ | ✅ | ||||||
IKE | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
修补 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
千牛 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
罗马 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
r-罗马 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
梅米特 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
优雅 | ✅ | ✅ | ✅ | |||||||
梅洛 | ✅ | |||||||||
专职培训与培训培训 | ✅ | ✅ | ||||||||
指导编辑 | ✅ | ✅ | ||||||||
DINM | ✅ | ✅ | ✅ |
❗️❗️如果您打算使用 Mistral,请transformers
手动将库更新至 4.34.0 版本。您可以使用以下代码:pip install transformers==4.34.0
。
数据集
基准:KnowEdit
❗️❗️ 需要说明的是,KnowEdit是通过重新整理和扩展现有的数据集(包括WikiBio、ZsRE、WikiData Counterfact、 WikiData Recent、convsent、Sanitation )而构建的,以对知识编辑进行全面的评估。特别感谢这些数据集的创建者和维护者。
请注意,Counterfact 和 WikiData Counterfact不是相同的数据集。
任务 | 知识插入 | 知识修改 | 知识抹除 | |||
---|---|---|---|---|---|---|
数据集 | 维基最近 | 锌 | 维基百科 | 维基数据反事实 | 康文特 | 卫生 |
类型 | 事实 | 问答 | 幻觉 | 反事实 | 情绪 | 不需要的信息 |
# 火车 | 570 | 10,000 | 592 | 1,455 | 14,390 | 80 |
# 测试 | 1,266 | 1301 | 1,392 | 885 | 800 | 80 |
我们提供了详细的脚本以便用户轻松使用 KnowEdit,请参阅。
数据集描述
数据集结构
事实知识数据集
数据集 | Google 云端硬盘 | 百度网盘 | 描述 |
---|---|---|---|
加 | 使用问题改述的问答数据集 | ||
反事实加 | 使用实体替换的反事实数据集 |
我们提供了zsre和counterfact数据集来验证知识编辑的有效性,你可以在这里下载。,。
- 对于局部性,除了测试不相关的实例之外,我们还提供分散注意力的测试(),其他归因和其他下游任务(例如常识推理)。
- 对于可移植性,它测试模型是否可以应用已编辑的实例进行推理。我们针对单跳推理、主题别名和逆向关系(例如,配偶之间的一对一关系应进行双向编辑)提供评估。
数据集描述
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>editing-data
├── counterfact
│ ├── counterfact-edit.json
│ ├── counterfact-train.json
│ └── counterfact-val.json
├── locality
│ ├── Commonsense Task
│ │ ├── piqa_valid-labels.lst
│ │ └── piqa_valid.jsonl
│ ├── Distracting Neighbor
│ │ └── counterfact_distracting_neighbor.json
│ └── Other Attribution
│ └── counterfact_other_attribution.json
├── portability
│ ├── Inverse Relation
│ │ └── zsre_inverse_relation.json
│ ├── One Hop
│ │ ├── counterfact_portability_gpt4.json
│ │ └── zsre_mend_eval_portability_gpt4.json
│ └── Subject Replace
│ ├── counterfact_subject_replace.json
│ └── zsre_subject_replace.json
└── zsre
├── zsre_mend_eval.json
├── zsre_mend_train_10000.json
└── zsre_mend_train.json
</code></span></span></span>
- 反事实:使用实体替换的原始反事实数据集
- zsre:使用问题改述的原始问答数据集
- 局部性(局部性的评价,详见)
- 常识任务:对其他下游任务(如常识任务)的评估
- 分散注意力的邻居:对分散注意力的邻居进行测试()
- 其他归因
- 可移植性
- 逆关系:评估一对一关系,例如
spouse
- 单跳:单跳推理的评估
- 主题替换:同义词替换的评估
概念知识数据集:ConceptEdit
数据集 | Google 云端硬盘 | HuggingFace 数据集 | 描述 |
---|---|---|---|
概念编辑 | 编辑概念知识的数据集 |
- 在这里,您可以按照运行概念编辑实验。
数据集描述
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>data
└──concept_data.json
├──final_gpt2_inter.json
├──final_gpt2_intra.json
├──final_gptj_inter.json
├──final_gptj_intra.json
├──final_llama2chat_inter.json
├──final_llama2chat_intra.json
├──final_mistral_inter.json
└──final_mistral_intra.json
</code></span></span></span>
概念特定评估指标
Instance Change
:捕捉这些实例级变化的复杂性Concept Consistency
:生成的概念定义的语义相似度
多模态知识数据集:MMEdit
数据集 | Google 云端硬盘 | 百度网盘 | 描述 |
---|---|---|---|
电子集成电路 | 用于编辑图像字幕的数据集 | ||
电气工程专业 | 用于编辑视觉问答的数据集 |
- E-IC和E-VQA中使用的所有图像均可在
- 对于局部性,它与事实编辑相同,以衡量不相关的事实是否保留其输出。
- 对于多模态局部性,它评估编辑对视觉模块的影响,这与常规局部性类似。
数据集描述
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>editing-data
├── caption
│ ├── caption_train_edit.json
│ └── caption_eval_edit.json
├── locality
│ ├── NQ dataset
│ │ ├── train.json
│ │ └── validation.json
├── multimodal_locality
│ ├── OK-VQA dataset
│ │ ├── okvqa_loc.json
└── vqa
├── vqa_train.json
└── vqa_eval.json
</code></span></span></span>
- 多模态局部性(多模态局部性的评估,请参阅本文中数据集的详细)
用于净化法学硕士 (LLM) 的数据集:SafeEdit
数据集 | HuggingFace 数据集 | 描述 |
---|---|---|
安全编辑 | 用于解毒 LLM 的数据集 |
- 在这里,您可以按照运行解毒编辑实验。
数据集描述
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>data
└──SafeEdit_train.json
└──SafeEdit_val.json
└──SafeEdit_test.json
</code></span></span></span>
消除特定评估指标的毒性
Defense Duccess (DS)
:对对抗性输入(攻击性提示+有害问题)编辑后的LLM的解毒成功率,用于修改LLM。Defense Generalization (DG)
:已编辑的LLM对于域外恶意输入的解毒成功率。General Performance
:对不相关任务执行的副作用。
教程笔记本
方法 | 描述 | GPT-2 | 骆驼 |
---|---|---|---|
IKE | 情境学习(ICL) 编辑 | ||
罗马 | 定位并编辑神经元 | ||
梅米特 | 定位并编辑神经元 |
要求
🔧Pip 安装
注意:请使用 Python 3.9+ 来使用 EasyEdit。 要开始使用,只需安装 conda 并运行: git clone https://github.com/zjunlp/EasyEdit.git conda create -n EasyEdit python=3.9.7 ... pip install -r requirements.txt 解释
🐳Docker 安装
我们打包了环境,你可以下载Docker 。
从 Docker Hub 或者阿里云拉取 Docker 镜像: docker pull zjunlp/easyedit 解释 docker pull registry.cn-hangzhou.aliyuncs.com/zjunlp/easyedit:v1 解释
如果要在本地构建Docker 镜像,可以将项目克隆到本地机器并构建Docker 镜像: git clone https://github.com/zjunlp/EasyEdit.git cd EasyEdit docker build -t your-image-name . 解释
然后将 Docker 镜像作为容器运行: docker run -p 8080:80 your-image-name 解释
编辑 GPU 内存使用情况
我们的结果全部基于默认配置
骆驼-2-7B | chatglm2 | gpt-j-6b | gpt-xl | |
---|---|---|---|---|
金融时报 | 60GB | 58GB | 55GB | 7GB |
塞拉克 | 42GB | 32GB | 31GB | 10GB |
IKE | 52GB | 38GB | 38GB | 10GB |
修补 | 46GB | 37GB | 37GB | 13GB |
千牛 | 42GB | 39GB | 40GB | 12GB |
罗马 | 31GB | 29GB | 27GB | 10GB |
梅米特 | 33GB | 31GB | 31GB | 11GB |
安达洛拉 | 29GB | 24GB | 25 GB | 8GB |
优雅 | 27GB | 23GB | 6GB |
📌使用 EasyEdit
编辑大型语言模型(LLM)大约5 秒
中找到
基础编辑器
BaseEditor
是语言情态知识编辑的课程。您可以根据自己的具体需求选择合适的编辑方式。
- 由于 Transformer 版本不同、GPU 型号不同,编辑结果可能会略有波动。
通过简单例子介绍
由于的模块化和灵活性EasyEdit
,您可以轻松地使用它来编辑模型。
步骤1:定义一个PLM作为需要编辑的对象。 选择需要编辑的PLM 。目前支持在EasyEdit
上检索的部分模型(T5
、GPTJ
、GPT-NEO
)。相应的配置文件目录为,例如,设置相应的以选择要进行知识编辑的对象。LlaMAhparams/YUOR_METHOD/YOUR_MODEL.YAMLhparams/MEND/gpt2-xl.yamlmodel_name
model_name: gpt2-xl model_class: GPT2LMHeadModel tokenizer_class: GPT2Tokenizer tokenizer_name: gpt2-xl model_parallel: false # true for multi-GPU editing 解释
步骤2:选择合适的知识编辑方法 ## In this case, we use MEND method, so you should import `MENDHyperParams` from easyeditor import MENDHyperParams ## Loading config from hparams/MEMIT/gpt2-xl.yaml hparams = MENDHyperParams.from_hparams('./hparams/MEND/gpt2-xl') 解释
步骤3:提供编辑描述符和编辑目标 ## edit descriptor: prompt that you want to edit prompts = [ 'What university did Watts Humphrey attend?', 'Which family does Ramalinaceae belong to', 'What role does Denny Herzig play in football?' ] ## You can set `ground_truth` to None !!!(or set to original output) ground_truth = ['Illinois Institute of Technology', 'Lecanorales', 'defender'] ## edit target: expected output target_new = ['University of Michigan', 'Lamiinae', 'winger'] 解释
步骤4:将它们组合成一个BaseEditor
EasyEdit
提供简单统一的 init 方法Editor
,例如 huggingface: from_hparams。 ## Construct Language Model Editor editor = BaseEditor.from_hparams(hparams) 解释
Step5:提供评估数据 注意,portability 和 locality 的数据都是可选的(设置为 None 仅用于基本编辑成功率评估)。两者的数据格式都是dict,对于每个测量维度,你需要提供相应的 prompt 和它对应的 ground truth。以下是数据示例: locality_inputs = { 'neighborhood':{ 'prompt': ['Joseph Fischhof, the', 'Larry Bird is a professional', 'In Forssa, they understand'], 'ground_truth': ['piano', 'basketball', 'Finnish'] }, 'distracting': { 'prompt': ['Ray Charles, the violin Hauschka plays the instrument', 'Grant Hill is a professional soccer Magic Johnson is a professional', 'The law in Ikaalinen declares the language Swedish In Loviisa, the language spoken is'], 'ground_truth': ['piano', 'basketball', 'Finnish'] } } 解释
在上面的例子中,我们评估了有关“邻里”和“分散注意力”的编辑方法的性能。
步骤6:编辑和评估 完成!我们可以对您要编辑的模型进行编辑和评估。该edit
函数将返回一系列与编辑过程相关的指标以及修改后的模型权重。[sequential_edit=True
用于持续编辑] metrics, edited_model, _ = editor.edit( prompts=prompts, ground_truth=ground_truth, target_new=target_new, locality_inputs=locality_inputs, sequential_edit=False # True: start continuous editing ✈️ ) ## metrics: edit success, rephrase success, locality e.g. ## edited_model: post-edit model 解释
EasyEdit 的最大输入长度为 512。如果超出此长度,您将遇到错误“CUDA 错误:设备端断言已触发”。您可以在以下文件中修改最大长度:
步骤 7:回滚 在连续编辑中,如果您对某次编辑的结果不满意,并且不想丢失之前的编辑,则可以使用回滚功能撤消之前的编辑。目前,我们仅支持 GRACE 方法。您只需编写一行代码,使用 edit_key 即可撤消您的编辑。
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>editor.rolllback('edit_key')
</code></span></span></span></span>
解释
在 EasyEdit 中,我们默认使用 target_new 作为 edit_key
评估
我们将返回指标指定为dict
格式,包括编辑前后的模型预测评估。对于每次编辑,它将包括以下指标:
rewrite_acc
→ 可靠性rephrase_acc
→ 概括locality
→ 位置portablility
→ 可移植性 { "post": { "rewrite_acc": , "rephrase_acc": , "locality": { "YOUR_LOCALITY_KEY": , //... }, "portablility": { "YOUR_PORTABILITY_KEY": , //... }, }, "pre": { "rewrite_acc": , "rephrase_acc": , "portablility": { "YOUR_PORTABILITY_KEY": , //... }, } } 解释- 对于可靠性的评估,只需要提供相应的编辑
prompts
和剪辑即可target_new
。 - 为了进行泛化评估,
rephrase_prompts
是必需的。 - 对于Locality和Portablility的评估,需要定义相应度量的名称,以及
prompts
和ground_truth
。
注意:长度需要等于编辑提示
培训师
- 基于元学习:
MEND
- 基于内存的路由:
SERAC
对于上述编辑方法,需要对相应的元网络或分类器进行预训练。因此,在 EasyEdit 中,我们提供了统一的框架来预训练相关的网络结构。以训练 MEND 为例:
- 步骤1和步骤2与上面的例子相同,涉及选择合适的编辑模型和编辑方法。
步骤3:提供编辑训练集 目前支持且可用的数据集有:zsre
和counterfact
()。请将它们放在“data”目录中,并初始化dataset_class(ZsreDataset
对于zsre和CounterFactDataset
对于counterfact)以加载相应的训练集。 train_ds = ZsreDataset('./data/zsre_mend_train.json', config=training_hparams) eval_ds = ZsreDataset('./data/zsre_mend_eval.json', config=training_hparams) 解释
步骤4:将它们组合成Trainer
trainer = EditTrainer( config=training_hparams, train_set=train_ds, val_set=eval_ds ) 解释
步骤5:运行并编辑 完成!我们可以进行运行和评估。 trainer.run() 解释
- 运行: 将
CHECKPOINT
保存到路径results_dir
。 - 编辑:将hparams文件
archive
中的字段设置为,EasyEdit会在编辑过程中自动加载相应的预训练权重()。CHECKPOINT
训练示例 from easyeditor import EditTrainer, MENDTrainingHparams, ZsreDataset training_hparams = MENDTrainingHparams.from_hparams('hparams/TRAINING/MEND/llama-7b.yaml') train_ds = ZsreDataset('./data/zsre/zsre_mend_train.json', config=training_hparams) eval_ds = ZsreDataset('./data/zsre/zsre_mend_eval.json', config=training_hparams) trainer = EditTrainer( config=training_hparams, train_set=train_ds, val_set=eval_ds ) trainer.run() 解释
使用 EasyEdit 与 KnowEdit
数据集
KnowEdit 是法学硕士知识编辑的基准数据集。你可以从 HuggingFace、HuggingFace 和 ModelScope 轻松获取 KnowEdit。
数据集 | 拥抱脸 | 拥抱脸 | 模型范围 |
---|---|---|---|
知道编辑 |
用法
我们提供了详细的脚本以便用户轻松使用 KnowEdit,请参阅。
编辑表现
我们展示了使用 EasyEdit在上对四个指标的编辑结果。我们采用作为测试数据集。
❗️❗️编辑llama-2-7B
需要 GPU 上有 40G+ VRAM。(OOM)
可靠性 | 概括 | 位置 | 可移植性 | |
---|---|---|---|---|
金融时报 | 56.94 | 52.02 | 96.32 | 51.03 |
塞拉克 | 99.49 | 99.13 | 100.00 | 57.82 |
IKE | 100.00 | 99.98 | 69.19 | 67.56 |
修补 | 94.24 | 90.27 | 97.04 | 56.95 |
千牛 | 28.95 | 28.43 | 65.43 | 37.18 |
罗马 | 92.45 | 87.04 | 99.63 | 57.47 |
梅米特 | 92.94 | 85.97 | 99.49 | 60.64 |
进行KnowEdit 编辑的结果。
数据集 | 公制 | 塞拉克 | 冰 | 安达洛拉 | 修补 | 罗马 | 梅米特 | FT-L | 金融时报 |
---|---|---|---|---|---|---|---|---|---|
WikiData_recent | |||||||||
編輯成功。 | 98.68 | 60.74 | 65.61 | 76.88 | 85.08 | 85.32 | 71.18 | 31.24 | |
可移植性 | 63.52 | 36.93 | 47.22 | 50.11 | 37.45 | 37.94 | 48.71 | 15.91 | |
位置 | 100.00 | 33.34 | 55.78 | 92.87 | 66.2 | 64.78 | 63.7 | 3.65 | |
流利度 | 553.19 | 531.01 | 537.51 | 586.34 | 574.28 | 566.66 | 549.35 | 428.67 | |
锌 | |||||||||
編輯成功。 | 99.67 | 66.01 | 69.86 | 96.74 | 96.57 | 83.07 | 54.65 | 36.88 | |
可移植性 | 56.48 | 63.94 | 52.95 | 60.41 | 52.20 | 51.43 | 45.02 | 8.72 | |
位置 | 30.23 | 23.14 | 72.21 | 92.79 | 27.14 | 25.46 | 71.12 | 0.31 | |
流利度 | 410.89 | 541.14 | 532.82 | 524.33 | 570.47 | 559.72 | 474.18 | 471.29 | |
维基百科 | |||||||||
編輯成功。 | 99.69 | 95.53 | 97.02 | 93.66 | 95.05 | 94.29 | 66.27 | 95.64 | |
位置 | 69.79 | 47.90 | 57.87 | 69.51 | 46.96 | 51.56 | 60.14 | 13.38 | |
流利度 | 606.95 | 632.92 | 615.86 | 609.39 | 617.25 | 616.65 | 604.00 | 589.22 | |
WikiData_counterfact | |||||||||
編輯成功。 | 99.99 | 69.83 | 72.14 | 78.82 | 83.21 | 83.41 | 51.12 | 26.78 | |
可移植性 | 76.07 | 45.32 | 55.17 | 57.53 | 38.69 | 40.09 | 39.07 | 16.94 | |
位置 | 98.96 | 32.38 | 66.78 | 94.16 | 65.4 | 63.68 | 62.51 | 0.29 | |
流利度 | 549.91 | 547.22 | 553.85 | 588.94 | 578.84 | 568.58 | 544.80 | 483.71 | |
转换信 | |||||||||
編輯成功。 | 62.75 | 52.78 | 44.89 | 50.76 | 45.79 | 44.75 | 49.50 | 61.93 | |
位置 | 0.26 | 49.73 | 0.18 | 3.42 | 0.00 | 0.00 | 0.00 | 0.00 | |
流利度 | 458.21 | 621.45 | 606.42 | 379.43 | 606.32 | 602.62 | 607.86 | 546.24 | |
卫生 | |||||||||
編輯成功。 | 0.00 | 72.50 | 2.50 | 0.00 | 85.00 | 48.75 | 0.00 | 60.00 | |
位置 | 100.00 | 56.58 | 65.50 | 5.29 | 50.31 | 67.47 | 14.78 | 42.61 | |
流利度 | 416.29 | 794.15 | 330.44 | 407.18 | 465.12 | 466.10 | 439.10 | 351.39 |
❗️❗️请注意,如果您希望在 Knowedi 上重现有关罗马的结果,请确保fp16: False
。
去做
引用
如果您在工作中使用 EasyEdit,请引用我们的论文。 @article{zhang2024comprehensive, title={A Comprehensive Study of Knowledge Editing for Large Language Models}, author={Zhang, Ningyu and Yao, Yunzhi and Tian, Bozhong and Wang, Peng and Deng, Shumin and Wang, Mengru and Xi, Zekun and Mao, Shengyu and Zhang, Jintian and Ni, Yuansheng and others}, journal={arXiv preprint arXiv:2401.01286}, year={2024} } @article{wang2023easyedit, title={Easyedit: An easy-to-use knowledge editing framework for large language models}, author={Wang, Peng and Zhang, Ningyu and Xie, Xin and Yao, Yunzhi and Tian, Bozhong and Wang, Mengru and Xi, Zekun and Cheng, Siyuan and Liu, Kangwei and Zheng, Guozhou and others}, journal={arXiv preprint arXiv:2308.07269}, year={2023} } @article{yao2023editing, title={Editing Large Language Models: Problems, Methods, and Opportunities}, author={Yao, Yunzhi and Wang, Peng and Tian, Bozhong and Cheng, Siyuan and Li, Zhoubo and Deng, Shumin and Chen, Huajun and Zhang, Ningyu}, journal={arXiv preprint arXiv:2305.13172}, year={2023} } @article{cheng2023edit, title={Can We Edit Multimodal Large Language Models?}, author={Cheng, Siyuan and Tian, Bozhong and Liu, Qingbin and Chen, Xi and Wang, Yongheng and Chen, Huajun and Zhang, Ningyu}, journal={arXiv preprint arXiv:2310.08475}, year={2023} } @article{mao2023editing, title={Editing personality for llms}, author={Mao, Shengyu and Zhang, Ningyu and Wang, Xiaohan and Wang, Mengru and Yao, Yunzhi and Jiang, Yong and Xie, Pengjun and Huang, Fei and Chen, Huajun}, journal={arXiv preprint arXiv:2310.02168}, year={2023} } @misc{knowlm, author = {Ningyu Zhang and Jintian Zhang and Xiaohan Wang and Honghao Gui and Kangwei Liu and Yinuo Jiang and Xiang Chen and Shengyu Mao and Shuofei Qiao and Yuqi Zhu and Zhen Bi and Jing Chen and Xiaozhuan Liang and Yixin Ou and Runnan Fang and Zekun Xi and Xin Xu and Lei Li and Peng Wang and Mengru Wang and Yunzhi Yao and Bozhong Tian and Yin Fang and Guozhou Zheng and Huajun Chen}, title = {KnowLM Technical Report}, year = {2023}, url = {http://knowlm.zjukg.cn/}, }