在深度学习时代,几乎所有东西突然都变成了高维向量,很快形成了一类庞大的数据来源。这样一来,当你要做搜索、排序或推荐时,数据库里的对象不再是一篇文档或一张图片,而是深度学习模型给出的数学表示。简而言之,这件事很快就对许多公司变得举足轻重。
因此,向量搜索引擎(向量数据库)成了支撑工业界每一次大规模深度学习部署的核心基础设施。
向量搜索改变业务
向量搜索不仅适用于图像和文本内容。只要你能为业务中的每个对象定义一个表示向量,就能对这些对象做信息检索。下面是几个例子:
-
寻找相似用户:如果你把用户的行为、历史购买记录以及其他用户属性组合起来,为业务中的每个用户定义一个表示向量,那么你就能找到与指定用户相似的所有用户。举例来说,你可以据此发现购买了相似商品的用户、很可能是机器人的用户,或是值得用数字营销去触达的潜在高级客户。
-
寻找相似商品或物品:用商品特征(如描述、价格、销售地点等)生成的向量,你可以找到相似的商品,从而回答各种问题;例如,“我们还有哪些与这件商品相似、可能适用于同一场景的商品?“或”过去 24 小时内在这一区域售出了哪些商品?“(基于时间和距离)
-
寻找有故障的 IoT 设备:用一个从设备信号中捕捉故障特征的向量,向量搜索能帮你即时找出可能出故障的设备,从而做主动维护。
-
寻找广告:定义良好的向量能让你在毫秒级、高吞吐地为观看者找到最相关或最合适的广告。
-
寻找安全威胁:你可以对计算机病毒二进制文件的特征签名,或针对 Web 服务、网络设备的恶意攻击行为进行向量化,从而识别安全威胁。
-
……以及更多:未来几年,各行各业里很可能会涌现出成千上万种不同的向量搜索应用,让这项技术变得像关系型数据库一样重要。
好,向量搜索听起来很酷。但要把这项技术应用到真实的业务场景中,主要挑战有哪些?其实有两个:
- 创建对业务场景有意义的向量
- 构建一个快速且可扩展的向量搜索服务
嵌入:对业务场景有意义的向量
todo
构建一个快速且可扩展的向量搜索服务
todo
References
- Facebook. A library for efficient similarity search and clustering of dense vectors., Feb 19, 2017.
- Y.Malkov. Header-only C++/python library for fast approximate nearest neighbors, Jul 2, 2017.
- Zilliz. An open-source vector database for scalable similarity search and AI applications., Mar 17, 2019.
- Microsoft. Space Partition Tree And Graph, Sep 9, 2018.
- Semi-technologies. Weaviate is a cloud-native, modular, real-time vector search engine, Mar 27, 2016.
- Qdrant. Vector similarity search engine with extended filtering support, May 24, 2020.
- Pinecone. Vector Database for Similarity Search, Apr 18, 2021.
- Vald. A Highly Scalable Distributed Vector Search Engine, Aug 25, 2019.