[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fQmaL91QXhCnnpUcxkEowZTAVE_z4rpg1XMMXq5jHdhM":3},{"item":4,"related":44},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":35,"sourceName":36,"sourceUrl":37,"status":38,"seoTitle":7,"seoDescription":9,"canonicalUrl":35,"isFeatured":39,"sno":40,"sortOrder":41,"publishedAt":42,"updatedAt":43,"createdAt":43},"3eee805c-a6c6-438b-b41c-bb67359211f6","article","HNSW：向量数据库怎样在“小世界图”里快速找相似项？","hnsw-approximate-nearest-neighbor-search","HNSW 把向量组织为多层可导航图，从稀疏高层逐步下探到局部候选区域，以较少距离计算近似查找邻居。本文讲解图搜索原理，以及召回率、延迟、构建和内存之间的权衡。","向量检索常见的问题是：给定一个查询向量，怎样从数百万条向量中快速找出最相似的若干条？逐个计算距离当然准确，但数据一大就很慢。HNSW（Hierarchical Navigable Small World）是一种近似最近邻索引，把向量组织成多层图，通过图上的导航快速接近目标区域。\n\n在每一层里，节点代表数据向量，边连接一部分邻居。高层节点较稀疏，像地图上的高速公路入口；底层覆盖更多数据，连接也更细。查询时，算法从高层某个入口开始，沿着能让查询距离变小的边逐步移动；到达当前层的局部区域后，再下降到下一层继续搜索，最后在底层候选集合附近做更细致的比较。\n\n这种“小世界”结构的直觉，是很多节点之间虽然并不直接相连，却能通过少数几跳到达；层级设计进一步提供长距离跳转与局部精查的组合。与线性扫描相比，HNSW 往往能用较少的距离计算找到相当接近真实最近邻的候选，适合语义搜索、图像相似检索和推荐系统等高维向量任务。\n\n“近似”意味着它不承诺每次都找到数学上真正最近的邻居。索引构建时的连接策略、查询时探索候选数量等参数，会在召回率、速度和内存占用之间形成取舍。搜索更广通常能提高召回，却增加延迟；索引图连得更密，查询可能更容易导航，但会占更多空间，构建也更费时。\n\nHNSW 的索引通常需要在内存中保存向量或其访问结构与邻居链接，所以大规模部署要认真估算内存。数据持续更新时，也要考虑插入、删除、重建和过滤条件对索引质量的影响。它是向量数据库常见的索引方法之一，但并非所有维度、数据分布和延迟目标下都最合适。\n\n可以把它想成在陌生城市找一家店：先走高速路到大致街区，再换小路靠近门牌；不必逐一访问全城每栋建筑，但有时会错过真正最近的那一家。HNSW 的核心调参问题也很类似：愿意多走多少步，来换取更有把握的结果？因此评估时应以实际数据测量召回率、延迟、构建成本和内存，而不是只看“用了 HNSW”这个标签。\n\n来源：[Malkov 与 Yashunin：Efficient and robust approximate nearest neighbor search using HNSW](https:\u002F\u002Fvigna.di.unimi.it\u002Falgoweb\u002Fhnswg.pdf)","\u002Fuploads\u002F2026-10-13\u002Feb9f9a0c-fcbb-4323-86ea-58d5ca17c9f2.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31],{"id":24,"name":25,"slug":26},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":28,"name":29,"slug":30},"88d2bc27-0e0f-468a-b907-2991cb97b87b","人工智能","ai",{"id":32,"name":33,"slug":34},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",null,"HNSW Research Paper","https:\u002F\u002Fvigna.di.unimi.it\u002Falgoweb\u002Fhnswg.pdf","published",false,47,0,"2026-10-13T00:00:00.000Z","2026-10-13T02:14:06.187Z",[45,54,62],{"id":46,"type":6,"title":47,"slug":48,"summary":49,"coverUrl":50,"authorName":14,"sno":51,"publishedAt":52,"createdAt":53},"872963cd-242c-4912-a3dc-9497386d4772","Certificate Transparency：TLS 证书为什么要公开留日志？","certificate-transparency-public-audit-logs","证书透明度通过公开、可验证的日志提升 TLS 证书签发的可观察性。本文说明监控者如何发现意外证书，也厘清 CT 不会自动阻止误发。","\u002Fuploads\u002F2026-10-06\u002Fa2b8f9d0-fb90-4f19-ae2b-22cdebd395f2.jpg",43,"2026-10-06T00:00:00.000Z","2026-10-06T07:51:39.208Z",{"id":55,"type":6,"title":56,"slug":57,"summary":58,"coverUrl":59,"authorName":14,"sno":60,"publishedAt":42,"createdAt":61},"0d29aae9-204d-474e-8eaf-e7ba96fc8064","FlashAttention：注意力计算没变，为什么显卡能少搬很多数据？","flashattention-io-aware-transformer-attention","FlashAttention 通过分块计算与在线 softmax 减少 GPU 显存往返，并避免物化完整注意力矩阵。本文解释它为何加速长序列训练，同时指出密集注意力的二次计算量并未消失。","\u002Fuploads\u002F2026-10-13\u002Faf2e6109-e447-48bf-9729-874072603e3a.jpg",50,"2026-10-13T02:14:02.226Z",{"id":63,"type":6,"title":64,"slug":65,"summary":66,"coverUrl":67,"authorName":14,"sno":60,"publishedAt":68,"createdAt":69},"f00e5274-8e0b-40fe-af3b-b6a8d0183b9c","一张贴纸就能骗过视觉 AI？对抗样本不是魔法","adversarial-examples-fool-visual-ai","人眼仍能认出的物体，经过精心设计的微小扰动或标记后，机器却可能改变判断。这类输入称为对抗样本。本文解释攻击者如何利用模型的决策边界，现实攻击为何比实验更难，以及为什么目前不存在一劳永逸的防御。","\u002Fuploads\u002F2026-09-08\u002F151f887b-c5f1-4647-b369-cdda8a1e1b4f.jpg","2026-09-03T00:00:00.000Z","2026-08-14T03:06:09.765Z"]