Course 不是 Undergraduate Research.
Plug-and-Play Knowledge Injection for Pre-trained Language Models
建议以后写完文章拿 ChatGPT 跑一遍语法错误
metioned 不是 mentions 谢谢。
设计了 “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 序列 \(w_1,\dots w_n\))中找到若干区间 \([l_1,r_1]\dots [l_k,r_k]\),将它们和 B 中的“知识 \(e_1,\dots e_k\)” Match 起来,也就是说用 M 将知识映射为一个向量,然后 \(\forall p\in[1,k],w_{l_p},\dots w_{r_p}\) 换成 \(M(e_p),/ w_{l_p} \dots w_{r_p}\)。对 input sequence 增强之后再喂给模型 D 来 complete down stream task.
现在问题就是:
-
知识如何 embedding。
-
embedding 的知识怎么用 M 映射。
-
\([l_1,r_1]\dots [l_k,r_k]\) 怎么选择,怎么实现它们和 B 中知识的 matching