生成 · 2020

kNN-LM

预测下一个词时,把语言模型的概率和检索到的邻近词插值。

演进中 · 使用现成模型

要解决的问题

只靠参数记忆,罕见句式和训练集里出现过的具体续写都容易丢。

相对前一代的变化

它不把检索到的文档交给另一个阅读器改写。它直接在词表上混合两路概率:模型自己的下一词分布,以及近邻语料里的下一词分布。

做法

Khandelwal 等人用当前隐藏状态在语料的隐藏状态库里找近邻。近邻对应的下一个词形成一个分布,再和语言模型的分布按权重相加。arxiv 在 2019 年 11 月,会议版本是 ICLR 2020。

局限

需要读到模型内部的隐藏状态,闭源接口做不到。语料库要存下大量向量,推理时的近邻搜索也增加延迟。

在链路中的位置

是 RAG 论文之前的一条近邻检索线,后来的黑盒 RAG 改成了把文档放进提示词。