网络游戏现在非常受欢迎,特别是受年轻人的喜爱。 他们在业余时间玩游戏, 在家庭成员或朋友之间玩网络游戏。 在很多情况下,玩家需要通过购买东西为游戏中的人物添置装备,以便赢得其他玩家不具备的优势。
为了增强用户的网络游戏体验,腾讯安装了一款采用机器学习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 来提高在配备英特尔至强处理器的系统上运行应用的性能。