Milvus上的CAGRA有什么不同?
尽管GPU在图索引构建阶段优势显著,但在实际生产环境中,GPU资源通常比CPU更昂贵且稀缺。若索引构建与查询均依赖GPU,会导致一系列问题:
资源利用率低(查询请求零散,GPU大量时间空闲)
部署成本高(需为每个查询服务配置GPU,增加不必要的硬件成本)
扩展性受限(GPU数量限制服务实例数)
灵活性不足(无法按需切换 GPU 和 CPU )
针对这些痛点,开源向量数据库Milvus在2.6.1版本中,通过adapt_for_cpu参数,为GPU索引CAGRA推出灵活部署选项,实现GPU构建高质量图索引+CPU查询(一般用 HNSW )的混合模式,在保证索引质量的同时大幅降低部署成本。对于数据更新频率低(无需频繁重新构建索引)、查询规模大(需大量查询服务实例)、成本敏感(希望降低GPU资源投入)的场景,这是一种非常实用的解决方案。
(1)adapt_for_cpu解读
Milvus通过adapt_for_cpu
参数控制CAGRA索引的序列化与反序列化行为,实现构建与查询设备的灵活切换。