当前位置: 首页 > news >正文

文献分享: ConstBERT固定数目向量编码文档

😂图放这了,大道至简的 idea \text{idea} idea不愧是 ECIR \text{ECIR} ECIR

image-20250305212409686

👉原论文

1. ConstBERT \textbf{1. ConstBERT} 1. ConstBERT的原理

1️⃣模型的改进点:相较于 ColBERT \text{ColBERT} ColBERT为每个 Token \text{Token} Token生成一个向量, ConstBERT \text{ConstBERT} ConstBERT只为段落生成固定 C C C个向量

  1. 嵌入阶段:为查询 Q Q Q和段落 P P P的每个 Token \text{Token} Token都生成一个 d d d维向量,是为 { q 1 , … , q N } \{q_{1},\ldots,q_{N}\} {q1,,qN} { p 1 , … , p M } \{p_{1},\ldots,p_{M}\} {p1,,pM}
  2. 线性变换:拼接所有段落单向量为 [ p 1 , ⋯ , p M ] ∈ R d M \left[p_{1},\cdots,p_{M}\right]\text{∈}\mathbb{R}^{dM} [p1,,pM]RdM,进行 W ∈ R M k × C k \mathbf{W}\text{∈}\mathbb{R}^{Mk\text{×}Ck} WRMk×Ck投影得 [ δ 1 , ⋯ , δ C ] = W T [ p 1 , ⋯ , p M ] ∈ R d C \left[\delta_{1},\cdots, \delta_{C}\right]\text{=}\mathbf{W}^{T}\left[p_{1},\cdots,p_{M}\right]\text{∈}\mathbb{R}^{dC} [δ1,,δC]=WT[p1,,pM]RdC
  3. 后期交互:同 ColBERT \text{ColBERT} ColBERT,为每个 q i q_i qi找到与其内积最大的 MaxSim ( q i , δ ) = δ p i \text{MaxSim}(q_i,\delta)\text{=}\delta_{p_i} MaxSim(qi,δ)=δpi,最后将所有 MaxSim \text{MaxSim} MaxSim相加得到相似度评分

2️⃣改进的动机:为何非要固定数目的段落向量

  1. 存储效率上:设定 C < M C\text{<}M C<M后,能降低段落嵌入所占的空间
  2. 计算效率上:设定 C < M C\text{<}M C<M后,将原有 O ( M N ) O(MN) O(MN)的查询复杂度降为了 O ( C N ) O(CN) O(CN)
  3. 系统级优化:使得内存对齐,规避了变长文档表示导致内存碎片化,从而降低了 Cache Miss \text{Cache Miss} Cache Miss

2. ConstBERT \textbf{2. ConstBERT} 2. ConstBERT的实验结果

1️⃣效果:当 C = 32 C\text{=}32 C=32时,在 MsMarco/BEIR \text{MsMarco/BEIR} MsMarco/BEIR等数据集上,查询效果与 ColBERT \text{ColBERT} ColBERT相当(用 MRR@10/nDCG@10 \text{MRR@10/nDCG@10} MRR@10/nDCG@10衡量)

2️⃣效率:相比 ColBERT \text{ColBERT} ColBERT对段落的存储空间需求减少了一半多,端到端检索响应速度也显著加快

http://www.lryc.cn/news/547180.html

相关文章:

  • 学习记录-用例设计编写
  • 学习工具的一天之(burp)
  • el-tree右键节点动态位置展示菜单;el-tree的节点图片动态根据节点属性color改变背景色;加遮罩层(opacity)
  • K8s 1.27.1 实战系列(一)准备工作
  • 说一下SpringBoot3新特新和JDK17新特性
  • Linux系统服务安全检测手记
  • 鸿蒙与DeepSeek深度整合:构建下一代智能操作系统生态
  • [创业之路-329]:华为铁三角实施的步骤
  • 1.15-16-17-18迭代器与生成器,函数,数据结构,模块
  • java面向对象(详细讲解)
  • 代码随想录二刷|图论2
  • 毕业项目推荐:基于yolov8/yolov5/yolo11的暴力行为检测识别系统(python+卷积神经网络)
  • 服务器CPU微架构
  • 用本地浏览器打开服务器上使用的Tensorboard
  • Nginx或Tengine服务器配置SSL证书
  • 【基础4】插入排序
  • 2安卓开发的主要语言
  • Python练习(握手问题,进制转换,日期问题,位运算,求和)
  • vtk 3D坐标标尺应用 3D 刻度尺
  • 蓝桥杯每日一题:第一周周四哞叫时间
  • DeepSeek本地接口调用(Ollama)
  • 自由学习记录(41)
  • 【编写UI自动化测试集】Appium+Python+Unittest+HTMLRunner​
  • 大模型如何协助知识图谱进行实体关系之间的分析
  • 推荐几款优秀的PDF转电子画册的软件
  • 【大模型技术】LlamaFactory 的原理解析与应用
  • Golang依赖注入实战:从容器管理到应用实践
  • Node.js二:第一个Node.js应用
  • 【Python爬虫】利用代理IP爬取跨境电商AI选品分析
  • 生命周期总结(uni-app、vue2、vue3生命周期讲解)