更高效处理海量视频、图片和语音

英特尔技术助力快手 AI 平台显著提升内容感知和理解能力

引言:

  • “快手的愿景,是以科技实现每个人独特的幸福感。帮助用户记录自己的生活,让每个人都有机会被世界看到,这些都离不开背后 AI 系统的支撑。

  • 通过对海量视频、图片和语音进行高速处理,快手实现了通过一个小小的应用,来拉近人与人之间的距离,提升用户的幸福感。英特尔产品与技术的加入,尤其是新一代英特尔® 至强® 可扩展处理器的采用,帮助我们更好地实现了这一目标。”

  • 李岩 多媒体内容理解部负责人 北京快手科技有限公司

author-image

作者

快节奏的生活和移动互联网的普及,让移动短视频成为人们的移动应用新宠。来自分析机构的数据指出:截止到 2018 年 6 月,短视频综合平台与短视频聚合平台的活跃用户规模分别达到了 4.72 亿人和 1.61 亿人。而北京快手科技有限公司(以下简称“快手*”)无疑是这一市场中的佼佼者。诞生于 2011 年的快手,以有趣的使用体验和良好的交互模式,在短短数年间,就成长为日活跃用户数(Daily Active User,DAU)过亿的行业独角兽。

良好用户反馈的背后,是快手强大的技术支撑能力。从成立伊始,快手就积极组建 AI 团队,推出智能推荐、人脸识别、自动美颜、视频即时特效等功能,深得用户青睐。随着业务的高速增长,尤其当其日播放量已达百亿次级,日上传视频量已达千万条级时,快手的 AI 平台也开始经受严峻的性能考验,亟需寻求更强劲的计算力和更优化的算法予以应对。

针对快手的需求,引领 AI 领域计算平台创新的英特尔为其提供了从产品到技术的全方位支撑。一方面,英特尔向快手提供了包括英特尔® 至强® 可扩展处理器在内的各类先进硬件产品,为快手 AI 平台打造算力更为强劲的基础设施,另一方面,为其导入英特尔® 数学核心函数库(Intel® Math Kernel Library,英特尔® MKL)以及来自英特尔的高性能编译器,来帮助快手进一步优化其 AI 算法。双方的通力协作取得了良好效果,一系列测试与实际部署数据都表明,英特尔产品与技术的引入,无论是在图像检索、还是在语音识别能力上,都帮助快手 AI 平台获得了数倍的性能提升,这为快手业务的进一步拓展与用户体验的改善,提供了良好的技术助力。

对于快手人而言,他们更愿意称自己的公司为 AI 公司而非短视频聚合平台。快手基于用户行为的 AI 特征分析会随着用户的深入使用变得越来越细致、越来越具体,而用户则惊喜地发现,他们总是能够刷到喜欢的短视频,上传的短视频也能得到更多的点赞。这背后,是快手 AI 平台对数十亿视频内容的深刻理解。内容理解,是快手在 AI 领域的核心技术之一,通过快速解析用户上传的短视频内容,对内容的各个维度进行精确量化,从而衍伸出匹配、推荐、搜索、广告投放、安全监控等一系列功能。事实上,AI 平台已成为快手实现各类酷炫功能时不可或缺的基础平台。

但构建强大高效的 AI 平台并非易事。众所周知,在深度学习等 AI 方法中,随着数据处理量的增加,所需的计算力将呈几何级数增长。早在 2012 年 Google Brain* 进行的一次测试中,为了利用深度神经网络来识别视频中的猫,系统共使用了 16,000 个通用处理器。如今,快手的短视频发布总量已达 70 亿条,每天新增视频达到千万量级,其所面临的计算量可想而知。因此,要应对这一挑战,快手 AI 平台需要做的是:配备更强的计算力,对 AI 算法进行更深入的优化。

新一代处理器提供更强算力

无论是智能推荐,还是精准营销,或者是智能鉴黄,短视频应用背后的 AI 平台,都需要对用户上传的视频进行有效的分析和感知。图像和语音是其中两个核心维度。在图像维度,通过图像检索技术,平台可以实现内容特征库的构建,并建立高效的特征库索引;在语音维度,通过语音识别技术,平台可以对人物的情绪、年龄等属性进行精准分析。因此,图像检索和语音识别是目前快手 AI 平台的两大核心功能。

K-Means* 聚类算法是目前快手 AI 平台重要的图像检索算法之一。通过对图像内的信息进行向量转化,再通过 K-Means 聚类算法计算聚类中心,从而快速得到索引。利用这一算法,快手 AI 平台可以迅速将用户上传的视频进行索引归类,加入特征库,并通过推荐系统向用户推荐匹配度和相关性最高的视频。可以说,AI 平台图像检索的处理速度,将直接影响快手多项用户功能的使用体验。

实施 K-Means 聚类算法时,AI 平台需要执行大量的迭代计算。当需要处理的图像数据集达到一定规模后,快手发现,其 AI 平台在多线程计算处理上开始显现出不足。为此,英特尔团队一方面帮助快手对其算法进行优化,通过重构数据结构和完全矢量化的方法,使算法的数据处理效率得以提高。另一方面,英特尔为快手 AI 平台提供的新一代英特尔® 至强® 可扩展处理器,也极大地提升了K-Means 聚类算法的处理效率,拥有多达 28 个内核的英特尔® 至强® 可扩展处理器,可以轻松应对上文所述的多线程计算能力不足问题。同时,其全新的内核微架构,包括所有内核共用末级高速缓存(Last Level Cache,LLC)、六内存通道以及多达 48 个PCIe* 通道等特性,也能有效地对 K-Means 聚类算法的优化内容予以支持,令其在处理海量图像数据时获得更优性能。

在英特尔® 至强® 金牌 6130 处理器上进行的一项图像检索对比测试中,基准测试组与优化测试组分别采用优化前后的 K-Means 聚类算法对 10 亿张图片进行图像检索处理。测试数据如图一所示,经过优化的 K-Means 聚类算法,可使快手 AI 平台的性能增至原有的 2.22 倍。

图一 K-Means 聚类算法用于图片检索处理的对比测试

全方位算法优化释放平台潜能

针对海量视频内容进行语音识别也是快手 AI 平台的重要职责之目前,快手采用业界流行的 Kaldi* 语音识别工具箱来进行这一工作。而在 Kaldi 处理语音的各个环节中,有多处需要用到大量的矩阵计算。传统上,Kaldi 会调用其内置的 BLAS*/LAPACK* 模块来执行这些计算,但实践证明,这些模块还有大量值得优化的空间。

为帮助快手 AI 平台进一步提升在语音识别上的工作效能,除引入新一代的英特尔® 至强® 可扩展处理器外,英特尔还为快手提供了英特尔® MKL 与高性能编译器两项“尖端武器”,前者包含了一系列经过深度优化、线程化和矢量化的数学函数,能够最大化地发挥基于英特尔® 架构的处理器的性能潜力,同时其也能与 Kaldi 中的其它模块相互兼容。来自英特尔的高性能编译器自带的大量高性能可用设置,也可与新一代英特尔® 至强® 可扩展处理器相互配合,为矩阵计算带来更高的计算效率,从而大大提高语音识别在解码等流程上的性能。

为验证优化后的效果,快手基于最新的英特尔® 至强® 金牌 6148 处理器对语音识别优化前后的性能进行了对比测试。基准测试组采用了操作系统内置的 GCC 编译器和 Kaldi 内置的BLAS/LAPACK 模块,而优化测试组采用了英特尔® MKL 与高性能英特尔® 编译器的组合,并根据快手在不同场景下语音识别需求,结合不同算法和数据集设计了 6 种工作负载。测试数据如图二所示,经过优化的语音识别,处理性能可提升至优化前的 1.92 倍到 2.46 倍不等。

图二 优化前后的语音识别对比测试

更多部署方案,更大发展空间

快手科技 CEO 宿华曾提到,对快手来讲,是要构建一整套以 AI 技术为核心的基础设施,能够用科技的力量提升每一个人独特的幸福感觉,能够让每一个人更多更好地感受这个世界,也能够更好地被这个世界所感受到。

快手与英特尔的工程师们正携起手来,以先进的产品与技术为这一愿景添砖加瓦。现在,快手已开始引入英特尔® 至强® 金牌6130 处理器作为其 AI 平台的核心计算引擎,并逐渐引入性能更为强劲的英特尔® 至强® 金牌 6148 处理器。未来,双方还计划在 AI 基础设施构建,软件、算法优化等多个维度开展更深层次的合作,以技术之“芯”,帮助人们记录和分享在这个美好世界中的点点滴滴。