10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

信息的表示与存储-整数的表示

引花眠

java的时间利器:joda

毛佳伟🐳

Java

深度解读 Flink 1.11:流批一体 Hive 数仓

Apache Flink

大数据 flink 流计算 实时计算

搞定 HTTP 协议(一):HTTP 与网络基础

零和幺

技术 大前端 HTTP

匆忙的一周 ARTS第二周

困到清醒

iOS 动画 - 窗景篇(一)

柯烂

ios objective-c swift 移动应用 动画

万字长文,助你吃透Eureka服务发现机制!

攀岩飞鱼

分布式 微服务 Eureka

不想被下载限速,教你自建属于自己的云盘!

小傅哥

小傅哥 云服务 云盘 在线网盘

关于区块链的“去中心化”,90% 的人都搞错了

CECBC

CECBC 区块链技术 去中心化 专制

游戏夜读 | 2020周记(5.24-5.31)

game1night

MySQL实战笔记-事务隔离和MVCC

shiziwen

MySQL 学习 事务隔离级别

赢的境界 - 双赢思维

石云升

创业 创业心态 双赢思维

除了直接看余额,谁更有钱还能怎么比(三)

石君

零知识证明 多方计算 同态加密

这些Java8官方挖的坑,你踩过几个?

牧码哥

Java 踩坑 加密 「Java 25周年」

啪啪,打脸了!领导说:try-catch必须放在循环体外!

王磊

Java 性能优化 性能 java编程

深入理解ContextClassLoader

Skye

深入理解JVM ContextClassLoader

坏的开始是成功的一半

escray

【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。

why技术

redis 分布式锁 分布式系统

产品经理的商业能力

punkboy

程序人生 产品经理 商业 商业模式 商业价值

ARTS打卡 第2周

引花眠

ARTS 打卡计划

深入理解JVM类加载机制

Skye

类加载 深入理解JVM

深入理解ClassLoader

Skye

类加载 深入理解JVM ClassLoader

架构学习历程

从技术到管理,我在极客时间的成长历程

邓建春

[Redis] 你了解 Redis 的三种集群模式吗?

猴哥一一 cium

redis redis高可用 redis哨兵模式 群集安装

是公司养活了你,还是你养活了公司?

四猿外

生涯规划 程序员 个人成长

【大厂面试01期】高并发场景下,如何保证缓存与数据库一致性?

NotFound9

Java MySQL 数据库 redis 后端

机器学习算法评估指标——2D目标检测

做技术BP的文案Gou

Linux 自动化运维工具 ansible

杨仪军

Linux 运维自动化

CPU的性能,编译器是这样压榨的!

GPU

算法 cpu 编译器 程序语言

我的 Windows 利器

玄兴梦影

工具 Win

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