- 来源:NAACL 21
- 结构:danqi
- 任务:LAMA
- 动机:设计了更好的找 prompt 的方法;证明以前找 prompt 的方法都有问题
- 更好的找 prompt 的方法:LAMA 之后,大家开始找更好的 prompt。咋找?无论方法是啥,都是在别的 factual knowledge 数据上找到一个最好的 prompt。AUTOPROMPT 是设计 m 个空,梯度下降找出最好的 token 作为 prompt 结果。本文更加直接,不要 token,就直接梯度下降得到向量,作为 prompt 结果。实验也是,评测指标有提升
- 但是以前找 prompt 的方法合理吗?原来是假设,在别的 fact 上训练找 prompt,并不会学到什么知识,因此训练出来的 prompt 还可以用来 probe PLM 的知识。优化 prompt 的方法,是在 wikidata 上做的,虽然不包含 LAMA 要测的知识,但是分布是一个分布,这会让 prompt 学到什么与 fact 相关的 regularity 吗?
- 直接基于训练 prompt 的数据,训练一个 input 句子 output object 的模型,发现在有的 relation 上就能有很好的预测 object 结果 -> 训练数据里,就有 relation 和 object 的 correlations
- 为了探究 prompt 是否学到上述的 correlation,又来一组对照试验:① Random Model:全部参数随机初始化,这样一来,LAMA 预测正确全都依靠 Prompt 学的 correlation ② Random Embedding:MLM head 随机初始化,前面的参数留着
- 发现在这两种 setting 下,本文提出的方法都会在 LAMA 有成功案例,说明 these prompts exploit both class statistics and correlations between objects and subject tokens。直接用这些样本 finetune,效果更好。(那这不就是在说 prefix tuning 不行吗?(也可能是任务之间的差异))
- 接下来,就按照能不能被上面这几个实验中,各种简化的模型预测出来,将数据集分成简单的跟难的。只有在难的上面,probing 才算是管用(但其实也很难说)
- 关于题目,discussion 中有一段在说,以后应该整个更有因果关系的方法来找 plm 中的知识,而不是直接 benchmark。一开始还以为题目中的 recall 是指标,原来题目中的 learning 指的是整个 learn prompt + probe,learning to recall 指的是 probe 呀