腾讯* 在基于英特尔® 至强® 处理器的游戏内购买推荐系统中使用机器学习

网络游戏现在非常受欢迎,特别是受年轻人的喜爱。 他们在业余时间玩游戏, 在家庭成员或朋友之间玩网络游戏。 在很多情况下,玩家需要通过购买东西为游戏中的人物添置装备,以便赢得其他玩家不具备的优势。

为了增强用户的网络游戏体验,腾讯安装了一款采用机器学习2方法的游戏内购买推荐系统,以帮助用户决定他们想为游戏购买什么装备。

腾讯1 是一家互联网公司, 提供数量众多的服务,包括社交网络、web 门户、电子商务和多人在线游戏。

下一部分将介绍推荐系统9 、腾讯用于推荐系统的机器学习算法以及英特尔® 至强® 处理器产品家族如何帮助提升该系统的性能。

推荐系统

推荐系统是一种生成推荐物品列表以供用户选择的机制, 用于帮助用户决定购买哪些物品。 推荐系统可用于选择歌曲、电影、研究文章等等。

在腾讯的案例中,其中一款应用就是使用推荐系统为网络游戏推荐合适的装备。

推荐系统使用以下方法生成物品列表:协作方法10、基于内容的方法11或混合方法。

协作方法是基于系统中其他用户的评分或行为进行推荐的算法。 它会分析用户的活动或偏好,并根据他们与其他用户的相似性来预测用户会喜欢什么。

基于内容的算法会根据物品的描述和用户的兴趣资料,向用户推荐一个物品。

混合算法结合了协作算法和基于内容的算法的优势。

腾讯在其游戏内购买推荐系统中使用称为逻辑回归3 的机器学习算法。 下一节将简要讨论逻辑回归及其公式。

逻辑回归

逻辑回归是一种预测分析。 它是用于二进制分类的最流行的机器学习算法之一。 二进制分类意味着结果是二分的,也就是说只有两个类,如赢和输,是和否,真和假,1 和 0。 例如,打赌一匹马将赢得或输掉比赛。 这里我们有两个类,赢和输。 这里的目标/因变量是赌注。 如果这匹马赢得比赛,它的值为 1,如果输掉比赛,则为 0。

逻辑回归就是使用以下等式找出对数几率的概率5

p: 事件存在的概率

1 – p: 事件不存在的概率

β: 权重

x: 自变量

逻辑回归会生成上述公式的系数 β,以预测事件存在的概率。

腾讯游戏内购买推荐系统和英特尔® 至强® 处理器 E5 v4

腾讯机器学习引擎会对大量在线游戏用户的行为进行分析,从而为用户推荐应当在游戏中使用哪些装备。 因此,它需要强大的计算能力来缩短模型训练时间。 它在模块中广泛使用 DGEMM6来计算逻辑回归机器学习算法的系数。 DGEMM 是双精度浮点数的矩阵乘法函数。

腾讯机器学习引擎通过英特尔® 数学核心函数库(英特尔® MKL)利用 DGEMM 函数7。 英特尔至强处理器 E5 v4 产品家族支持英特尔® 高级矢量扩展指令集 2(英特尔® AVX2)8,英特尔 MKL 使用英特尔 AVX2 进行了性能的高度优化。 使用英特尔 MKL 的应用只需链接到最新版本的英特尔 MKL 即可利用未来英特尔® 至强® 处理器中的新功能,因为英特尔 MKL 将自动检测新功能并使用它们(如适用)。

性能测试流程

为了解当前一代英特尔® 至强® 处理器相对于上一代英特尔® 至强® 处理器的性能改进情况,我们在两个平台上进行了测试。 一个系统配备英特尔® 至强® 处理器 E5-2699 v3,另另一个配备英特尔® 至强® 处理器 E5-2699 v4。

测试配置

配备双路英特尔® 至强® 处理器 E5-2699 v4 的系统

  • 系统: 预生产
  • 处理器: 英特尔至强处理器 E5-2699 v4 @2.2GHz
  • 高速缓存: 55 MB
  • 内核: 22
  • 内存: 128 GB DDR4-2133MT/秒

配备双路英特尔至强处理器 E5-2699 v3 的系统

  • 系统: 预生产
  • 处理器: 英特尔至强处理器 E5-2699 v3 @2.3GHz
  • 高速缓存: 45 MB
  • 内核: 18
  • 内存: 128 GB DDR4-2133 MT/秒

操作系统: Red Hat Enterprise Linux* 7.2-kernel 3.10.0-327

软件:

  • GNU* C 编译器套装 4.8.2
  • OpenJDK* 7
  • Spark* 1.5.2
  • 英特尔® MKL 11.3

应用: 腾讯机器学习训练工作负载

测试结果

以下测试结果分别显示了应用级别和系数计算模块的性能改进情况。


图 1: 使用英特尔® 至强® 处理器 E5-2699 v3 的应用与使用英特尔® 至强® 处理器 E5-2699 v4 的应用对比。

图 1 显示了使用英特尔® 至强® 处理器 E5-2699 v3 的应用和使用英特尔® 至强® 处理器 E5-2699 v4 的应用的对比结果。 由于应用是可扩展的,因此它可以调度更多任务在 v4 而非 v3 中并行运行,从而缩短机器学习模型的训练时间。 


图 2: 使用启用英特尔® AVX2 的英特尔® 至强® 处理器 E5-2699 v4 时,系数计算模块的性能对比

图 2 显示了在配备英特尔至强处理器 E5-2699 v4 的系统上启用英特尔 AVX2 时,计算系数模块的性能改进情况。 性能提升了 44%。

注: 性能测试中使用的软件和工作负载可能仅在英特尔® 微处理器上进行了性能优化。 诸如 SYSmark* 和 MobileMark* 等测试均系基于特定计算机系统、硬件、软件、操作系统及功能。 上述任何要素的变动都有可能导致测试结果的变化。 请参考其他信息及性能测试(包括结合其他产品使用时的运行性能)以对目标产品进行全面评估。 更多信息敬请登录 http://www.intel.cn/content/www/cn/zh/benchmarks/intel-product-performance.html

结论

游戏内购买机器学习推荐系统嵌入在腾讯游戏内。 因此,优化该系统将有助于加速决策流程,让系统为玩腾讯游戏的玩家推荐更好的游戏装备。 英特尔 MKL 使用英特尔 AVX2 来提高在配备英特尔至强处理器的系统上运行应用的性能。

参考资料

  1. 腾讯公司信息
  2. 机器学习
  3. 逻辑回归
  4. 什么是罗吉特
  5. 几率和对数几率
  6. DGEMM
  7. 英特尔® 数学核心函数库
  8. 英特尔® AVX2
  9. 推荐系统的机器学习
  10. 合作推荐
  11. 基于内容的推荐
  12. 混合推荐
有关编译器优化的更完整信息,请参阅优化通知