快,关注“Linux宝库”,一起涨姿势~
现在,网络游戏非常受欢迎,特别是受年轻人的喜爱。他们在业余时间玩游戏,在家庭成员或朋友之间玩网络游戏。在很多情况下,玩家需要通过为游戏中的人物购买装备,以获得其他玩家不具备的优势。
为了增强用户的网络游戏体验,腾讯安装了一款采用机器学习方法的游戏内购买推荐系统,以帮助用户决定为游戏购买什么装备。
腾讯是一家互联网公司,提供数量众多的服务,包括社交网络、Web 门户、电子商务和多人在线游戏。
下面,将分别介绍推荐系统、腾讯用于推荐系统的机器学习算法,以及英特尔®至强®处理器产品家族如何帮助提升该系统的性能。
推荐系统
推荐系统是一种生成推荐物品列表以供用户选择的机制,用于帮助用户决定购买哪些物品。 推荐系统可用于选择歌曲、电影、文章等等。
在腾讯的案例中,其中一款应用就是使用推荐系统为网络游戏推荐合适的装备。
推荐系统使用以下方法生成物品列表:协作方法、基于内容的方法或混合方法。
协作算法是基于系统中其他用户的评分或行为进行推荐的算法。它会分析用户的活动或偏好,并根据该用户与其他用户的相似性来预测用户会喜欢什么。
基于内容的算法会根据物品的描述和用户的兴趣资料,向用户推荐一个物品。
混合算法结合了协作算法和基于内容的算法的优势。
腾讯在其游戏内购买推荐系统中使用称为逻辑回归的机器学习算法。下一节将简要讨论逻辑回归及其公式。
逻辑回归
逻辑回归是一种预测分析。它是用于二进制分类的最流行的机器学习算法之一。二进制分类意味着结果是二分的,也就是说只有两个类,如赢和输,是和否,真和假,1 和 0。 例如,打赌一匹马将赢得或输掉比赛。 这里我们有两个类,赢和输。 这里的目标/因变量是赌注。 如果这匹马赢得比赛,它的值为 1,如果输掉比赛,则为 0。
逻辑回归就是使用以下等式找出对数几率的概率:
p: 事件存在的概率
1 – p: 事件不存在的概率
β: 权重
x: 自变量
逻辑回归会生成上述公式的系数 β,以预测事件存在的概率。
腾讯游戏内购买推荐系统和英特尔® 至强® 处理器 E5 v4。
腾讯机器学习引擎会对大量在线游戏用户的行为进行分析,从而为用户推荐应当在游戏中使用哪些装备。因此,它需要强大的计算能力来缩短模型训练时间。它在模块中广泛使用 DGEMM来计算逻辑回归机器学习算法的系数。DGEMM是双精度浮点数的矩阵乘法函数。
腾讯机器学习引擎通过英特尔® 数学核心函数库(英特尔® MKL)调用DGEMM函数。英特尔至强处理器 E5 v4 产品家族支持英特尔® 高级矢量扩展指令集 2(英特尔® AVX2),英特尔 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来提高在配备至强处理器的系统上运行应用的性能。
关于作者:
IDZ,英特尔开发人员专区。是一个全球性网站,旨在为软件社区。提供见解、信息、专业知识和工具,以帮助在英特尔软件环境中工作的开发人员开拓创新,取得成功。
关于“Linux宝库”微信公众号:
欢迎关注"Linux宝库"微信公众号,这里每天发布最新的开源人物和开源事件。谨以此号记录Linux和开源业界的点点滴滴,为开源爱好者和从业者点亮人生。
- END -
- 责任编辑:丸子 -