内容简介:GitHub: https://github.com/milvus-io/milvus 发布时间:2019-12-07 版本兼容 Milvus 版本 pymilvus 版本 Java SDK 版本 0.6.0 0.2.6 0.4.0 :sparkles: 新增功能 仅需 CPU 的 Milvus 在之前的版本,我们只提供了...#########
GitHub: https://github.com/milvus-io/milvus
发布时间:2019-12-07
版本兼容
Milvus 版本 |
pymilvus 版本 |
Java SDK 版本 |
0.6.0 |
0.2.6 |
0.4.0 |
✨ 新增功能
仅需 CPU 的 Milvus
在之前的版本,我们只提供了 GPU 版本的 Milvus。为了降低用户使用门槛,从 v0.6.0 开始,Milvus 提供仅需 CPU 和支持 GPU 两个版本的 Docker 镜像。CPU 版适合百万级数据的查询,而 GPU 版在超大数据集搜索情况下性能优势更明显。
您也可以源码编译,但考虑到编译环境复杂多变,有可能会增加编译困难,我们在新版本提供了 Ubuntu 18.04 的 Docker 镜像,便于大家直接在 Docker 容器中编译 Milvus。
更多信息,请参阅 PR#192: https://github.com/milvus-io/milvus/pull/192
Milvus 安装步骤: https://www.milvus.io/docs/zh-CN/userguide/install_milvus/
CPU 版镜像下载:milvusdb/milvus:cpu-latest
GPU 版镜像下载:milvusdb/milvus:latest
分区表
随着单张表的数据量不断增长,查询性能也会不断下降。单张表的数据变得很臃肿的时候,就要考虑将这张表拆分。v0.6.0 新增了分区表功能以确保增量数据的高性能查询。Milvus 的表基于标签分区,通过定义 partition_tag
,您可以指定某张分区表,每张分区表的索引继承自母表。Python,Java 和 C++ SDK 中也分别增加了表分区功能的相关接口,目前支持创建/删除分区表,向量插入指定分区表,查看指定分区表,以及指定分区表的查询。
更多信息,请参阅 PR#245: https://github.com/milvus-io/milvus/pull/245
实验功能
v0.6.0还推出了一些实验功能,代表了 Milvus 未来版本可能发展的方向。这些实验功能仍在持续开发和更新中,可能包含已知问题和未发现的错误。现阶段这些功能主要用于测试和用户反馈收集,欢迎大家积极试用。
Mishards
Milvus 旨在帮助用户实现海量非结构化数据的近似检索和分析。单个 Milvus 实例可处理十亿级数据规模,而对于百亿或者千亿级数据,则需要一个 Milvus 集群实例。v0.6.0 推出的 Mishards 正是 Milvus 集群分片处理的中间件,主要负责将上游请求拆分,并路由到内部各细分子服务,最后将子服务结果汇总,返回给上游。Mishards 内部处理请求转发、读写分离、水平扩展、动态扩容,为用户提供内存和算力可以无限扩容的 Milvus 集群实例。
更多信息,请参阅PR#232: https://github.com/milvus-io/milvus/pull/232
新的索引类型
支持新的索引类型如 SPTAG-KDT
,SPTAG-BKT
, RNSG
和 IVFPQ
。Milvus 集成了微软的 SPTAG 算法库,包含两种索引类型。RNSG
是 Milvus 在 NSG 基础上自研的基于图的索引算法,它可以 a) 降低图的平均出度;b) 缩短搜索路径;c) 缩减索引大小;d) 降低索引复杂度。IVF_PQ
是在倒排索引的基础上进一步利用笛卡儿积(PQ)对每一个倒排文件中的向量进行编码的索引技术。这样的方法称之为非对称距离计算。向量大小可以缩减至原来大小的1/8甚至1/16。该索引方式虽然会损失精度,但内存占用会进一步下降,适用于低内存环境下的大规模向量搜索。
目前看来,这几种新的索引类型的搜索性能表现并不令人满意,具体原因还有待进一步发掘,也欢迎感兴趣的小伙伴一起加入研究讨论。
更多信息,请参阅 SPTAG-PR#438: https://github.com/milvus-io/milvus/pull/438
RNSG-PR#554: https://github.com/milvus-io/milvus/pull/554
IVFPQ-PR#324: https://github.com/milvus-io/milvus/pull/324
SPTAG 索引介绍: https://github.com/Microsoft/SPTAG
NSG 索引论文: https://arxiv.org/abs/1707.00143
Milvus 性能测试报告
Milvus 支持多种类型的索引,各个索引的查询性能会随着数据集和调参的变化而改变。新版本提供了针对 IVFFLAT
, IVFSQ8
和 IVFSQ8H
的性能测试报告。随着 Milvus 支持的索引类型不断增加,测试报告也会持续更新。
具体性能测试报告,请参阅索引性能测试: https://github.com/milvus-io/milvus/tree/master/docs
✨ 主要改进
Milvus 优化过的 FAISS
在原有 FAISS 的基础上, Milvus 做了一些深层代码的优化以获得更优的查询性能和支持更多类型的索引类型,比如 IVFSQ8H
。现在,我们将这部分针对 FAISS 进行优化的代码开源了。
更多信息,请参阅PR#585: https://github.com/milvus-io/milvus/pull/585
多张 GPU 创建索引
支持使用多张 GPU 来创建索引以减少创建索引和整体查询的时间。在使用支持 GPU 的 Milvus 时,您可以通过对 Milvus 配置文件中的参数 build_index_resources
来指定多张 GPU 卡用于索引创建。
更多信息,请参阅 PR#414: https://github.com/milvus-io/milvus/pull/414
✨ Bug 修复
进一步解决了随查询次数增加,内存占用持续增加的问题。
更多信息,请参阅 PR#335: https://github.com/milvus-io/milvus/pull/335
如果还想了解 v0.6.0 更具体的更新改动,请参阅 Milvus CHANGELOG: https://github.com/milvus-io/milvus/blob/master/CHANGELOG.md
欢迎加入Milvus社区
主页: milvus.io
GitHub:github.com/milvus-io/milvus
知乎: zhuanlan.zhihu.com/milvus
Slack: milvusio.slack.com
Twitter:twitter.com/milvusio
Facebook:www.facebook.com/io.milvus.5
以上所述就是小编给大家介绍的《Milvus 向量搜索引擎 0.6.0 新功能介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Android群英传
徐宜生 / 电子工业出版社 / 2015-9 / 69.00元
《Android群英传》对具有一定Android开发基础的读者,以通俗易懂的语言介绍了Android开发的进阶技巧。《Android群英传》共分为13章,讲解了Android体系与系统架构、Android开发工具新接触、Android控件架构与自定义控件详解、ListView使用技巧、Android Scroll分析、Android绘图机制与处理技巧、Android动画机制与使用技巧、Activi......一起来看看 《Android群英传》 这本书的介绍吧!