写点什么

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:034210
用户头像

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

关注

评论

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

建筑中如何使用3D可视化?

3DCAT实时渲染

云计算 3D可视化 智慧建筑 BIM

日期格式化 YYYY-MM-DD 出现时间偏移量

HoneyMoose

刨析一下C++构造析构函数能不能声明为虚函数的背后机理?

eng八戒

继承 纯虚函数 C++

AngularJS进阶(十四)AngularJS路由问题分析

No Silver Bullet

路由 AngularJS 12月月更

架构实战-模块1作业

mm

架构实战营 10期

看完这篇,还不懂JAVA内存模型(JMM)算我输

JAVA旭阳

Java 并发

AngularJS进阶(十六)脏值检查及语音识别集成

No Silver Bullet

语音识别 AngularJS 12月月更 脏值检查

思路一转,春暖花开!动动手指,这段程序性能又双叒提升2s~15s

靠谱的程序员

MySQL MyBatisPlus Mybatis-Plus

如何选择正确的哈希算法?

Jackpop

33K Star!这才是程序员需要的神器。。。

Jackpop

Linux Network RSS RPS 疑惑

Geek_f24c45

container network veth RPS

cmake 入门笔记

eng八戒

c makefile 工程管理 cmake C++

【愚公系列】2022年12月 微信小程序-Component组件

愚公搬代码

12月月更

ElasticSearch 低成本高可用最佳实践

冰心的小屋

elasticsearch 高可用性

Python初学者必备!适合新手阅读的Github开源代码。。。

Jackpop

C语言怎么给函数添加形参的默认值

eng八戒

c 函数 参数默认值

3月寒窗!啃透美团保姆级分布式进阶技术手册,4月终入美团定L8

程序知音

Java 分布式 java架构 后端技术

实时渲染正在改变可视化游戏

3DCAT实时渲染

云计算 云服务器 云算力 渲染引擎 渲染

排查Linux恶意进程

灵霄

这才是Git的正确学习方式!

Jackpop

8年程序员年初被迫毕业,前后面试30家公司,如今终于拿到Offer!

程序员小毕

程序员 面试 程序人生 后端 架构师

AngularJS进阶(十五)Cookie ‘data‘ possibly not set or overflowed because it was too large

No Silver Bullet

Cookie AngularJS 12月月更

2022-12-02:有a块草莓蛋糕,有b块芝士蛋糕,两人轮流拿蛋糕, 每次不管是谁只能选择在草莓蛋糕和芝士蛋糕中拿一种, 拿的数量在1~m之间随意, 谁先拿完最后的蛋糕谁赢。 返回先手赢还是后手赢。

福大大架构师每日一题

算法 rust 福大大

Python初学者必备!适合新手阅读的Github开源代码。。。

Jackpop

信号量的无序竞争和有序竞争

eng八戒

c Linux Kenel 信号量 C++

Linux 定时器介绍

eng八戒

c 定时器 Linux Kenel C++

守护安全|AIRIOT城市天然气综合管理解决方案

AIRIOT

物联网 天然气

太简单了,一文彻底搞懂Jenkins的用法!

Jackpop

一文了解 Go 接口

陈明勇

Go golang 接口

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