写点什么

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

  • 2014-07-10
  • 本文字数:915 字

    阅读完需:约 3 分钟

在上周的 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-07-10 11:034179
用户头像

发布了 268 篇内容, 共 137.0 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

如何进行需求梳理及埋点方案设计

易观大数据

企业架构框架之TOGAF

冯文辉

企业架构

以中立性的立场看Severless的目标和流派

韩超

云原生 serverles

Flask-Restful 中 fileds.DateTime 不支持 strftime 格式

Leetao

Python flask web开发 Python框架 flask-restful

数十家技术社区联名推荐的GeekOnline来了!

Geek_116789

《北京市政务服务领域区块链应用创新蓝皮书(第一版)》正式发布

CECBC

单例模式的几种写法你用的哪种?

Java小咖秀

Java 设计模式 23种设计模式

聊聊Dubbo(二):简单入门

猿灯塔

平价又好用的学习电脑小轩PRO来啦,为孩子创造超强学习体验

最新动态

林左鸣 史瑞华:人类应鼎力进行的探索

CECBC

分布式事务解决方案Seata源码解析

Java 分布式 分布式事务

区块链加持的家用摄像头能拯救你的隐私吗?

CECBC

CAP原理

jason

LeetCode题解:141. 环形链表,JavaScript HashMap,详细注释

Lee Chen

大前端 LeetCode

防止数据重复提交的6种方法(超简单)!

王磊

Java

朱嘉明:区块链成为经济转型、形成产业新业态的技术手段

CECBC

图解:如何实现最小生成树

淡蓝色

Java 数据结构 算法

Python的四种作用域及调用顺序

BigYoung

Python 局部作用域 全局作用域

可读代码编写炸鸡七 - 表达式太长就拆

多选参数

代码质量 代码组织 代码规范 可读代码编写 可读代码

寻找握剑的手,青睐懂行的人

脑极体

可读代码编写炸鸡六 - 控制流尽量向前奔涌就好,不要分心

多选参数

代码 代码优化 代码规范 可读代码编写 可读代码

Week 06 命题作业

Jeremy

解决问题 1474 个,Flink 1.11 究竟有哪些易用性上的改善?

Apache Flink

flink

Week 06学习总结

Jeremy

毕业半年的憨憨,将公司的代码上传到GitHub上了

诸葛小猿

GitHub 代码上传

计算机揭秘之:网络分类和性能分析

程序那些事

TCP 计算机网络 网络协议 计算机基础 udp

第六周总结

腾志文(清样)

第六周作业

腾志文(清样)

我想模糊删除redis key🤔

山中兰花草

Java lua redis 面试 批量任务

MQTT的搭建、测试、应用及小程序的集成!

诸葛小猿

物联网 IoT mqtt broker

【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播

华为云开发者联盟

运维 服务器 直播 云服务 华为云

Sibyl: 来自Google的大规模机器学习系统_语言 & 开发_张天雷_InfoQ精选文章