𝗟𝗘𝗠𝗨𝗥 𝗶𝘀 𝘁𝗵𝗲 𝗺𝘂𝗹𝘁𝗶-𝘃𝗲𝗰𝘁𝗼𝗿 𝘀𝘁𝗿𝗮𝘁𝗲𝗴𝘆 𝘁𝗵𝗮𝘁 𝗹𝗼𝗼𝗸𝘀 𝗲𝗮𝘀𝗶𝗲𝘀𝘁 ...

TL;DR · AI 摘要
LEMUR 多向量策略存在长度偏差问题,可能导致文档排序不准确,需通过长度均衡采样等方法优化。
核心要点
- LEMUR 在长度敏感模型中可能导致文档排序偏向长文档,而非相关性。
- LoTTE 数据集的长度差异高达 400 倍,加剧了 LEMUR 的长度偏差问题。
- 建议对数据集进行长度和可分性检查,必要时使用 TokenANN 或 MUVERA 替代 LEMUR。
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- LEMUR 多向量策略问题
- 长度偏差问题
- 标签基于 MaxSim 分数
- 模型学习长度与得分关系
- LoTTE 数据集问题
- 文档长度差异高达 400 倍
- 解决方案
- 长度均衡采样
- 使用 TokenANN 或 MUVERA 替代
金句 / Highlights
值得收藏与分享的关键句。
LEMUR 的标签基于 MaxSim 分数,导致模型学习到长度与得分的关系,而非相关性。
LoTTE 数据集文档长度差异高达 400 倍,加剧了 LEMUR 的长度偏差问题。
建议对数据集进行长度和可分性检查,必要时使用 TokenANN 或 MUVERA 替代 LEMUR。
Milvus on X: "𝗟𝗘𝗠𝗨𝗥 𝗶𝘀 𝘁𝗵𝗲 𝗺𝘂𝗹𝘁𝗶-𝘃𝗲𝗰𝘁𝗼𝗿 𝘀𝘁𝗿𝗮𝘁𝗲𝗴𝘆 𝘁𝗵𝗮𝘁 𝗹𝗼𝗼𝗸𝘀 𝗲𝗮𝘀𝗶𝗲𝘀𝘁 𝘁𝗼 𝗮𝗱𝗼𝗽𝘁 — 𝗻𝗼 𝘁𝘂𝗻𝗶𝗻𝗴, 𝗱𝗮𝘁𝗮-𝗱𝗿𝗶𝘃𝗲𝗻, 𝗰𝗼𝗺𝗽𝗿𝗲𝘀𝘀𝗲𝘀 𝘆𝗼𝘂𝗿 𝗺𝘂𝗹𝘁𝗶-𝘃𝗲𝗰𝘁𝗼𝗿𝘀 𝗶𝗻𝘁𝗼 𝘀𝗶𝗻𝗴𝗹𝗲 𝘃𝗲𝗰𝘁𝗼𝗿𝘀 𝗼𝗻 𝗶𝘁𝘀 𝗼𝘄𝗻. 𝗕𝘂𝘁 https://t.co/fcOSUcZuJY" / X
Milvus
@milvusio
𝗟𝗘𝗠𝗨𝗥 𝗶𝘀 𝘁𝗵𝗲 𝗺𝘂𝗹𝘁𝗶-𝘃𝗲𝗰𝘁𝗼𝗿 𝘀𝘁𝗿𝗮𝘁𝗲𝗴𝘆 𝘁𝗵𝗮𝘁 𝗹𝗼𝗼𝗸𝘀 𝗲𝗮𝘀𝗶𝗲𝘀𝘁 𝘁𝗼 𝗮𝗱𝗼𝗽𝘁 — 𝗻𝗼 𝘁𝘂𝗻𝗶𝗻𝗴, 𝗱𝗮𝘁𝗮-𝗱𝗿𝗶𝘃𝗲𝗻, 𝗰𝗼𝗺𝗽𝗿𝗲𝘀𝘀𝗲𝘀 𝘆𝗼𝘂𝗿 𝗺𝘂𝗹𝘁𝗶-𝘃𝗲𝗰𝘁𝗼𝗿𝘀 𝗶𝗻𝘁𝗼 𝘀𝗶𝗻𝗴𝗹𝗲 𝘃𝗲𝗰𝘁𝗼𝗿𝘀 𝗼𝗻 𝗶𝘁𝘀 𝗼𝘄𝗻. 𝗕𝘂𝘁
𝗶𝘁 𝗰𝗮𝗻 𝗾𝘂𝗶𝗲𝘁𝗹𝘆 𝘀𝘁𝗮𝗿𝘁 𝗿𝗮𝗻𝗸𝗶𝗻𝗴 𝗯𝘆 𝗱𝗼𝗰𝘂𝗺𝗲𝗻𝘁 𝗹𝗲𝗻𝗴𝘁𝗵 𝗶𝗻𝘀𝘁𝗲𝗮𝗱 𝗼𝗳 𝗿𝗲𝗹𝗲𝘃𝗮𝗻𝗰𝗲. 𝗟𝗼𝗧𝗧𝗘, 𝗝𝗶𝗻𝗮-𝗖𝗼𝗹𝗕𝗘𝗥𝗧-𝘃𝟮: 📈 𝗘𝘅𝗮𝗰𝘁 𝗠𝗮𝘅𝗦𝗶𝗺 — nDCG@10 = 0.722, R@100 = 98% 📉 𝗟𝗘𝗠𝗨𝗥 — nDCG@10 = 0.109, R@100 = 30.5% 𝗪𝗵𝘆? 𝗜𝘁'𝘀 𝗻𝗼𝘁 𝗮𝗻 𝗶𝗺𝗽𝗹𝗲𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗼𝗻 𝗯𝘂𝗴 — 𝗶𝘁'𝘀 𝗮 𝗹𝗲𝗻𝗴𝘁𝗵 𝗯𝗶𝗮𝘀 𝗯𝗮𝗸𝗲𝗱 𝗶𝗻𝘁𝗼 𝗵𝗼𝘄 𝗟𝗘𝗠𝗨𝗥 𝘁𝗿𝗮𝗶𝗻𝘀. LEMUR's labels are MaxSim scores — for a sampled vector, its highest inner product against any token in a document. A longer document has more tokens, so it's more likely to hold a high value regardless of relevance, a pure statistical effect. The MLP learns "longer scores higher" instead of "more relevant scores higher," and the ranking follows length. 𝗜𝘁 𝗼𝗻𝗹𝘆 𝗯𝗿𝗲𝗮𝗸𝘀 𝘄𝗵𝗲𝗻 𝘁𝘄𝗼 𝘁𝗵𝗶𝗻𝗴𝘀 𝗹𝗶𝗻𝗲 𝘂𝗽: • First, a length-sensitive model, which comes with high separability. On Jina, docs under 50 tokens average a MaxSim of 0.492; docs over 1,000 average 0.666 — a 0.174 gap the model assigns to length alone. • Second, heavy length variance. LoTTE runs 10 to 4,109 tokens, about a 400x range. 𝗟𝗼𝗧𝗧𝗘 𝗵𝗮𝘀 𝗯𝗼𝘁𝗵, 𝗮𝗻𝗱 𝗶𝘁 𝗳𝗮𝗶𝗹𝘀 𝗮𝘁 𝗰𝗼𝗺𝗽𝗿𝗲𝘀𝘀𝗶𝗼𝗻, 𝗻𝗼𝘁 𝗿𝗲𝗿𝗮𝗻𝗸𝗶𝗻𝗴 — 𝗠𝗮𝘁𝗵 𝗥@𝟭𝟬𝟬 𝘁𝗵𝗲𝗿𝗲 𝗶𝘀 𝟮𝟰.𝟳%, 𝘀𝗼 𝘁𝗵𝗲 𝗿𝗶𝗴𝗵𝘁 𝗱𝗼𝗰𝘂𝗺𝗲𝗻𝘁𝘀 𝗮𝗿𝗲 𝗱𝗿𝗼𝗽𝗽𝗲𝗱 𝗳𝗿𝗼𝗺 𝘁𝗵𝗲 𝗰𝗮𝗻𝗱𝗶𝗱𝗮𝘁𝗲 𝘀𝗲𝘁 𝗯𝗲𝗳𝗼𝗿𝗲 𝗿𝗲𝗿𝗮𝗻𝗸𝗶𝗻𝗴 𝗰𝗮𝗻 𝗵𝗲𝗹𝗽. 𝗧𝗵𝗲 𝗰𝗼𝗻𝘁𝗿𝗼𝗹 𝗿𝘂𝗻𝘀 𝗶𝘀𝗼𝗹𝗮𝘁𝗲 𝘁𝗵𝗲 𝗰𝗮𝘂𝘀𝗲: For length-uniform data (SciFact): same LEMUR behaves normally — 0.651 vs BruteForce 0.719. For a low-separability model (AnswerAI on LoTTE): unaffected — R@100 91.5%. 𝗧𝘄𝗼 𝗰𝗵𝗲𝗰𝗸𝘀 𝗳𝗼𝗿 𝘆𝗼𝘂𝗿 𝗼𝘄𝗻 𝗰𝗼𝗿𝗽𝘂𝘀: → 𝗟𝗲𝗻𝗴𝘁𝗵: if P90/P10 is under 5 it's fairly uniform and LEMUR is usually safe; over 20 (LoTTE is ~400), be cautious. → 𝗦𝗲𝗽𝗮𝗿𝗮𝗯𝗶𝗹𝗶𝘁𝘆: sample ~1,000 token vectors, take the std of their MaxSim scores. Under 0.08 is low, LEMUR is safe; over 0.12 is high — use TokenANN or MUVERA. 𝗜𝗳 𝘆𝗼𝘂'𝗿𝗲 𝗮𝗹𝗿𝗲𝗮𝗱𝘆 𝗰𝗼𝗺𝗺𝗶𝘁𝘁𝗲𝗱 𝘁𝗼 𝗟𝗘𝗠𝗨𝗥, 𝗹𝗲𝗻𝗴𝘁𝗵-𝗯𝗮𝗹𝗮𝗻𝗰𝗲𝗱 𝘀𝗮𝗺𝗽𝗹𝗶𝗻𝗴 𝗵𝗲𝗹𝗽𝘀: 𝘀𝘁𝗿𝗮𝘁𝗶𝗳𝘆 𝗯𝘆 𝗹𝗲𝗻𝗴𝘁𝗵 (𝟬–𝟭𝟬𝟬, 𝟭𝟬𝟬–𝟯𝟬𝟬, 𝟯𝟬𝟬–𝟭,𝟬𝟬𝟬, >𝟭,𝟬𝟬𝟬 𝘁𝗼𝗸𝗲𝗻𝘀) 𝗮𝗻𝗱 𝗱𝗿𝗮𝘄 𝗲𝗾𝘂𝗮𝗹 𝘀𝗮𝗺𝗽𝗹𝗲𝘀 𝗽𝗲𝗿 𝗯𝗮𝗻𝗱. 𝗜𝘁 𝘄𝗲𝗮𝗸𝗲𝗻𝘀 𝘁𝗵𝗲 𝗹𝗲𝗻𝗴𝘁𝗵 𝘀𝗶𝗴𝗻𝗮𝗹 𝘄𝗶𝘁𝗵𝗼𝘂𝘁 𝗳𝘂𝗹𝗹𝘆 𝗿𝗲𝗺𝗼𝘃𝗶𝗻𝗴 𝗶𝘁.
3:30 PM · Jun 11, 2026
125
Views
2