arXiv'23-CAGRA: Highly Parallel

2023-09-05  本文已影响0人  Caucher

作者来自英伟达

编者:本文只介绍图结构,GPU部分暂时省略。

编者的总结(图结构方面)

  1. 是NSSG的一个改版,用一个K较大的KNN-Graph做初始化,然后在其中通过两条绕路性进行排序,裁掉2/3的边;然后与反向图merge,固定留一半的反向边增强导航性。
  2. 相比之下,NSSG用两条邻居做candiate,用RNG裁边;反向边的加入和正向边同等待遇进入裁边;最终有DFS加入补充连通性。
  3. candidate选取和裁边规则的改动可能是有并行性和构建效率的考虑,对反向边的bias可能主要考虑DFS去掉了,且没有二跳邻居进来,就多加一些长边。
  4. CPU性能和NSSG差不多。

编者的思考

  1. 加了反向边之后SCC几乎就是只有1个,意味着是一个连通图,但搜索精度似乎并没有显著提高,和note那一篇结论不一致。
  2. 作者提了两个连通性的metric,2跳可达度和SCC的个数,但是并没有证明这两个metric和query性能之间的联系,即连通度是如何起作用的。
  3. 这两个metric对于NSSG是什么样子并不清楚。如果CAGRA在这两个指标上比NSSG要好,那么查询性能为什么没提高?如果CAGRA和NSSG差不多,那么新提出来的方法意义何在?若意义是构建效率和并行性,那就应该证明CAGRA和NSSG的构建结果的相似性保障。
  4. 尽管作者没有证明,但编者觉得2跳可达度是一个不错的metric,它代表了逃离cluster的能力。

CAGRA图是以KNN图作为base进行Refine,refine分成两步,prune和merge:


image.png

1. prune

2. merge

3. evalution

上一篇 下一篇

猜你喜欢

热点阅读