gydtep
发表于 2021-11-19 09:00:37
深度学习需要专业的数据科学人才,而这些人才仍供不应求。目前只有屈指可数的少数公司能从深度学习中获益,其他企业正在迎头赶上。
gydtep
发表于 2021-11-19 15:21:38
新一代的搜索推荐系统吸纳了深度学习的 Embedding 的能力, 通过诸如 Item-Item (i2i)、User-Item (u2i)、User-User-Item (u2u2i)、User2Item2Item (u2i2i) 等向量召回的方式实现快速检索。
gydtep
发表于 2021-11-19 19:33:52
另外,维数的增加也造成了一些向量检索方法的效率下降,在高维空间下华而不实,同时工程上也增加了数据计算和存储成本。其次,算法上缺乏完全通用性,无法对数据实现泛一致性检索,即任何数据分布上,检索算法都是有效的。
gydtep
发表于 2021-11-19 20:38:26
Proxima 是阿里巴巴达摩院自研的向量检索内核。目前,其核心能力广泛应用于阿里巴巴和蚂蚁集团内众多业务,如淘宝搜索和推荐、蚂蚁人脸支付、优酷视频搜索、阿里妈妈广告检索等。
gydtep
发表于 2021-11-20 16:05:44
Faiss 两亿规模索引的构建时间需要 45小时,采用 HNSW 优化的情况下可缩短到 15小时,而相同资源下 Proxima 一个多小时便可构建完索引,并且索引的存储更小,精度更高(见检索对比)。
gydtep
发表于 2021-11-20 16:23:36
目前,业内普遍使用的向量检索库是 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 则单独给出测试数据,具体结果如下。
gydtep
发表于 2021-11-20 16:50:28
Proxima 在小批量场景表现出了惊人的优势,小批量、低延时、高吞吐,并能充分利用 GPU 资源。目前,该检索方案也大规模应用在阿里的搜索推荐业务上。
gydtep
发表于 2021-11-21 06:58:25
DevOps的挑战
对于应用交付的整个流程而言,通常会涉及三个环节,即开发、测试和运维,而在传统的组织架构中,他们对应的也往往是三个不同的团队。这三个环节各自有自己的侧重点,但是在实际上,想要让整个应用交付过程变得顺滑高效,并且让应用在上线后保持高可用的状态,往往需要三个团队将相互之间存在的墙打破掉。
gydtep
发表于 2021-11-21 07:13:48
这里的墙不只是组织架构隔阂所带来的障碍,还包括三个领域关注点的不同。比如开发需要关注可测试性和可运维性,这些东西将会深刻地影响应用的架构设计和开发实现,如果开发同学没有充分考虑到代码的可测试性,那么交给测试同学就会造成很大的问题,比如如何实现故障注入和精细流控,这都需要在开发时就考虑清楚。
gydtep
发表于 2021-11-21 10:07:09
阿里内部之前很多故障也都是因为开发和运维之间在设计上面存在信息不一致导致的,比如在开发设计时会做三副本的高可靠保证,但是在运维侧则可能会认为副本所在的机器没有提供服务因此被错误下线掉。