淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

淘宝搜刮推荐、视频搜刮背后使用了什么样的检索技巧?非结构化数据检索,向量检索,以及多模态检索,它们到底处理了什么课题?今天由阿里达摩院的科学家从业务课题出发,抽丝剥茧,深度揭秘达摩院内部技巧,向量检索引擎 Proxima,以及相关领域的现状、挑战和未来。

人工智能,简称 AI,是计算机发明时就存在的一个技巧领域。它的一大核心特点就是可以类人脑地辅助人类工作。其通过一系列数学的方式,如概率论、统计、线性代数等,分析和设计出能让计算机自动学习的算法。

如下图所示,人工智能算法可以对物理世界的人/物/场景所产生各种非结构化数据(如语音、图片、视频,语言文字、行为等)从事抽象,变成多维的向量。这些向量如同数学空间中的坐标,标识着各个实体和实体关系。我们一般将非结构化数据变成向量的过程称为 Embedding,而非结构化检索则是对这些生成的向量从事检索,从而找到相应实体的过程。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

非结构化检索本质是向量检索技巧,其主要的应用领域如人脸识别、推荐系统、图片搜刮、视频指纹、语音处理、自然语言处理、文件搜刮等。随着 AI 技巧的广泛应用,以及数据领域的不断增长,向量检索也逐渐成了 AI 技巧链路中不可或缺的一环,更是对传统搜刮技巧的补充,并且具备多模态搜刮的才智。

1. 业务场景

1.1 语音/图像/视频检索

向量检索的第一大类应用就是对语音、图像、视频这些人类所接触到的,也最为常见的非结构化数据的检索。传统的检索引擎只是对这些多媒体的名称和描述从事了索引,而并没有尝试对这些非结构数据的内容从事理解和建立索引,因此传统引擎的检索结果具有非常大的局限性。

随着人工智能的发展,AI 的才智使得我们可以快速且成本较低地对这些非结构化数据从事理解,这样就使得对这些非结构化的数据内容从事直接检索成为了可能。这其中,很重要的一环就是向量检索。

如下图所示,以图片搜刮为例,我们先以离线的方式对所有历史图片从事机器学习分析,将每一幅图片(或者图片里分割出来的人物)抽象成高维向量特征,然后将所有特征建立成高效的向量索引,当一个新查询(图片)来的时候,我们用同样的机器学习方式对其从事分析并产出一个表征向量,然后用这个向量在之前建立的向量索引中查找出最相似的结果,这样就完成了一次以图片内容为基础的图像检索。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

1.2 文本检索

向量检索其实很早就已经在常见的全文检索中用到了。我们这里用地点检索为例来简单介绍下向量检索技巧在文本检索中的应用情况和价值。

如下图左边的例子,我们想在标准地点库中搜刮“浙一医院”(而标准地点库中恰恰又没有“浙一”这个关键词,“浙一医院”的标准地点是“浙江大学医学院附属第一医院”),如果我们只使用文本分词(“浙一”和“医院”),在标准地点库中是不会找到相关结果的(因为“浙一”这个地点不存在)。但是我们如果能够利用对人们历史语言,甚至之前的点击关联从事分析,建立起语义相关性的模型,把所有的地点都用高维特征来表达,那么“浙一医院”和“浙江大学医学院附属第一医院”的相似度可能会非常高,因此可以被检索出来。

另外一个例子,如下图右边所示,同样是地点查询,如果我们想在标准地点库中搜刮“杭州阿里巴巴”的地点,在仅使用文本召回的时候,几乎没办法找到相似的结果,但是我们如果通过对海量用户的点击行为从事分析,将点击行为加上地点文本信息合并形成高维向量,这样在检索的时候就可以天然的将点击率高的地点召回并排列在前面。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

1.3 搜刮/推荐/广告

在电商领域的搜刮/推荐/广告业务场景中,常见的需求是找到相似的同款商品和推荐给用户感兴趣的商品,这种需求绝大多数都是采用商品协同和用户协同的策略来完成的。新一代的搜刮推荐系统吸纳了深度学习的 Embedding 的才智, 通过诸如 Item-Item (i2i)、User-Item (u2i)、User-User-Item (u2u2i)、User2Item2Item (u2i2i) 等向量召回的方式实行快速检索。

算法工程师通过对商品的相似和相关关系,以及被浏览和被购买的用户行为的抽象,将它们表征成高维向量特征并存储在向量引擎中。这样,当我们需要找一个商品的相似商品(i2i)时,就可以高效快捷地从向量引擎中检索出来。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

1.4 几乎覆盖了所有的 AI 场景

其实,向量检索的应用场景远不止上面提到的这些类型。如下图所示,它几乎覆盖了大部分的可以应用AI的业务场景。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

2. 向量检索的现状和挑战

2.1 繁多的检索算法

向量检索本质为了求解 KNN 和 RNN 两个课题,KNN(K-Nearest Neighbor)是查找离查询点最近的 K 个点,而 RNN (Radius Nearest Neighbor) 查找查询点某半径范围内的所有点或 N 个点。在涉及到大数据量的情况下,百分之百准确求解 KNN 或 RNN 课题的计算成本较高,于是引入了求近似性解的方式,因此大数据量检索实际要处理的是 ANN(Approximate Nearest Neighbor)的课题。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

为求解 ANN 的课题,业内提出了不少的检索算法。常用的算法,最早可以溯源到 1975 年提出的 KD-Tree,其基于欧式空间,采用多维二叉树数据结构处理 ANN 检索课题。20 世纪 80 年代末,产生了空间编码和哈希的思想,主要以分形曲线和局部敏感哈希为代表。分形曲线和局部敏感哈希属于空间编码和转换的思想,类似思想的算法还有 Product Quantization (PQ) 等,这些量化算法将高维课题映射到低维从事求解,从而提高检索效率。21 世纪初,采用街坊图处理 ANN 课题的思想也开始萌芽,街坊图主要基于“街坊的街坊可能也是街坊”的假设,预先建立数据集中所有点的街坊关系,形成具有一定特性的街坊图,检索时在图上从事游走遍历,最后收敛得到结果。

向量检索的算法繁多且缺乏通用性,应对不同数据维度和分布有不同算法,但总体可归为三类思想:空间划分法、空间编码和转换法、以及街坊图法。空间划分法以 KD-Tree、聚类检索为代表,检索时快速定位到这些小集合,从而减少需要扫描的数据点的量,提高检索效率。空间编码和转换法,如 p-Stable LSH、PQ 等方式,将数据集重新编码或变换,映射到更小的数据空间,从而减少扫描的数据点的计算量。街坊图法,如 HNSW、SPTAG、ONNG 等,通过预先建立关系图的方式,去加快检索时的收敛速度,减少需要扫描的数据点的量,以提高检索效率。

2.2 面临的技巧挑战

向量检索在发展过程中,也涌现出了一些优秀的开源作品,如 FLANN、Faiss 等。这些作品对业内一些常用和有效的 ANN 算法从事了统一实行和优化,通过运行库的方式,形成一些工程化的检索方案。基于这些运行库和改进,业内也产生了一些服务化的工程引擎,如 milvus、vearch 等。

虽然向量检索发展多年,并逐渐成为非结构化检索的主流方式,但仍存在了不少的技巧挑战和课题。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

2.2.1 超大领域索引的精度和性能

源于非结构化数据的繁多而复杂,向量检索天生便是用于应对这种大领域的数据检索,但面对亿级,甚至十亿级以上的场景,许多检索算法仍面临了挑战,工程实行也存在着一些课题,要么建立成本巨大,要么检索效率低下。

另外,维数的增加也造成了一些向量检索方式的效率下降,在高维空间下华而不实,同时工程上也增加了数据计算和存储成本。其次,算法上缺乏完全通用性,无法对数据实行泛一致性检索,即任何数据分布上,检索算法都是有效的。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

目前,业内在处理高维十亿级别的数据时仍显得力不从心,多采用多片索引分别检索合并的方式,增加了实际计算成本。

2.2.2 分布式建立和检索

向量检索目前多通过数据分片的方式实行水平扩展,然而过多的分片容易造成计算量的上升,从而导致检索效率的下降。在分布式方面,仍存在向量索引快速合并算法的难题,这便导致了数据一旦分片之后,无法很好套用 Map-Reduce 计算模型合并成效率更高的索引。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

2.2.3 流式索引的在线更新

传统的检索方式能很方便的实行增查改删(CRUD)的操作,向量检索依赖数据分布和距离度量,部分方式还有数据集训练的要求,数据点的变更甚至动一发而牵全身。因此,要实行向量索引的从 0 到 1 的全流式建立,并满足即增即查、即时落盘、索引实时动态更新的要求,对算法和工程仍存在着一些挑战。

目前,对于非训练的检索方式,能较方便的支持全内存索引的在线动态新增和查询,然而面对即时落盘、内存不足、在线向量动态更新和删除等要求,操作成本很大,满足不了实时性。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

2.2.4 标签+向量的联合检索

在大多数业务场景下,需要同时满足标签检索条件和相似性检索的要求,如查询某些属性条件组合下相似性的图片等,我们称这种检索为“带条件的向量检索”。

目前,业内采用多路归并的方式,即分别检索标签和向量再从事结果合并,虽可以处理部分课题,但多数情况下结果不甚理想。主要原因在于,向量检索无范围性,其目标是尽可能保证 TOPK 的准确性,TOPK 很大时,准确性容易下降,造成归并结果的不准确甚至为空的情况。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

2.2.5 复杂的多场景适配

向量检索是一种通用才智,但目前尚无通用算法可以适配任意场景和数据,就算同一种算法适配不同数据时,也存在参数配置的差异。如对于多层聚类检索算法,使用什么聚类算法、分多少层、聚多少类、检索时使用什么样的收敛阈值,这些在面对不同场景和数据时都是不一样的。正是因为这些超参调优的存在,大大加大了用户的使用门槛。

想让用户变得更简单,必然需要考虑场景适配的课题,主要包括数据适配(如:数据领域、数据分布、数据维度等)和需求适配(如:召回率、吞吐、时延、流式、实时性等)两方面。基于不同的数据分布,通过选择合适的算法和参数,以满足实际的业务需求。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

3. 达摩院向量检索技巧揭秘

Proxima 是阿里巴巴达摩院自研的向量检索内核。目前,其核心才智广泛应用于阿里巴巴和蚂蚁集团内众多业务,如淘宝搜刮和推荐、蚂蚁人脸支付、优酷视频搜刮、阿里妈妈广告检索等。同时,Proxima 还深度集成在各式各类的大数据和数据库产品中,如阿里云 Hologres、搜刮引擎 Elastic Search 和 ZSearch、离线引擎 MaxCompute (ODPS) 等,为其提供向量检索的才智。

Proxima 是通用化的向量检索工程引擎,实行了对大数据的高性能相似性搜刮,支持 ARM64、x86、GPU 等多种硬件平台,支持嵌入式设备和高性能服务器,从边缘计算到云计算全面覆盖,支持单片索引十亿级别下高准确率、高性能的索引建立和检索。

3.1 核心才智

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

如上图所示,Proxima 的主要核心才智有以下几点:

超大领域索引建立和检索:Proxima 精于工程实行和算法底层优化,引入了复合性的检索算法,基于有限的建立成本实行了高效率的检索方式,单片索引可达几十亿的领域。索引水平扩展:Proxima 采用非对等分片的方式实行分布式检索。对于街坊图索引,处理了有限精度下图索引快速合并的难题,与 Map-Reduce 计算模型可有效从事结合。高维 & 高精度:Proxima 支持多种检索算法,并对算法做了更深层的抽象,形成算法框架,依据不同数据维度和分布选择不同算法或算法组合,根据具体场景需求实行精度和性能之间的平衡。流式实时 & 在线更新:Proxima 采用扁平化的索引结构,支持在线大领域向量索引的从 0 到 1 的流式建立,并利用街坊图的便利性和数据特点,实行了索引即增即查、即时落盘,以及实时动态更新。标签+向量检索:Proxima 在索引算法层实行了“带条件的向量检索”方式,处理了传统多路归并召回结果不理想的情况,更大程度的满足了组合检索的要求。异构计算:Proxima 支持大批量高吞吐的离线检索加速,同时处理了 GPU 建立街坊图索引的难题,另一方面也成功处理了小批量+低延时+高吞吐的资源利用课题,并将其全面应用在淘宝的搜刮推荐系统中。高性能和低成本:有限成本下实行最大化性能并满足业务的需求是向量检索需要处理的主要课题。Proxima 实行了对多种平台和硬件的优化,支持云服务器和部分嵌入式设备,通过与分布式调度引擎的结合实行离线数据检索和训练,通过扁平化索引和磁盘检索的方案实行了对冷数据的快速检索。场景适配:结合超参调优和复合索引等方式,通过对数据采样和预实验,Proxima 可以处理一些数据场景智能适配的课题,从而提高系统的自动化才智,以及增强用户的易用性。

3.2 业内对比

目前,业内普遍使用的向量检索库是 Facebook AI 团队开源的 Faiss (Facebook AI Similarity Search) 引擎。Faiss 非常优秀,也是不少服务化引擎的基础核心,但 Faiss 在大领域通用检索场景方面仍存在一些局限性,如流式实时计算、离线分布式、在线异构加速、标签&向量联合检索、成本控制以及服务化等方面。

例如,针对公开的十亿领域的 ANN_SIFT1B 数据集(来源 corpus-texmex.irisa.fr),在 Intel(R) Xeon(R) Platinum 8163 CPU & 512GB 内存的服务器上,由于 Faiss 要求的计算资源过于庞大,无法实行单机十亿领域的索引的建立和检索。而 Proxima 在同样的环境和数据量下单机可以轻松完成十亿领域的索引的建立和检索。

考虑到测试的可行性,达摩院团队在同样是 2 亿领域的数据量下,针对索引建立和检索对比了 Faiss 和 Proxima,另外,同样 2000 万领域的数据量下,对比了 Faiss 和 Proxima 单卡的异构计算才智,对于十亿领域的数据量 Proxima 则单独给出测试数据,具体结果如下。

3.2.1 检索对比

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

Proxima 的检索性能优于 Faiss 数倍,并且能实行更高精度的召回,针对 TOP1 的检索更是技胜一筹。除此,Faiss 在一些算法实行上也存在设计缺陷,例如 HNSW 的实行,针对大领域索引,检索性能非常低。

3.2.2 建立对比

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

Faiss 两亿领域索引的建立时间需要 45小时,采用 HNSW 优化的情况下可缩短到 15小时,而相同资源下 Proxima 一个多小时便可建立完索引,并且索引的存储更小,精度更高(见检索对比)。

3.2.3 异构计算

Proxima 采用了和 Faiss 不一样的 GPU 计算方式,特别针对“小批量+低延时+高吞吐”的在线检索场景从事优化。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

Proxima 在小批量场景表现出了惊人的优势,小批量、低延时、高吞吐,并能充分利用 GPU 资源。目前,该检索方案也大领域应用在阿里的搜刮推荐业务上。

3.2.4 十亿领域

Proxima 支持流式索引和半内存建立检索模式,真正做到了有限资源下,单机十亿领域级别的索引建立,以及高性能高精度检索。 Proxima 这种高性能低成本才智为 AI 大领域离线训练和在线检索提供了强有力的基础支持。

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

淘宝推荐、视频搜刮背后的检索技巧:深度揭秘达摩院向量检索引擎Proxima

4. 技巧展望

随着 AI 技巧的广泛应用以及数据领域的不断增长,向量检索作为深度学习中的主流方式,其具备的泛检索和多模态搜刮的才智也将进一步得到发挥。物理世界的实体和特征,通过向量化技巧从事表征和组合,映射到数字世界,借助计算机从事计算和检索,挖掘潜在逻辑和隐式关系,更智能的服务于人类社会。

未来,向量检索除了要面对数据领域的不断增长,算法上仍需要处理混合空间检索、稀疏空间检索、超高维、泛一致性等课题。工程上,面对的场景将越来越广泛,也越来越复杂,如何形成强有力的系统化体系,贯穿场景和应用,将是向量检索下一步发展的重点。

原创文章,作者:特邀精选,如若转载,请注明出处:https://www.iaiol.com/news/tao-bao-tui-jian-shi-pin-sou-gua-bei-hou-de-jian-suo-ji/

(0)
上一篇 2021年 3月 6日 下午9:34
下一篇 2021年 3月 9日 下午4:27

相关推荐

  • 对抗图象变幻进犯,腾讯OVB-AI手艺中心获NeurIPS2021图象近似度寻衅赛季军

    近日,在 AI 顶会 NeurIPS 2021 的图象近似度寻衅赛中(Image Similarity Challenge),来自腾讯在线视频 BU-AI 手艺中心的团队,在 Matching Track 赛道战胜来自全球 1000 多支队伍,荣获季军。

    2022年 1月 9日
  • Nature子刊:科学家在类脑芯片上实现类似LSTM的功能,能效高1000倍

    格拉茨技术大学的计算机科学家在 Nature 子刊上发表的一篇论文表明,他们找到了一种在神经形状芯片上放荡 LSTM 的方案,可以让类脑神经形状芯片上的 AI 算法能效提高约 1000 倍。随着智能手机的普及,手机游戏也越来越受欢迎。但视频游戏等程序会大量耗电耗能。与 GPU 等标准硬件相比,基于 spike 的神经形状芯片有望实现更节能的深度神经收集(DNN)。但这需要我们理解如何在基于 event 的稀疏触发机制(sparse firing regime)中放荡 DNN,否则神经形状芯片的节能优势就会丧失。比如

    2022年 5月 21日
  • 李沐「下手学深度进修」第二全体CNN本周开课,也邀你挑战他10行代码的比赛问题

    本周六,课程将进入第二全体:卷积神经网络,接待对这全体有疑问的同砚上车进修。

    2021年 4月 23日
  • 逼近量化训练?块重修技术打造离线量化新极限

    模型量化技术可以有效加速推理,已经成为人工智能芯片的标配,并在工业落地中广泛应用。离线量化(Post-Training Quantization)不需要耦合训练流程,利用成本和时间成本低,往往作为生产量化模型的首选方式,但其可调整空间有限,因此面临更大的准确度挑战,尤其是在一些特殊场景和极端要求下,不得不进一步引入更为复杂的在线量化(Quantization Aware Training)流程挽救,而这极大增加了量化模型生产的复杂度。如何在享受离线量化便捷高效的同时,在有限的调整“夹缝”中提升其成果上限,成为进一步打破技术红线的关键。在ICLR2021上,商汤科技研究院Spring工具链团队、高性能计算团队和成都电子科技大学顾实老师团队合作提出了块重修技术BRECQ,重新审视量化模型的优化粒度,首次将离线量化在4bit上的成果提升到在线量化的水平,相比在线量化可以节省大于200倍的生产时间,BRECQ在多种搜集和任务上普遍取得了业界最佳成果,打造了离线量化的新极限。

    2021年 3月 26日
  • PyTorch正式加入Linux基金会,Linux基金会多了一把「瑞士军刀」?

    加入 Linux 基金会后,PyTorch 不会有大的改变。

    2022年 9月 13日
  • 5300亿参数的「威震天-图灵」,微软、英伟达合力造出超大语 言模型

    在微软和英伟达的共同努力下, Turing NLG 17B 和 Megatron-LM 模型的继承者诞生了:5300 亿参数,天生强大,它的名字叫做「Megatron-Turing」。

    2021年 10月 12日
  • Science出台新政,旗下部分期刊论文立即收费,无需作家付费

    好起来了?收费科学文献设计Plan S今年生效,Science昨天又放出「大招」。

    2021年 1月 16日
  • AMD Ryzen 5000移动版曝光,功能大涨30%,明年1月或发布

    新呈现的型号 Ryzen 9 5900HX,单核功能要比现在的旗舰级 4900HS 快 30% 左右,还没有算超频。

    2020年 12月 9日
  • 归一化提高预训练、缓解梯度不匹配,Facebook的模型超越GPT-3

    来自 Facebook AI 的研究者提出了 NormFormer,该模型能够更快地达到目标预训练的蛊惑度,更好地实现预训练蛊惑度和下游义务功能。

    2021年 10月 27日
  • 12nm战胜4nm|权威AI测试MLPerf放榜,单卡算力超H100!

    2020年9月9日,寰球权威AI基准评测MLPerf Inference v2.1榜单公布结果。MLPerf是业内公认的国际权威AI功能基准评测,由图灵奖得主大卫·帕特森(David Patterson)联合谷歌、英伟达 、英特尔、Facebook、浪潮等寰球AI领军企业,以及来自哈佛大学、斯坦福大学等学术机构的研究人员创立。该测评以其标准严峻、测评严谨而著称,英伟达、高通等国际AI芯片企业均携最强产物参加测评,竞争十分激烈,各赛道均有数百项产物提交成绩。中国AI芯片企业首次超越英伟达“史上最强GPU”、未来4nm

    2022年 10月 12日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注