1. 首页
  2. Python

十行代码实现十亿图片检索,我们把它开源了

“u003Cpu003E【CSDN 编者按】仅仅十行代码、一台服务器便可实现十亿图库的以图搜图?还是开源的!到底是什么黑科技呢?下面带你一览高性能向量u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎Milvus的前世今生。u003Cu002Fpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002FRh6dFQBDPv7aYz” img_width=”800″ img_height=”403″ alt=”十行代码实现十亿图片检索,我们把它开源了” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003E作者 | 星爵u003Cu002Fpu003Eu003Cpu003E对,你只需一台服务器,区区十行代码,就可以轻松实现十亿图库的以图搜图,响应时间仅为数百毫秒。它简单易用,区区数行代码就可以搞定海量图片u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E;它具有超高的单机性能,满足你低时延实时u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E的需求;它支持分布式和云原生扩展,随时可以应对百亿级乃至千亿级的u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E需求。这就是Milvus——超厉害的高性能向量u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎Milvus。我们Milvus团队在两天前的11月5日,正式对外宣布将它在GitHub上开源了(https:u002Fu002Fgithubu003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E.comu003Cu002Fiu003Eu002Fmilvus-iou002Fmilvus),分享给全球的开发者和AI科学家。u003Cu002Fpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002FRT4Gwk56bt5iOJ” img_width=”340″ img_height=”57″ alt=”十行代码实现十亿图片检索,我们把它开源了” inline=”0″u003Eu003Cpu003Eu003Cstrongu003E非结构化数据、人工智能和向量u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003Eu003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003E随着信息化技术的不断进步,人类正经历爆炸式的数据增长,数据种类也在发生一系列有趣的变化。自20世纪中叶电子计算机诞生以来,开发者历经了从处理结构化数据(Structured Data,整型数和浮点数等),到2000年互联网时代处理半结构化数据(Semi-structured Data,网页和日志等),再到2012年以来人工智能兴起处理非结构化数据(Unstructured Data,图片、视频、语音和文本等)的发展过程。u003Cu002Fpu003Eu003Cpu003E对于每一类不同类型的数据,计算机科学家都发明了相应的索引算法来进行数据组织、检索和分析。对于结构化数据来说,常见的索引算法有Bitmap、哈希表和B树等,代表系统是Oracle和DB2为代表的关系型数据库;对于半结构化数据,常见的索引算法是倒排索引(InvertedIndex),代表系统是Solr和ElasticSearch等u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎。u003Cu002Fpu003Eu003Cpu003E而非结构化数据因为难以被传统计算方法和处理器进行处理与价值挖掘,长期以来都是计算机科学领域的一大难点。直到近年来通过人工智能算法处理非结构数据才有所突破。人工智能算法使用一系列的模型(如CNN、RNN、VGG和Bert等)将图片、视频、语音和文本等转换成相应的特征向量,每个特征向量由一串整型数或者浮点数构成。人工智能算法巧妙地将复杂的非结构化数据处理变成了对计算机处理器相对简单友好的向量数值运算,以图搜图、视频检索和自然语言处理等任务就变成了基于欧式距离或者余弦距离度量的向量相似度计算。u003Cu002Fpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002FRh6dFQRBSGsZ3u” img_width=”1080″ img_height=”378″ alt=”十行代码实现十亿图片检索,我们把它开源了” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003EAI 算法将非结构化数据转换为向量u003Cu002Fpu003Eu003Cpu003E虽然向量相似度计算相对简单,但是非结构化数据(如图片、视频、语音和文字)相比于传统的结构化数据和半结构化数据,数据量庞大(总量大3个数量级以上),增长速度更快(每1KB结构化数据产生的同时,约有1GB非结构化数据产生)。海量向量相似度计算成为了人工智能算法大规模部署的一大挑战。由此,一种基于向量相似度计算的海量非结构化数据索引技术ANNS(u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-1″u003EAppu003Cu002Fiu003Eroximate Nearest Neighbor Search)应运而生。ANNS算法将相似的向量聚类在一起,能够缩小查询空间,减少比对计算量,从而加速海量向量检索。常用的ANNS算法有量化算法(Quantization)、树算法(Tree)、图算法(Graph)和混合算法(Tree-graph、Quantization-graph)等几类。u003Cu002Fpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002FRT7S2kzFTfre26″ img_width=”340″ img_height=”57″ alt=”十行代码实现十亿图片检索,我们把它开源了” inline=”0″u003Eu003Cpu003Eu003Cstrongu003EMilvus 高性能向量u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003EMilvus使用全球领先的ANNS向量索引技术,top5查询召回率(recall)99%,入库速度超过100万条u002F分钟,支持异构众核处理器加速,兼容X86u002FGPUu002FARMu002FPower处理器架构,今后还将增加对TPU及其他ASIC处理器的支持。Milvus单机可以在秒内完成十亿级向量u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E,多机分布式和云原生扩展方案亦能轻松满足百亿乃至千亿向量u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E的需求。Milvus采用Apache 2.0开源许可协议。u003Cu002Fpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002FRh6dFcO76nLEp9″ img_width=”1080″ img_height=”712″ alt=”十行代码实现十亿图片检索,我们把它开源了” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003EMilvus 非结构化数据u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎u003Cu002Fpu003Eu003Cpu003E在Milvus的研发过程中,我和Milvus团队的18位贡献者深入研究了ANNS算法,阅读了大量论文和参考文献,不断调整软硬件体系结构,细心设计和调试每一个算法,针对不同处理器芯片和指令集做了大量细致的优化工作,完成了3,600多个commit、5次版本迭代和7万多行源代码。u003Cu002Fpu003Eu003Cpu003E在经历了u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E30u003Cu002Fiu003E0多个日日夜夜的努力奋战后,我们终于研发成功了Milvus的第一个稳定版本0.5.1,并顺利完成了多家知名科技公司的严格测试和生产部署。然后我们第一时间将Milvus完全开源出来,希望帮助更多的开发者应对更多AI场景中的非结构化数据带来的机遇与挑战。同时我们也有一点小私心,希望能吸引到一批志同道合的开源极客,和我们一道继续开发、完善Milvus,把Milvus打造成具有全球影响力的新一代非结构化数据u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎。u003Cu002Fpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002FRTJXJ1kBqzfCnu” img_width=”340″ img_height=”57″ alt=”十行代码实现十亿图片检索,我们把它开源了” inline=”0″u003Eu003Cpu003Eu003Cstrongu003EMilvus 的应用u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003EMilvus具体能应用在哪些领域呢?举个例子说,某电商网站有约5000万个商品SKU,平均每个商品有来自商家展示和用户评论的20张图片,后台一共存储了10亿张商品图片。开发者用预先训练好的AI模型将10亿商品图片转换成10亿个特征向量,然后使用Milvus就能轻松实现以图搜商品功能,帮助购物者用图片u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E的方法方便地找到心仪的商品。u003Cu002Fpu003Eu003Cpu003EMilvus的能力可不止于以图搜图,还适用于海量的视频、语音和文本等非结构化数据的u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E。比如说,某视频UGC网站每天有100万个短视频上传,平均每个短视频时长1分钟,分辨率720P,每秒2秒提取一个关键帧图像,每月有9亿关键帧,每年有108亿关键帧。开发者用AI模型将108亿关键帧图像转换为108亿个特征向量,然后使用Milvus轻松实现海量视频u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E功能,让用户可以方便地定位到自己感兴趣的(明星u002F商品)视频片段。u003Cu002Fpu003Eu003Cpu003EMilvus向量u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎还可以帮助自然语言处理的开发者轻松实现海量文本去重和语义u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E,帮助u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎的开发者实现推荐系统和精准广告投放,在此就不一一列举了。目前,Milvus已被10多家知名科技公司使用,助力互联网娱乐(图片u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003Eu002F视频u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E)、新零售(以图搜商品)、智慧金融(用户认证)和智能物流(车辆识别)等领域。u003Cu002Fpu003Eu003Cpu003Eu003Cstrongu003E还在临渊羡鱼?u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cpu003E如果您想使用Milvus向量u003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E搜索u003Cu002Fiu003E引擎,体验“十行代码实现十亿图片检索”,我们为您准备了“轻松玩转十亿向量检索(SIFT1B)”教程。u003Cu002Fpu003Eu003Cpu003E您也可以访问Milvus在线训练营:https:u002Fu002Fgithubu003Ci class=”chrome-extension-mutihighlight chrome-extension-mutihighlight-style-4″u003E.comu003Cu002Fiu003Eu002Fmilvus-iou002Fbootcampu003Cu002Fpu003E”

原文始发于:十行代码实现十亿图片检索,我们把它开源了

主题测试文章,只做测试使用。发布者:醒百年,转转请注明出处:http://www.cxybcw.com/14052.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code