- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
刘炼、高林华 - Milvus 在亿贝智能营销的实践
展开查看详情
1 .Milvus在亿⻉智能营销 的实践
2 .Milvus在亿⻉智能营销的实践 ❖ 业务场景 ❖ Milvus集群部署 ❖ 向量的存储与查询 ❖ 未来展望
3 .应⽤场景 - 商品推荐 相似商品1 相似搜索 发送 邮件 近期浏览 ⽤户 商品 相似推荐 相似商品2 短信 相似商品n 相似搜索: ● 商品标量 (商品的品牌、价格、类别) -> 商品向量 ○ 离线:通过Spark运⾏的相似算法模型 ○ 在线:希望能有⼀个QPS能达到千级以上,延迟能达到⼗⼏毫秒的向 Milvus 量查询的数据库
4 .Milvus在亿⻉智能营销的实践 ❖ 业务场景 ❖ Milvus集群部署 ❖ 向量的存储与查询 ❖ 未来展望
5 .Milvus集群部署 问题1:磁盘的读写性能影响Milvus集群的稳定性 解决⽅案:升级磁盘 IOPS: 25 IOPS: 35,000 BW: 57.6 Kib/s BW: 60 Mib/s 升级前: 升级后: 1. Etcd读写变慢 -> QueryNode 请求 1. QueryNode不再⾃动重启 etcd的renew lease超时 -> 2. 很⼤程度上缩短了create index 和 QueryNode 重启 load collection 的时间: 2. Create index 和 load collection需要 Create index:8 min 花⼤量时间: Load collection: 8 min ○ Create index:20 min
6 .Milvus集群部署 问题2:QueryNode重启需重新load collection,会导致短暂的⽆法查询 解决⽅案:部署基于路由转发的milvus集群 Milvus 集群1 相似向量搜索 路由 集群2 集群3
7 .Milvus在亿⻉智能营销的实践 ❖ 业务场景 ❖ Milvus集群部署 ❖ 向量的存储与查询 ❖ 未来展望
8 .向量的存储与查询 问题1:单个collection的查询性能偏低 解决⽅案:对商品的类别做partition处理 Partition 1 dataframe category hash Partition 2 向量存储 Partition 3 … item category hash Partition n Milvus 相似向量搜索 优化前: 优化后: Entity: 5千万,单次请求55ms Entity: 5千万,单次请求32ms Entity: 1亿,单次请求90ms Entity: 1亿,单次请求40ms
9 .向量的查询 - Milvus Embedding Query Service 问题1:Java客户端⽆法访问Milvus 解决⽅案:⾃主开发 Milvus Embedding Query Service Embedding Java Client Milvus Query Service Milvus Embedding Query Service实现的功能: 1. 保持与milvus的⻓连接 2. Python 实现 Milvus 查询, 并对外暴露 restful api
10 .未来展望 1. ⽤户可以在⾼可⽤和⾼召回率之间⾃主决定 ● ⾼可⽤:容忍部分数据丢失 1. 批量查询