文献分享: 对ColBERT段落多向量的剪枝——基于学习的方法

原论文

1. 导论 & \textbf{\&} &方法

1️⃣要干啥:在 ColBERT \text{ColBERT} ColBERT方法中,限制每个段落要保留的 Token \text{Token} Token的数量,或者说对段落 Token \text{Token} Token进行剪枝

2️⃣怎么干:注意以下方法都是整合进 ColBERT \text{ColBERT} ColBERT训练的顶层池化层,而非在后期交互中进行改进

  1. 前 k k k位置 Token \text{Token} Token:只保留每个段落的前 k k k个 Token \text{Token} Token
  2. 前 k k k罕见 Token \text{Token} Token:选择段落中最罕见的 k k k个 Token \text{Token} Token,所谓罕见的 Token \text{Token} Token即 IDF \text{IDF} IDF高的 Token \text{Token} Token
  3. 前 k k k闲置 Token \text{Token} Token:在段落前添加 k k k个特殊 Token \text{Token} Token,这些 Token \text{Token} Token在 BERT \text{BERT} BERT词汇表中标为闲置(unused),最终只保留这 k k k个 Token \text{Token} Token
  4. 前 k k k得分 Token \text{Token} Token:用预训练模型的最后一层注意力机制给所有 Token \text{Token} Token一个注意力评分,选取注意力机制最高的 k k k个 Token \text{Token} Token
    • 注意力张量: P = { p 1 , p 2 , . . . , p m } P\text{=}\{p_1,p_2,...,p_m\} P={p1,p2,...,pm}的注意力为三维张量 A ( h , i , j ) A(h,i,j) A(h,i,j),表示在 h h h头注意力机制中 p i p_i pi与 p j p_j pj二者的注意力相关性
    • 注意力评分:以 p i p_i pi为例,其注意力评分为每个注意力头中与 p i p_i pi有关行的总和,即 a ( q i ) = ∑ h = 0 h max ⁡ ∑ j = 0 m A ( h , i , j ) a(q_i)\text{=}\displaystyle{}\sum_{h=0}^{h_{\max}}\sum_{j=0}^{m}A(h,i,j) a(qi)=h=0∑hmaxj=0∑mA(h,i,j)

2. \textbf{2. } 2. 实验概要

1️⃣训练方法: ColBERT \text{ColBERT} ColBERT使用 Mini-LM \text{Mini-LM} Mini-LM时无需归一化和查询扩展,大幅降低计算成本​

2️⃣检索性能:当 k = 50 k\text{=}50 k=50时,剪枝可减少 30% \text{30\%} 30%的段落索引,并且性能减少极小( nDCG@10 \text{nDCG@10} nDCG@10减小 0.01 \text{0.01} 0.01)

3️⃣方法对比:当普通剪枝( k =50 k\text{=50} k=50)时方法 1&3 \text{1\&3} 1&3最佳,剧烈剪枝( k =10 k\text{=10} k=10)时方法 3 3 3显著优于其它方法

相关推荐
uhakadotcom21 分钟前
BentoML远程代码执行漏洞(CVE-2025-27520)详解与防护指南
后端·算法·面试
_x_w23 分钟前
【16】数据结构之基于树的排序算法篇章
开发语言·数据结构·python·算法·链表·排序算法
无际单片机编程28 分钟前
嵌入式软件OTA升级,有哪几种Flash划分方式?
单片机·嵌入式硬件·学习·嵌入式
西门吹雪分身38 分钟前
Redis之RedLock算法以及底层原理
数据库·redis·算法
米小葱43 分钟前
【图解】系统设计学习笔记
笔记·学习
小叶爱吃鱼1 小时前
python-各种文件(txt,xls,csv,sql,二进制文件)读写操作、文件类型转换、数据分析代码讲解
前端·javascript·python·学习
pumpkin845141 小时前
学习笔记十二——Rust 高阶函数彻底入门(超详细过程解析 + 每步数值追踪)
笔记·学习·rust
viperrrrrrrrrr71 小时前
大数据学习(107)-sql中case使用场景
大数据·sql·学习
一路向北he1 小时前
杰理10k3950温度测量
java·数据结构·算法
华清远见成都中心1 小时前
如何成为一名嵌入式软件工程师?
学习·嵌入式·华清远见