BERT(Bidirectional Encoder Representations from Transformers)

BERT的主要特点是:

  1. 双向性 :BERT在处理文本时同时考虑上下文,从左到右和从右到左进行编码。这使得模型能够更好地理解单词在句子中的语义。

  2. Token-wise Embeddings:BERT为输入的每个token生成一个高维的向量表示(embedding),这些向量包含了该token在上下文中的信息。

    “Token-wise”通常是指对文本中的每个token(即词、子词或字符等)进行独立处理和表示。

  3. Pooling:这种汇聚过程是为了将文本的整体信息简化为一个向量表示,便于后续的分类等操作。在许多任务中,尤其是分类任务,BERT会将这些token-wise的表示汇聚(pooling)成一个单一的全局表示,通常是通过取[CLS](分类)token的表示,或者通过平均或最大池化等方式。

传统向量搜索

ColBERT(Contextualized Late Interaction over BERT)

ColBERT是对 BERT 的一种改进,特别是在信息检索和问答系统等任务中。multi-vector representations of text and images

ColBERT的主要特点是:

  1. 保留 Token-wise Representation: 将 query 和 document tokenize,然后对 token embedding

  2. 延迟交互 :ColBERT引入了一种“延迟交互”的机制,在检索过程中,先计算每个query 的 token 表示,然后计算 query tokens 和 document tokens 之间的相似性得分。将所有这些 token 级别的最大得分相加,生成整体的 MaxSim 相关性得分,从而找出最相关的文档。

    MaxSim: 每一个 query token 都与 document 中 token 计算得分,获取得分最高的 token。

    MaxSim: 每一个 query token 都与 document 中 token 计算得分,获取得分最高的 token。

    虽然 late interaction 方法相对于简单的整合向量计算有更高的计算复杂度,但其线性复杂度

    $O(m×n)$ 使得实际应用依然是可行的,并带来了更好的效果。

对于一个给定的 512 个 toekn 的文档,我们似乎存储了512倍的数据?

image.png

image.png