英特尔|英特尔与京东优化分布式特征向量检索系统Vearch,加速AI应用创新

有没有那么一首歌 , 会让你想不起来叫什么?
有那么一首旋律 , 在你的脑海中萦绕 , 但你却想不起来它的名字和演唱者 。 看到一朵美丽的花 , 却不知道它叫什么 , 属于什么科目 。 类似的情形 , 每个人都遇到过 。 不过 , 现在这些都不成为问题了 。 打开一个手机应用 , 哼一下曲调 , 或者用相机拍一张照片 , 答案马上出现在你面前 。 变身行走的知识小百科 , 就这么简单!
英特尔|英特尔与京东优化分布式特征向量检索系统Vearch,加速AI应用创新
本文图片
图片来源:Pexels
听音识曲 , 以图搜图 , 所有这些 , 都有赖于人工智能的特征向量检索能力:AI 机器学习算法 , 可以从图像、音视频和文本中抽取大量的特征 , 再用于视频相似度检测、人脸识别等业务场景中 , 对于 AI 训练与应用有重要价值 。
随着 AI 的开发和应用不断普及和深入 , 企业需要计算、存储海量特征向量数据 , IT 基础设施因此面临沉重的性能压力 。 英特尔和京东一起 , 在基于英特尔至强可扩展处理器的服务器上 , 开发了服务于 AI 时代的分布式向量搜索系统Vearch , 让京东的业务综合性能获得显著提升 , 从而显著加速重复图片去重、相似性商品图片搜索、人脸识别等 AI 应用的响应速度 。
跨越性能挑战:
软件算法优化+硬件并行计算
这几年来 , 京东一直在落地 AI 技术 , 帮助业务成长 。 因此 , 深度学习等 AI 应用在企业内部的规模越来越大 , Vearch 应运而生 。
英特尔|英特尔与京东优化分布式特征向量检索系统Vearch,加速AI应用创新
本文图片
Vearch向量检索系统架构
分布式基础向量检索系统 Vearch , 由京东零售技术与数据中心基础架构团队在现有业务和应用场景中提炼得出 , 面向 AI 时代 , 希望可以帮助 AI 算法专家集中精力在算法上 。 Vearch 广泛应用于图像、音视频和自然语言处理等各个机器学习领域 , 完整地解决海量特征的存储与计算 ,以统一的基础设施 , 适用于图像、视频、音频检索和去重 , 安防视频智能监控 , 文本相似度计算、推荐、搜索召回及排序等 。 例如 , 基于 Vearch 的实时在线相似性图片搜索 , 帮助电商平台为用户提供同款商品搜索服务 , 提升用户体验 。
英特尔|英特尔与京东优化分布式特征向量检索系统Vearch,加速AI应用创新
本文图片
基于Vearch的在线相似性图片搜索流程
诸如 Vearch 这样的系统 , 特征向量的规模常常会达到 10/100 亿 , 甚至千亿量级 , 必须有充足的内存和存储才能满足 , 同时部署大量的容器加以支持 。 为了最大化利用资源 , 企业会将单个容器的资源控制在较小范围内 。 在这种单容器资源有限的情况下 , 如何有效地整合零碎化 CPU、 内存和磁盘资源 , 并且保证整体系统的高性能是一个较大的挑战 。
针对 Vearch 的性能问题 , 京东技术团队与英特尔合作 , 在基于英特尔至强可扩展处理器的服务器上 , 借助下列多种方式在软件算法层面加以优化 。
在硬件提升层面 , 英特尔至强可扩展处理器也功不可没 。 它不但有强大的通用计算能力 , 还集成了增强单指令多数据流(Single Instruction Multiple Data , 简称SIMD)的英特尔 AVX-512 指令集等创新技术 , 兼顾并行计算能力 , 在诸如人工智能、高性能计算等强调 SIMD 的场景中长袖善舞 。
为了验证性能优化的实际效果 , 京东与英特尔对于Vearch优化版IVFPQ和IVFFlat进行了测试 。 测试结果表明 , 使用 IVFPQ 算法的 Vearch 性能可以提升 33%-44% , 使用 IVFFlat 算法 , 性能提升最高达到 5.9 倍 。 在人脸识别等实际应用中 , 不需大幅投资基础设施 , 优化后的 Vearch 可以提升特征向量检索的速度 , 降低存储资源消耗 , 节约总体拥有成本(TCO) 。