- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Deep dive#9 Milvus 2.0 Knowhere 概述
展开查看详情
1 .2022.03 Milvus代码分享 Milvus 2.0 Knowhere 概览 Yudong Cai yudong.cai@zilliz.com
2 .About ZILLIZ and me • Unleash data insights with AI • Zilliz ⾼级研发⼯程师 • 硕⼠毕业于浙江⼤学电路与系统专业 • ⼯作经历 Samsung, Synopsys, Cisco, Cadence • 主要负责:knowhere/storage/rootcoord • 个⼈兴趣:历史,国际政治,易学
3 . 1. Knowhere 概述 2. Knowhere 代码结构 CONTENTS 3. Knowhere 如何添加索引 4. Knowhere 对 FAISS 做了哪些优化 5. 后续计划
4 . 01 Knowhere 概述
5 .Milvus Knowhere
6 .标量运算与向量运算 Numbers Vectors Arithmetic operation Similarity (eg. Euclidean distance) Operation Number comparison Similarity comparison 1–10 Organization 1–5 6–10 1 2 3 4 5 6 7 8 9 10
7 .
8 . 02 Knowhere 代码架构
9 .Milvus的数据模型
10 .Milvus的数据模型
11 .Index Create Index Insert Data Train Build
12 .Base Class
13 .IDMAP
14 .IVF
15 .Binary
16 .Thirdparty Index
17 . 03 Knowhere 如何添加索引
18 .1. 在 IndexEnum 中添加新索引名称字符串; 2. 添加新索引参数的合法性检查; • class XXXConfAdapter : public ConfAdapter 3. 新索引派⽣ VecIndex,实现虚接⼝; 4. 在⼯⼚⽅法中添加新索引的创建逻辑; • VecIndexFactory::CreateVecIndex() 5. 添加单元测试。
19 . 04 Knowhere 对 Faiss 做了哪些优化
20 .1. Search 接⼝⽀持 BitsetView 【Bitset 应⽤详解】 2. ⽀持更多距离计算⽅式 3. ⽀持 AVX512 【Milvus performance on AVX-512 vs. AVX2】 4. ⽀持指令集动态加载 Milvus: A Purpose-Built Vector Data Management System
21 .05 后续计划
22 .1. ⽀持 Mac 编译 2. python swig 接⼝ 3. ⽀持 RangeSearch 4. ⽀持更多索引类型 5. 跨平台⽀持
23 .Thank You https://milvus.io https://github.com/milvus-io/knowhere 扫码加⼊直播交流群 关注 Milvus 视频号 https://twitter.com/milvusio 与讲师实时QA 直播视频早知道
24 .等我熟悉了Milvus的代码,我应该.. 欢迎加⼊Milvus Contributor⼤家庭!你可以 ➢ 阅读Milvus设计⽂档 ➢ 参与Milvus tech meeting,了解更多技术细节 https://wiki.lfaidata.foundation/display/MIL/Milvus+Home ➢ 了解社区最新的功能和改进(MEPs) ➢ 给Milvus贡献代码,让全世界的⼯程师看到! ➢ ⽤⾃⼰的⼒量帮助更多的⼈学习和使⽤Milvus