2024-02-26 闲话
Plug-and-Play Knowledge Injection for Pre-trained Language Models
设计了 “plug - and - play” 的 paradigm。下文记作 pap 范式
主打 map-tuning。
有一个通用 LLM(我的理解是掌握了语义能力) P 微调得到的 LLM D(能独立应付一些 down-stream task 比如情感分析等等),B 是知识库,我们希望训练一个知识插件 M 实现 D 在inference 时能有效使用 B 中的知识。显然 M 的体量极其小,否则直接微调 D 即可。
这里当然有 constraints:对于通用的 pap,我们不希望 M 在训练中见过来自 D 的信息,也不希望 M 中的信息在训练过程中被 D 见过;对于 task-specific 的 pap,我们可以允许 M 见到过来自 D 的信息,但是训练 M 的过程中需要保证 D 的参数是 frozen 的。
叫 map-tuning 的原因其实是对 input sequence 做了一些手脚。在 inference 过程中,我们将 input sequence (token 序列 )中找到若干区间 ,将它们和 B 中的“知识 ” Match 起来,也就是说用 M 将知识映射为一个向量,然后 换成 ,这里 是一个特殊字符,表示分割。对 input sequence 增强之后再喂给模型 D 来 complete down stream task.
M 选择的是 E-BERT。由于我对 BERT 确实是不太懂,所以在阅读的时候又遇到了很多障碍,相信学 BERT 之后能明白。
注意一下这个论文的标题,这个主要是“知识插入”,所以其实就是一个增强 input 的过程,或者说把其中的名词看看能不能在 Wikipedia 中找到知识,挂靠到 input 中。读 github code 的时候遇到了很多障碍,后来再回看这篇文章的目的就得到了解答
还是花了很多时间去完整理解这个文章,有点菜了/wul
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律