BERT的主要特点是:
双向性 :BERT在处理文本时同时考虑上下文,从左到右和从右到左进行编码。这使得模型能够更好地理解单词在句子中的语义。
Token-wise Embeddings:BERT为输入的每个token生成一个高维的向量表示(embedding),这些向量包含了该token在上下文中的信息。
“Token-wise”通常是指对文本中的每个token(即词、子词或字符等)进行独立处理和表示。
Pooling:这种汇聚过程是为了将文本的整体信息简化为一个向量表示,便于后续的分类等操作。在许多任务中,尤其是分类任务,BERT会将这些token-wise的表示汇聚(pooling)成一个单一的全局表示,通常是通过取[CLS](分类)token的表示,或者通过平均或最大池化等方式。
ColBERT是对 BERT 的一种改进,特别是在信息检索和问答系统等任务中。multi-vector representations of text and images
ColBERT的主要特点是:
保留 Token-wise Representation: 将 query 和 document tokenize,然后对 token embedding
延迟交互 :ColBERT引入了一种“延迟交互”的机制,在检索过程中,先计算每个query 的 token 表示,然后计算 query tokens 和 document tokens 之间的相似性得分。将所有这些 token 级别的最大得分相加,生成整体的 MaxSim 相关性得分,从而找出最相关的文档。
MaxSim: 每一个 query token 都与 document 中 token 计算得分,获取得分最高的 token。
虽然 late interaction 方法相对于简单的整合向量计算有更高的计算复杂度,但其线性复杂度
$O(m×n)$ 使得实际应用依然是可行的,并带来了更好的效果。
对于一个给定的 512 个 toekn 的文档,我们似乎存储了512倍的数据?
- 第一个是之前提到的降维层。
- 第二个是激进的量化:ColBERT向量可以压缩到2位,并保持超过99%的性能!
- 最近的研究表明,还可以进行小规模的池化,以进一步减少50%到75%的存储,同时几乎没有性能损失。