文献分享: 对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显著优于其它方法

相关推荐
tanyongxi6634 分钟前
C++ 特殊类设计与单例模式解析
java·开发语言·数据结构·c++·算法·单例模式
qq_5139704435 分钟前
力扣 hot100 Day76
算法·leetcode·职场和发展
Moshow郑锴1 小时前
机器学习相关算法:回溯算法 贪心算法 回归算法(线性回归) 算法超参数 多项式时间 朴素贝叶斯分类算法
算法·机器学习·回归
rannn_1111 小时前
【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
笔记·后端·学习·mysql
liulilittle1 小时前
BFS寻路算法解析与实现
开发语言·c++·算法·宽度优先·寻路算法·寻路
剪一朵云爱着2 小时前
PAT 1065 A+B and C (64bit)
算法·pat考试
喜欢吃燃面2 小时前
C++算法竞赛:位运算
开发语言·c++·学习·算法
传奇开心果编程2 小时前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
项目申报小狂人2 小时前
算法应用上新!自适应更新策略差分进化算法求解球形多飞行器路径规划问题,附完整MATLAB代码
开发语言·算法·matlab