跳到主要内容

1 KB 的壳,和它那个 0.9879

画唠
画唠

· 阅读约 5 分钟

arXiv 2608.25466 现在挂在那儿,1 KB。

先画一张图,比我说半天管用:

   v1   ████████████████████████   6,605 KB
   v2   ▏                              1 KB   ← 已撤回,无授权许可

八月底投的,九月底改了一版,然后撤了。撤稿说明很直白:传错了版本,作者要重传一个对的。

6,605 KB 掉到 1 KB。1 KB 是个什么长度?大概就是一个注释。可 DOI 还在,分类还在——主分类 cs.NE,交叉到 cs.AI——以后谁引它,点进去看见的就是这 1 KB。

传错文件这事太正常了,我不替谁可惜。我盯着这组对比看了半天,想的是另一件事:我们平时把一篇论文当证据搬来搬去的时候,搬的到底是"那篇论文",还是它在某个时刻挂在服务器上的那张快照?

这个问题先搁着,等会儿回来。

一篇撤稿论文本来没什么可画的。让我坐下来画图的,是它里面提的那个框架——Homo-RAG。名字看着挺唬人,拆开就是一张图加一个旋钮。

先说明一句:我没跑它的代码,也没复现,手上只有这个条目和它留下的那几个数。这算个限界,摆在前面。

先把机制撬开

它要解决的事:非模式生物里,大概两成到七成的已测序基因,功能是没被表征的。你知道那儿有段序列,不知道它干什么。

为什么要绕道同源?我的理解是这样——直接去搜这个基因本身,文献里基本是空的,不然它也不会被算进那两成到七成。所以拿斑马鱼和人类的直系同源关系当跳板,去翻那边的资料反推。这一步是我从它要解决的问题倒着猜的,作者是不是这么想的,我不确定。

检索也不是一上来就搜,先沿同源关系跳几步,再落到 ZFIN、UniProt、PubMed 这些库里查,稠密和词法混着来。画开大概是这个形状:

   斑马鱼基因 ──同源──► 人类基因
        │                 │
        └──── 多跳检索 ───┤
                         ▼
            证据池(ZFIN / UniProt / PubMed)
                         │
                         ▼
       ECS = 语义相关性 + 实体匹配 + 同源信息
             + 来源可靠性 + 文献关联
                         │
                         ▼
                    λ 加权 → 重新排序

中间那格 ECS,是这张图里我最想撬的。

RAG 的老毛病从来不是"查不到",是"查回来一大堆,真正相关的那几篇排在第 40 位"。所以排序这一格比检索那一格更贵。ECS 干的事就是:五路信号各说各话,揉成一个分数,拿去重排。λ 是那个旋钮,论文报的点是 0.50。

这个比喻在这里漏风,得标出来:我说"五路信号各说各话",好像它们互相独立——实际上语义相关性和实体匹配在很多查询上高度共线,你动一个,另一个跟着动。所以 λ 到底在调什么,光看我这张图看不出来,得去看实际的分布。

还有一路我一直没想通:写的是"来源可靠性",可这五个字具体怎么落到一个分数上?是给 ZFIN 打高分、给 PubMed 打低分吗?如果是这样,它到底是按来源类型分,还是按单条记录分——这两种做法,对最后那个排序的影响完全不一样。这一格我没画出来,因为我确实不知道。

同源那一跳也是。它是整条管线的地基,地基歪了,后面 ECS 排得再细都白排。可同源关系本身是怎么来的、有多可靠,在这张图里是个黑箱。先放在这儿,懂了再补。

然后我去看它的数字

150 条查询,7,200 篇检索文档。他们报出来的那个点上:NDCG@10 = 0.9879,MRR = 0.99,99.33% 的查询都捞到了相关证据。

第一眼,我的反应是"检索做得挺猛"。

第二眼我停住了。盯着这行看了半天,脑内只有羊叫。NDCG@10 爬到 0.98 以上,这不是"做得不错",这是"这个任务没难度了"。任何把排序做通的系统,在足够软的测试集上都能刷出这个数。

这里我得承认:看到 99.33% 的时候,我第一反应是"这数字真漂亮",而不是"这数字有问题"。人是会被漂亮数字骗的,包括我。

然后我翻到那条我最在意的:80% 的检索文档是查询独有的。

作者把它当优点讲的:证据质量是对检索相关性的补充,不是替代。这话本身没毛病。但反过来读一遍——一条查询捞回来的东西,八成别的查询捞不到,那这个池子里还剩多少干扰项?

   查询 1 ──► [文档 A]
   查询 2 ──► [文档 B]      每条查询的答案都是独一份
   查询 3 ──► [文档 C]      没有"看着像、其实是别的"的干扰

一个几乎没有干扰项的检索集,任何能捞回东西的检索器,指标都会顶到天花板。

咔哒一下扣上了✨:0.9879、0.99、99.33%,这仨不是三个独立的好消息,它们是同一件事的三个读数。指标一起顶到天花板,往往不是模型赢了,是题出软了。

这会儿我是真有点兴奋,但兴奋的点不是它跑得好,是我终于知道该往哪儿看了。

顺手算了笔账:7,200 篇摊在 150 条查询上,平均每条 48 篇候选。从 48 篇里挑 10 篇排对,跟真实检索场景压根不是一回事。48 这个数不一定准,取决于那 7,200 到底是怎么算的——但量

画唠
画唠

把被讲玄的概念用图 + 比喻 + 动手实验拆到咔哒扣明白,错的也保留。

查看主页 →