1.备战SISAP 2025挑战:调研2024挑战

简介

紧张刺激的SISAP 2025 challenge发布了,此博客用于记录备战的一些准备,思路和实验。

25年挑战介绍

详细信息参考SISAP Indexing challenge 2025

Task 1:内存受限索引

这项任务要求参与者开发具有reranking(重排,就是说保证knn结果是有序的)功能的内存高效索引解决方案。每个解决方案都将在内存和存储资源有限的Linux容器中运行。

  • 容器限制:8个虚拟CPU,16GB运存,数据库只读(意味着容器内的程序可以访问并读取数据集,但无法对数据进行任何修改或写入操作)
  • 整个任务(包括构建和测试)时间限制:12小时
  • 最小平均召回率要求:0.7
  • 数据集:PUBMED23 (2300 万个384维向量) with out-of-distribution queries (测试时的查询数据不服从数据集的分布,不是从数据集中采样的)
  • 目标:找到每个查询对象的 k=30 个最近邻
    • 用在16个不同搜索超参数上得到的最佳吞吐量衡量每个团队的最终得分。(满足基本要求后比的是吞吐量/效率)
    • 提供11,000个查询目标用于开发、测试
    • 最终提交评估用的是10,000个新的查询目标

Task 2:K-NN图构建(也称为 metric self-join 度量自连接)

在这项任务中,参与者被要求开发内存高效的索引解决方案构建出k=15的k近邻图。每个解决方案都将在内存和存储资源有限的Linux容器中运行。

  • 容器限制:8个虚拟CPU(应该可以看作8核,不考虑超线程),16GB运存,数据库只读
  • 时间限制:12小时
  • 最小平均召回率:0.8
  • 数据集:GOOAQ(300 万个384维向量)
  • 目标:通过数据集构建K-NN近邻图
    • 通过与提供的golden standard(标准K-NN近邻图)进行比较(计算召回率),模型间也会比较时间损耗(包括预处理、索引、搜索和后处理)
    • 提供开发数据集;评估阶段将使用相同神经模型计算的类似大小的未公开数据集

参与、注册

  • 在 GitHub 仓库 注册。
  • 提交的解决方案需通过 Docker 容器运行,并提供操作指南

重要日期

  • 提交解决方案截止日期:6月6日

  • 短论文提交截止日期:6月13日

  • 排名公告:7月1日

24 VS 25

这里调研了24年的挑战,汲取一下前届参赛者的经验

挑战任务简介

  • 任务 1:不受限制的索引构建,12小时构建时间,目标是实现最高的搜索性能

  • 任务 2:内存受限的索引构建(带重新排序),8核32GB RAM,24小时构建时间,要求在有限的内存和存储资源下优化性能

  • 任务 3:内存受限的索引构建(无重新排序),不限CPU核数64GB RAM,12小时构建时间,强调在更高内存容量下直接优化索引性能

25的索引挑战要求带重新排序,8核36GB RAM,12小时构建时间,更严格。

区别

方面SISAP 2024SISAP 2025
任务数量3个任务2个任务
核心挑战注重不同内存限制条件和是否重新排序的要求强调资源受限环境中的索引构建和KNN近邻图构建
数据集1亿个CLIP描述符,来源自LAION数据库PUBMED23(2300万个向量)和GOOAQ(300万个向量)
召回率要求任务1和任务2为0.8,任务3为0.4任务1为0.7,任务2为0.8
方向聚焦传统的KNN搜索除了KNN搜索外还有K最近邻图构建

24年挑战总览

完成挑战的一共有五个项目(算上官方提供的baseline):BL-SearchGraph, DEGLIB, HSP, HIOB, LMI
以下效果都是私有查询集下的结果(out-of-distribution),也就是说在提供的查询集下达到标准并不意味着在别的查询集依然可以完成挑战。

2024任务1任务2任务3
效果24task124task2task3
评价DEGLIB 和 LMI 团队超过了任务指定的0.8且DEGLIB取得最佳LMI超时,BL-SearchGraph和HIOB均未达到0.8的要求DEGLIB、HIOB 和 LMI达到要求,DEGLIB更快,LMI更准

总结

  • DEGLIB基于crEG(论文中为了加速增添限制使得丢失动态特性,成为静态构图,构建出类似MRNG近邻图,BS搜索)结合MLP压缩特征向量,有涉及到选点来加速,可以看出在内存限制不太严的时候,速度是很快的,限制内存会影响该模型的召回率,所以可提升的方向在于空间利用率
  • BL-SearchGraph基于NSW增量式构建方法(动态构图,构建出类似KNN近邻图,BS搜索),搜索时在原有基础上引入了一个超参数Δ和动态K机制来调整模型效果
  • HSP是一种HNSW的版本(构建出类似MRNG近邻图,有局部单调性,BS搜索),采用逻辑多层结构来构建但是物理上并没有分层,准确率上可能好于HNSW,但是在构建时间和速度上不及HNSW
  • LMI采用ML方式学出来索引,优点是查询效率随召回率升高下降少且如果可以构建出来应该可以满足召回率要求,缺点是查询效率较低以及可能构建时间较长
  • HIOB采用Sketching Techniques(摘要技术),利用映射后的二进制表示并对其分组来约减,采用汉明距离

杂记

前面三种方法都是基于近邻图的方法:

  • 采用邻居图来构建索引,其中节点代表数据点,边表示相似数据点间的连接。
  • 使用贪心搜索进行查询,从某个点出发,沿着最接近查询点的边移动。
  • 通过优化图结构(如削减冗余边)提高搜索速度和准确性。

与传统方法对比

  • 局部敏感哈希(LSH):基于哈希函数将相似数据映射到相同桶中,加速搜索,但受限于高维数据的稀疏性。
  • 产品量化(Product Quantization, PQ):对数据进行量化以减少存储和计算开销,如SCANN优化了PQ的损失函数以提升搜索质量。
  • 层次化导航小世界图(HNSW):构建多层次索引,提高搜索效率,但索引构建成本较高。
  • 素描技术(Sketching techniques):在计算机科学中指的是利用数据摘要(sketch)来进行高效计算,将高维数据转换成紧凑的低维表示,在保持数据重要特性的同时减少计算和存储成本。既不同于 LSH 也不同于 PQ,但与 LSH 关系更近。它是一种更广义的近似计算方法,既可以用于近似最近邻搜索,也可以用于流数据处理、统计计算等场景。
技术主要思想适用场景计算复杂度存储需求
Sketching Techniques使用紧凑数据摘要(sketch)来近似计算近似查询、数据压缩、流处理
LSH(局部敏感哈希)通过哈希函数映射相似数据到相同桶中高维最近邻搜索、数据查重
PQ(产品量化)将数据向量量化为低维子空间的索引高维向量搜索、压缩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34664.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA学习(二)——实现LED流水灯

FPGA学习(二)——实现LED流水灯 目录 FPGA学习(二)——实现LED流水灯一、DE2-115时钟源二、控制6个LED灯实现流水灯1、核心逻辑2、代码实现3、引脚配置4、实现效果 三、模块化代码1、分频模块2、复位暂停模块3、顶层模块 四、总结 一、DE2-115时钟源 DE2-115板子包含一个50MHz…

进程间通信--匿名管道

进程间通信介绍 进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件&…

【鸿蒙开发】Hi3861学习笔记-Visual Studio Code安装(New)

00. 目录 文章目录 00. 目录01. Visual Studio Code概述02. Visual Studio Code下载03. Visual Studio Code安装04. Visual Studio Code插件05. 附录 01. Visual Studio Code概述 vscode是一种简化且高效的代码编辑器,同时支持诸如调试,任务执行和版本管…

人工智能 Day06 pandas库进阶

1.处理缺失数据 总体流程是这样的, 归根在于如何处理NAN,接下来详细赘述 1.1. 处理缺失值的相关函数 判断缺失值 pd.isnull(df):用于判断 DataFrame df 中的元素是否为缺失值(NaN ),返回一个与df 形状相同…

【Tools】Visual Studio Code安装保姆级教程(2025版)

00. 目录 文章目录 00. 目录01. Visual Studio Code概述02. Visual Studio Code下载03. Visual Studio Code安装04. Visual Studio Code配置05. 附录 01. Visual Studio Code概述 Visual Studio Code(简称 VS Code)是由微软开发的一款免费、开源且跨平台…

14.使用各种读写包操作 Excel 文件:辅助模块

一 各种读写包 这些是 pandas 在底层使用的各种读写包。无须安装 pandas,直接使用这些读写包就能够读写 Excel 工作簿。可以尽可能地使用 pandas 来解决这类问题,只在 pandas 没有提供你所需要的功能时才用到读写包。 表中没有 xlwings ,因为…

AI赋能实时安全背带监测解决方案

背景:安全背带检测的行业刚需与技术痛点 在建筑施工、石油化工、仓储物流等高危行业中,安全背带是保障作业人员生命安全的最后一道防线。据统计,超过30%的高空坠落事故与未正确佩戴安全背带直接相关。传统依赖人工巡检的监督方式存在效率低、…

神聖的綫性代數速成例題2. 行列式的性質

性質 1:行列式與它的轉置行列式相等: 設為行列式,為其轉置行列式,則。 性質 2:交換行列式的兩行 (列),行列式變號: 若行列式經過交換第行和第行得到行列式,則。 性質 3&#xff…

大模型推理 memory bandwidth bound (3) - MLA

系列文章目录 大模型推理 & memory bandwidth bound (1) - 性能瓶颈与优化概述 大模型推理 & memory bandwidth bound (2) - Multi-Query Attention 大模型推理 & memory bandwidth bound (3) - MLA 文章目录 系列文章目录前言一、原理1.低秩压缩 & 动机2.矩阵…

CTP开发爬坑指北(九)

CTP API开发中有很多需要注意的小细节,稍有不慎就会出问题,不然,轻则表现与预期不符,重则程序崩溃影响策略盈利。本系列将容易遇到的坑列出来,以供开发时参考,如有疑义之处,欢迎指正。 在国内期…

python_巨潮年报pdf下载

目录 前置: 步骤: step one: pip安装必要包,获取年报url列表 step two: 将查看url列表转换为pdf url step three: 多进程下载pdf 前置: 1 了解一些股票的基本面需要看历年年报,在巨潮一个个下载比较费时间&…

量化交易backtrader实践(五)_策略综合篇(3)_经典策略复盘

01_经典策略复盘 在某款股票软件手机版App上,有一项“复盘”的功能,这个功能很强大,它能把这支股票近1年的走势,用设置好的六个策略去回测,得到每个策略的近一年的收益率,并做了从最好到最差的排序。这就能…

蓝桥与力扣刷题(蓝桥 字符统计)

题目:给定一个只包含大写字母的字符出 S, 请你输出其中出现次数最多的字符。如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。 输入格式 一个只包含大写字母的字等串 S. 输出格式 若干个大写字母,代表答案。 样例输入 BABBACAC样…

protobuf安装

安装 github官方链接 https://github.com/protocolbuffers/protobuf/ 以protobuf21为例 https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip windows 解压好文件夹后,使用cmake,vs,qt creator等工具打开该项目,进行编译,编译需…

Compose 实践与探索八 —— LayoutModifier 解析

前面几节讲的 Modifier 都是起辅助作用的,比如 Modifier 的伴生对象、CombinedModifier、 ComposedModifier 以及几乎所有 Modifier 的父接口 Modifier.Element。本篇我们开始讲具有直接功效的 Modifier,分为几个大类:LayoutModifier、DrawMo…

stl之string的详解

一,string定义的方式 ,string定义了多种函数重载的方式,常用的构造函数如下: string(); string(const string& str); string(const string& str, size_t pos, size_t len npos); string(const char* s); string(const …

Leetcode-131.Palindrome Partitioning [C++][Java]

目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-131.Palindrome Partitioninghttps://leetcode.com/problems/palindrome-partitioning/description/131. 分割回文串 - 力扣(LeetCode)131. 分割回文串 - 给你一个字符串 s,请你…

InternVL:论文阅读 -- 多模态大模型(视觉语言模型)

更多内容:XiaoJ的知识星球 文章目录 InternVL: 扩展视觉基础模型与通用视觉语言任务对齐1.概述2.InternVL整体架构1)大型视觉编码器:InternViT-6B2)语言中间件:QLLaMA。3)训练策略(1&#xff09…

【AWS入门】AWS云计算简介

【AWS入门】AWS云计算简介 A Brief Introduction to AWS Cloud Computing By JacksonML 什么是云计算?云计算能干什么?我们如何利用云计算?云计算如何实现? 带着一系列问题,我将做一个普通布道者,引领广…

二分算法刷题

1. 初识 总结:二分算法题的细节非常多,容易写出死循环。使用算法的条件不一定是数组有序,而是具有“二断性”;模板三种后面会讲。 朴素二分二分查找左端点二分查找右端点 2. 朴素二分 题目链接:704. 二分查找 - 力扣…