快手的推荐系统背后,英特尔做了什么?

  • 来源:网络
  • 更新日期:2020-08-05

摘要:大数据时代,个人信息越来越透明,以至于手机 APP 都能读懂你我的心思,甚至能将信息精准地送达到每一个移动端。APP 开发者将其称之为 " 算法推荐 ",商家将其称之为 " 个性化定制

大数据时代,个人信息越来越透明,以至于手机 APP 都能读懂你我的心思,甚至能将信息精准地送达到每一个移动端。APP 开发者将其称之为 算法推荐 ,商家将其称之为 个性化定制 。有人为推荐机制津津乐道, 原来手机比男朋友更懂我 ,听到更多合口味的音乐,看更多爱好的视频;也有人感叹其恐怖,担心陷入算法布局好的陷阱,陷入信息茧房。

价值巨大的推荐系统

虽然我们开始警惕推荐机制可能带来的危害,但对于企业而言,推荐机制蕴藏着巨大的价值,推荐系统的加速不会停止。

根据王喆老师的论文《深度学习推荐系统》 [ 1 ] 中的例子,2019 年天猫 双 11 的成交额是 2684 亿元,天猫推荐系统实现了首页商品的个性化推荐,其目标是提高转化转化率和点击率。假设推荐系统进行了优化,整体的转化率提高 1%,那么增加的成交额大约为 26.84 亿元。由此可见,相比于对信息茧房的担忧,互联网巨头当然是更关心这笔数目不小的收益增长,进一步加速各自的推荐系统,短视频玩家快手也不例外。

根据快手官网数据显示,2015 年 6 月,快手的单日用户上传视频量突破 260 万;2016 年 4 月总用户数突破 3 亿。截止目前为止,快手累计 200 亿条短视频库存,每天仍有超过 1500 万条视频新增、千亿条视频曝光,早已从一个 Gif 生成工具蜕变成为一个日活 3 亿、日播放量 200 亿的短视频社区。

当构建起庞大的数字世界后,快手需要面对的问题是,如何在承载高峰期每秒数十万并发调用量的同时,从上亿级别的短视频库中,通过千亿参数级别的深度模型向不同的用户对象推送合适的内容,即其推荐系统的加速问题。

为此,快手基于异构设备构建了计算与存储分离的推荐系统架构。在该架构的内部,主要由两部分任务组成,一部分是包括推荐服务、预估服务、召回服务在内的计算敏感性服务,另一部分是包括用户画像、参数服务器以及分布式服务器索引的存储敏感性服务,这些模块需要实现大容量内存的数据存储及快速的数据访问。

提升训练速度的英特尔 Cooper Lake

实际上,推荐系统加速的本质,一方面是人工智能应用的升级,机器需要对图片、视频等信息进行学习和分类;另一方面,则是对存储和访问的进一步需求。

今年 6 月,英特尔推出的第三代至强可扩展处理器 Cooper Lake 就是专为当今内置人工智能数据密集型服务而设计的处理器。雷锋网了解到,英特尔第三代可扩展处理器进一步升级了 DLBoost 深度学习加速技术,同时,在深度学习加速架构下的 VNNI 神经网络指令支持 bfloat16 数据格式。与上一代平台 Cascade Lake 最顶级的 CPU 8280 相比,在图像分类处理上,Cooper Lake 的计算性能提升 1.93 倍。

在对人工智能的支持上,区别于第二代至强可扩展处理器支持的 Int8 数据格式和传统的 FP32 数据格式,bfloat16 数据格式是采用 16 位存取一个数据,包括 1 个符号位,8 个指数和 7 个尾数位,同时保证了数据的范围和精度。

雷锋网了解到,虽然 bfloat16 的精度没有 FP32 的精度高,但是 7 位尾数对于大多数人工智能的推理计算模型而言,精度已足够使用。英特尔技术人员透露,相比于上一代基于 FP32 数据格式做训练,VNNI 搭配 bfloat16 能使训练性能提高 93%,推理性能提高 90%。

Cooper Lake 或将是快手加速推荐系统的好选择。

依托傲腾持久内存,加速存储与访问

更好地存储与访问,是快手在加速推荐系统过程中,需要面临的另一个问题。

在传统的存储架构中,大容量持久化存储主要在硬盘或者固态盘中,对于快手的推荐系统而言,尤其是参数服务器和分布式索引服务,从硬盘或固态盘中索引数据,工作量大,时延长。若将索引工作直接在内存中进行,就会降低访问延时,提高推荐系统的响应。

不过,在内存存储金字塔中,金字塔顶端的存储方案,性能高,存储低,单位容量成本高,金字塔低端则是容量大、性能低,成本低的存储方案,存在断层现象,比如常规的 DDR4 的内存和 NAND 的闪存,访问的延迟相差 1000 倍,典型的容量相差 100 倍,而单位容量的成本相差 10 倍。这一断层现象导致很多应用在选择方案时,难以找到比较平衡的设计。

基于这一难题,英特尔推出了傲腾持久内存,与上一代产品相比,其内存带宽提升 25%,若搭配之后发布 Ice Lake 的平台,每处理器可带来 4.5TB 的总内存容量。同时,在做数据写入时,其访问延迟只有几百纳秒,而一个普通的 NAND SSD 的访问时间则在 100 微秒左右。

英特尔技术专家介绍,英特尔第三代至强可扩展平台与傲腾持久内存结合,可将服务器上每个节点的容量从原来的几百 GB 扩展至 TB 级别,例如一个 4 路、4 个插槽的第三代至强可扩展处理器平台,每个插槽都搭配傲腾持久内存,支持的最大内存就可达到 18T。

基于此,快手率先与英特尔展开合作,结合英特尔至强可扩展处理器平台和傲腾持久内存,快手推荐系统性能及 TCO 得到了优化和提升。不仅大大降低了数据访问延迟时间,还缩短了系统故障恢复时长。

同时,傲腾持久内存与 DRAM 内存性能表现相似,前者相比于后者更具成本和容量优势。因此在同英特尔的合作中,快手推荐系统的总拥有成本(CTO)降低了 30%。

除了在推荐系统方面同英特尔合作,改善存储与访问速度之外,快手也正在同英特尔探讨成立联合实验室,推动业务创新及升级数据中心。

作为推荐系统的受益者,快手或将在进一步加速生态系统的过程中再次尝到甜头。

[ 1 ] 王喆,《深度学习推荐系统》,电子工业出版社

雷锋网雷锋网雷锋网