- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Milvus 实战系列 #4 MMUMMR 1.0:快手向量近似计算实践
展开查看详情
1 .MMUMMR1.0 快手向量近似计算实践 余晋 快手MMU 2022年1月27日
2 .个人简介 l 毕业于北京大学 l 工作于阿里巴巴、腾讯 l 大数据存储&计算平台(阿里云飞天) l 机器学习平台(PAI) l 基于视频理解的视频推荐(手淘购后场景) l 21年加入快手MMU l 致力于解决一切大规模向量数据计算相关问题
3 .快手——国民短视频社区
4 .MMU——快手AI中台 向量计算在AI中台中的应用 内容生产 n 内容理解 • 相似检索、跨域检索; • 同款识别 n 内容生产 • 素材检索、平行语料 内容分发 内容理解 n 内容分发 • I2I召回
5 .目录 l MMUMMR1.0:基于Milvus的向量近似计算平台 l 向量索引——当我们讨论向量计算的时候我们在讨论什么 l 向量近似计算API介绍和应用
6 .MMUMMR1.0 Arch(Based on Milvus1.1)
7 .Milvus1.1数据分片管理和一致性 向量数据逻辑结构 向量数据一致性
8 .目录 l MMUMMR1.0:基于Milvus的向量近似计算平台 l 向量索引——当我们讨论向量计算的时候我们在讨论什么 l NeurIPS 2021 Billion-Scale ANN Search Challenge l 异构HNSW图索引 l 向量近似计算API介绍和应用
9 .Billion-Scale ANN Search Challenge n 数据集:6个十亿规模数据集; n 检索类型:KNN和RNN; n 3个Track • T1:64G内存,IVFPQ • T2:64G内存+1T SSD,DiskANN • T3:自定义硬件 n Metrics • the sum of improvements in recall over the baseline at the target QPS over all datasets
10 .T1 winner solution n 64G men on cpu:64G->PQ类,CPU->IVF类 è IVFPQ类; n Baseline:2level IVF with 1M中心点 + 64位PQ/OPQ n IVF优化 / PQ优化 / 整体优化 n IVF优化:IVF_HNSW
11 .T1 winner solution n IVF优化 :IVF层的计算效率越高,nprobe可以设置的越大 n HNSW->INT8-HNSW:精度 -1%~5%,性能+10%-20% n PQ优化: 学习数据分布,semi-end-to-end training method
12 .T1 winner solution n 全局优化 n Avx512(Advanced vector extension)指令集 计算加速 n Query Batch和PQ 位宽的trade offer: PQ量化位宽越大,内存耗费越高精度越高,减小query batch
13 .异构HNSW图索引( 自研) n 图索引 n 异构HNSW图索引
14 .目录 l MMUMMR1.0:基于Milvus的向量近似计算平台 l 向量索引——当我们讨论向量计算的时候我们在讨论什么 l 向量近似计算API介绍和应用
15 .MMUMMR1.0 APIs——向量数据管理 n Collection索引库:单索引库支持百亿量级数据 • API:Create,Drop,Count,Stat • 特性和典型业务应用 Ø 自动生命周期管理:冷启视频特征召回(最近3天);近期热门视频特征召回(最近90天) n Embedding,向量数据 • Insert • Partition参数,支持垂类分桶,查询时可指定多个桶或者全部 • 插入速度单实例 5万条/秒,百亿索引库2个实例1天Insert完成 • Get • Delete / Update(Delete + Insert):支持千万量级特征更新 Ø 典型业务应用:视频评论Embedding相似召回 ; 商品图像特征相似召回; n 索引构建(系统默认构建高精度索引)
16 .MMUMMR1.0 APIs——KNN Search n 高精度高吞吐KNN检索:QPS---5000(单reader),Recall@10---99%+ • 索引测试和选择:两个Collection—128维/512维,三组索引 • 应用业务:视频查重、视频生成物料检索、商品SPU识别、平行语料建设等 n IVF-PQ Ø 1X CPU(构建),1X MEM n HNSW ✅ Ø 3X CPU(构建),72X MEM n HNSW-HD ✅ Ø 7X CPU(构建),80X MEM n 构建计算资源 Ø 索引节点弹性伸缩,用完即缩 n 检索内存资源 Ø 多库共享资源,无检索请求时让 出内存资源 Ø Reader结点弹性伸缩,用完即缩 测试collection为128维特征,512维特征,200万数据,95%用于构建索引,5%用于测试
17 .MMUMMR1.0 APIs——Attr-KNN n 业界学界属性KNN检索 Ø 放大召回+后处理:TOP10àTOP1000,属性过滤;召回低 Ø 提前属性过滤+暴力检索;检索慢 n H-HNSW属性KNN检索 Ø 应用场景:商家视频中商品检索 数据集 放大TOP1k MMUMMR • 数据类型:商品emb + 商品商家id 133w数据集 41% 99% • 查询1:Emb KNN + 商家id 1kw数据集 22% 99% n H-HNSW多值属性KNN检索 属性检索recall@10对比 Ø 应用场景:视频检索 • 数据类型:视频emb + 视频tag, tag多值(0~60个tag) • 查询1: emb knn + tag = 海边&落日&动漫 • 查询2: emb knn + tag = 海边&落日&~动漫
18 .MMUMMR1.0 APIs——KMeans & ADBKmeans n KMeans聚类 • 距离计算使用索引进行近似计算 • 复杂度O(KN)--->O(log(K)N/m)+O(log(K)*mK) n Adaptive-Distance-Bounded-KMeans,同款聚类 • Community detection • 基于距离约束的多次KMeans迭代 • 计算复杂度同KMeans • 应用业务: Ø 搜索结果页视频封面去重 Ø 商业化SPU1.0项目 n H-HNSW Clusterintg同款聚类多向量多属性支持 • 基于异构近邻图索引的带约束(近似)图切分 • 使用广度图遍历实现 • HNSW索引构建O(Nlog(N)),图遍历O(N)
19 .Thank You https://milvus.io 添加企业微信 https://github.com/milvus-io/milvus 发送 “直播” 加入交流群 领取直播PPT + 回放链接 🔗 https://twitter.com/milvusio