本文是关于文章 How do Language Models Bind Entities in Context? 的笔记.
Entity Binding, 即实体绑定, 是 LLM 在上下文中将属性与实体联系起来的能力. 例如, 如下情景中, Alice
和 Bob
分别与 lives in Paris
和 lives in Bangkok
属性绑定. LLM 根据绑定好的属性进一步回答随后的问题.
1 2 Context: Alice lives in the capital city of France. Bob lives in the capital city of Thailand. Question: Which city does Bob live in?
entity binding
K
K0
K1
K2
...
E0
E0:Alice
K:K0->E0
E1
E1:Bob
K:K1->E1
A0
A0:lives in Paris
A0->K:K0
A1
A1:lives in Bangkok
A1->K:K1
entity binding
以往对 LLM 中编码的信息的解读更偏向于基元(primitive)信息. 理解 LLM 中实体绑定的机制, 有助于我们解读 LLM 中的组合(constructive)信息.
符号定义
考虑由一组 token 组成的上下文 . 在 中, 语义上有一组属性 与一组实体 绑定, 记为 对于某个 token , LLM 的每一层产生了 维的激活向量; 因此对于 在 中的表征, LLM 的激活值可以表示为 而上下文的表征则记为 对于前文 Alice lives in the capital city of France
的例子, , ,
为了进行实验, 有时需引入与上下文 (称作目标上下文)有所不同的 (称作源上下文). 有必要定义在 中进行反事实干预的记号, 即 表示从源上下文 中取得 token 的表征, 并替换掉目标上下文 中 token 的表征.
本文找到的绑定机制称作 binding ID. 具体来说, 对于上下文 中的第 个实体 和其属性 , LLM 做了以下三件事:
在 所属的 token 的激活值上编码
在 所属的 token 的激活值上编码 称作 binding ID. 这两步使得 各自与 binding ID 联系了起来.
为了回答有关 的问题, LLM 从上下文编码 中取得与 具有相同 值的属性 . 即根据 求得 , 并以此注意到编码了 的那些 对应的 token.
相应于任何假说, 都有必要据此推导出一些预测并加以实验验证. 作者预言的两项特性为
可分解性. 如果将 替换为在其它上下文下取得的 , 则可以预期模型将相信 . 这是因为属性仅仅通过 binding ID 与实体间接联系. 类似的, 如果替换实体的表征, 这一属性也成立.
位置独立性. 如果将同一上下文的 与 替换, 则模型的信念不会发生改变.
实际进行的实验考虑了两对实体与属性. 作者计算了两个上下文 上的表征, 并使用 causal mediation analysis 交换了两个上下文中的部分表征. 具体来说, 作者考虑了对 , 替换 , 以及它们的组合, 并收集了模型关于 的查询输出各属性的概率.
Context
Query
P(Paris)
P(Bangkok)
P(Rome)
P(Mumbai)
Alice lives in Paris. Bob lives in Bangkok.
Alice lives in ...
Alice lives in Paris. Bob lives in Bangkok.
Bob lives in ...
Tracy lives in Rome. John lives in Mumbai.
Tracy lives in ...
Tracy lives in Rome. John lives in Mumbai.
John lives in ...
Alice lives in Rome . Bob lives in Bangkok.
Alice lives in ...
Alice lives in Rome . Bob lives in Bangkok.
Bob lives in ...
Tracy lives in Paris. Bob lives in Bangkok.
Alice lives in ...
Tracy lives in Paris. Bob lives in Bangkok.
Bob lives in ...
Tracy lives in Paris. Bob lives in Bangkok.
Tracy lives in ...
Tracy lives in Paris. Bob lives in Bangkok.
John lives in ...
如上表所示, 模型给出的概率(红色为高)与可分解性给出的预测相符. 直接将蓝色上下文中的 Paris
的表征替换为根据绿色上下文求出的 Rome
的表征导致模型相信 Alice
住在罗马.
另一方面, 考虑到 Transformer 中, 模型对于 token 位置的感知完全基于 positional embedding, 因此也只需调整此项来"挪动" token 的位置. 这一挪动记作
作者考虑了将 的位置逐渐与 的位置交换的挪动方式:
在这一过程中, 可以绘制出模型预测各有关 token 的对数概率与 的关系. 作者发现, 尽管这些概率与 有关, 最终的结论仍然成立, 因为 改变时, 各概率同步变化, 不论某个属性是否被绑定了, 说明这一变化只是模型学到的其它 bias.
以上实验只证明了实体绑定的过程中, 存在一个中间变量; 只要实体和属性分别绑定到同一个中间变量值上, 这一对实体和属性就实现了绑定 . 然而, 这些实验尚不能确定中间变量值的形式(即 的形式). 不妨在此继续贯彻先猜想后验证的优良传统, 依据 LLM 大概率使用线性的信息编码这一先验信息, 猜测 这些双参映射是由关于两个参数的独立部分相加而成的.
在这一假设下, 是与 无关的值(实际上可能有弱相关). 这一值的实际估计可以通过对数据集采样求平均来得到, 以去除该弱相关性.
在获得了 与 后, 我们可以进一步地干涉实体绑定过程中的这个中间变量. 我们预期, 这一干涉可以使得模型认为 发生了交换, 将 和 进行绑定.