BT

Sibyl: 来自Google的大规模机器学习系统

作者 张天雷 发布于 2014年7月11日 | 首届应用性能管理大会 APMCon,聚焦国内外性能优化先进技术。

在上周的IEEE/IFIP可靠系统和网络(DSN)国际会议上,Google的软件工程师Tushar Chandra做了一个关于Sibyl系统的主题演讲。Sibyl是一个监督式机器学习系统,用来解决预测方面的问题,比如YouTube的视频推荐。

Tushar主题演讲的题目是“Sibyl:一个用于大规模监督式机器学习的系统”。作为一个靠广告盈利的搜索引擎公司,Google每时每刻都在千方百计的努力理解用户的行为,从而投放更精准的广告。在不同的场景下,用户对于不同信息的反映是不同的,Sibyl的目标就是要学习在这些场景下,什么样的信息能够得到最好的用户反映,然后用机器学习模型来计算展示什么样的内容和广告。

这里机器学习技术主要用在改善内容和用户的相关度,帮助网站主改善站点投放广告的强度,避免恶意广告以及改善广告主的回报率等等。而大规模则是指每天一亿次访问。这样量级访问的业务在Google这样的大公司里比比皆是,如其搜索,视频,邮件,手机系统,Google+等业务。在采用了机器学习技术以后(通常着力于改善算法的准确性),业绩提升有10%左右,基本是工业界的最佳实践。

在讲稿中,Tushar给出了Sibyl的系统架构,如下图所示:

讲稿中还向听众报告了Sibyl系统的现状:用了很多理论上很扎实的机器学习算法,如著名的并行Boosting算法,还带有很多损失函数以及规范化方法,解决了很多互联网全网量级的问题,使用的资源请求在合理范围内。Sibyl系统所采用的技术也是业界流行的:在可扩展问题上采用了MapReduce技术,在并行计算上采用了多核多线程技术,在海量数据存储上采用了Google文件系统(GFS),在数据压缩上采用了面向列的数据格式,在模型训练上充分使用内存(类似Spark的思想)。Tushar还尤其给出了多个业务数据在系统中进行训练的过程和实例数字。

最后,Tushar对大规模机器学习系统设计做了一些展望,如要有一个清晰的流水线,数据预处理、训练、使用等要隔离,开发可以分析TB量级数据的工具,以及加入非监督学习(深度学习之类)的算法模型。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论
提供反馈
错误报告
商务合作
内容合作
Marketing
InfoQ.com及所有内容,版权所有 © 2006-2016 C4Media Inc. InfoQ.com 服务器由 Contegix提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司 京ICP备09022563号-7 隐私政策
BT