【报道】在Google从事运筹学工作是怎样的体验?

【报道】在Google从事运筹学工作是怎样的体验?

文章作者:Brian Thomas Eck Ph.D.和 Amber Richter Ph.D. 是谷歌技术性基础设施的运营决策支持小组的量化分析专家。
责任编辑: @姜姜 (UC Berkeley IEOR系博士在读)
文章首发于微信公众号【运筹OR帷幄】:【报道】在Google从事运筹学工作是怎样的体验?
欢迎原链接转发,转载请私信 @留德华叫兽 获取信息,盗版必究。
敬请关注和扩散本专栏及同名公众号,会邀请全球知名学者发布运筹学、人工智能中优化理论等相关干货、知乎Live及行业动态:『运筹OR帷幄』大数据人工智能时代的运筹学

小编注:在谷歌,数据驱动着所有的决策。量化分析家们在机构的各个方面工作,通过处理、分析和推断巨大的数据集来帮助谷歌进行商业和技术的策略制定。那么谷歌的运筹从业人员究竟是如何运用运筹学和统计模型来解决那些从未以“谷歌级”的规模和复杂度解决过的问题呢?一起来读下由两位资深运筹学工作者写的介绍吧。

英语原文写于2016年12月。本文在翻译过程中有删减。

图一:谷歌山景城总部

谷歌公司的使命,是“整合全球信息,使人人都能访问并从中受益“。这已经催生了谷歌多种多样的尝试,例如光纤到户(gFiber), 寿命研究(Calico),智能家居自动化(Nest),YouTube视频网站,葡萄糖检测隐形眼镜(Verily),自动驾驶汽车等等。稳健的搜索和广告业务使如此广泛的创新成为可能。

众所周知, 谷歌的基石是网页搜索。一个网站是重要的如果可以从另外一个网站点入这个网站,这样的想法翻译成数学语言就是:网页排名算法的重要性指数是一个巨大马尔科夫链的平稳分布。从这出发,毫无疑问,谷歌的企业文化一直很重视分析能力。

作为一个运筹学(O.R.)从业者,在一个有许多极高分析能力的同事的环境中工作,“孤独的从业者”有了新的含义。在谷歌公司中行走,随处可见写满了等式、图表、代码和概率分布的白板。大家不仅都尊重数据引导决策的观点,同时还保持着合理的怀疑:数据也可能是误导性的。

各种层次的同行评审和报告的主要作用是改善分析手段。如果在一个报告中,观众只是礼貌地倾听并在结束时鼓掌,这意味着糟糕的会议参与度。一个成功的报告应伴随着不时的打断,对假设和推理的挑战,演讲者与观众的活跃讨论。这在执行演示中同样成立,运筹学分析的结果会接受计算机、统计等方面的专家----这些人士有着聪明的科技头脑同时对商业有的广泛了解----的检阅。不同于一些机构中高级的分析手法往往是保密的,谷歌员工们可以窥探这些分析的黑箱并且参与其中。对于那些从其他公司跳槽来的资深的运筹学从业者,这一点开始可能很困扰人,但过了一些时间,他们会发现通过这样的开明合作,有利于他们在整个谷歌大团体中获得信任和影响力。

整理大规模的信息依赖于软件。每一天,谷歌系统要面对200亿次网页的点击,数百万小时的YouTube视频播放和150万台活跃的安卓设备。这样的规模需要大量的物理基础设施—谷歌在世界范围内无与伦比的集群计算系统。这些基础设施包括13个规模可观的数据中心园区,其中在爱荷华州的Council Bluff园区是世界最大的。除此之外,谷歌在全世界超过33个国家的数个城市配备有设施,并用光纤电缆的全球网络连接了所有设施点,从而能给终端用户带来快速而稳定的信息服务。

建造和扩张基础设施需要数百个分析项目提供的见解。建设过程中的时候需要同时在内部产品区和外部云端客户区高效率地分配计算、储存和网络资源。进阶的分析也应用于许多谷歌公司的产品的核心功能,比如改善用户运用谷歌地图寻找最优驾驶路线时的搜索结果。

进阶的分析技巧某种意义上超越了我们对运筹学的传统定义,因为它还应用了来自其他领域的方法,比如统计、机器人、控制系统、博弈论、微观经济学和风险估计。举个例子,机器学习被用来改善搜索结果,自动化语言翻译,保护Gmail和Chrome的用户不受垃圾邮件和病毒软件的打扰,甚至用以改善数据中心的能源效率。(谷歌是全球最大的可再生能源的企业买家;谷歌的数据中心也是世界能源效率最高的之一)。谷歌在机器学习方面发表了数百篇论文,也通过TensorFlow开源了很多机器学习工具。


1、一个充满活力的工程师社区

运筹学从业者通常会感兴趣于一个公司如何安排他们的运筹学员工。在谷歌,运筹学家需要能解决通用问题。他们一般以数据科学家、软件工程师或者研究科学家的身份来开展工作。因此,他们需要遵循相应的“工作阶梯”的标准。这些阶梯描述了在各个层次对员工所做贡献的期望。通过基于考核委员会的共同决策,这些阶梯保证了对运筹学从业者在面试、招聘、表现评分和升职评估等方面,保持了在整个谷歌大环境内的一致性。

数据分析家,或者称量化分析家的这个工作类别包括了数百位分析者,统计背景的占大部分,占比不是最大但重要的运筹背景的,以及来自如生物统计、经济学和计算工程的一小群人。各个领域的分析者可能从数十到数百不等。前述的工作阶梯能保证不同领域的细致专业化的同时持续保持在一个更广的技术社区进行高标准的招聘。

除了工作阶梯,谷歌的各种交流平台可使专业人士们在公司内部自由地分享他们的工作,比如非正式的午餐会、科技讲座、数据科学博客和更多正式的全球峰会。通过提供这些基于社区的活动和工作阶梯,谷歌为它的运筹学分析人士们们提供了社区身份认同和职业导向。

谷歌的运筹学从业者们一部分在中心化小组,另一部分分散穿插在其他小组中。

接下来的部分会重点介绍两个中心化小组的工作:一个小组致力于技术性基础设施领域,另一个小组致力于贯穿不同应用领域的方法和工具。

图二:一名技师在谷歌的某数据中心内


2、核心 O.R.小组

运营决策支持小组(Operations Decisions Support, ODS):这个位于加州山景城的小组由运筹学博士们组成,主要关注谷歌的技术基础设施:优化硬件的供应链,规划数据中心和网络容量,优化服务器的部署和生命周期,和改善计算和存储资源的使用调配。这个小组的许多项目是经典的成本优化问题的变式,比如报童问题、更新时间规划和决定经济批货数量(EOQ)。ODS小组的在各种成本优化的工作使它因总体拥有成本管理而闻名。

举个例子,谷歌在全世界的数个城市部署网络设备,从而使得互联网服务提供商们更接近他们的终端用户们。多少以及哪个设施应该被使用?哪个设备放哪里?这些问题需要权衡设施成本和连接不同地点的光纤的成本。这个小组运用模拟,以成本为目标函数,优化策略地图来动态支持谷歌网络内的互联网服务提供商。

另一个例子是决定什么时候将旧的服务器替换为最新一代的服务器,这需要同时考虑并优化很多项的成本。这一类的分析结果将影响着上千个决策,一些是大体政策,一些如简单的计算器,以及一些复杂的决策支持工具(可周期性或按需使用)。

ODS还做预测和容量规划。ODS进行一系列全方位的预测,比如计算、存储和电力的需求。这些预测用于指定许多下游的决策,包括土地和获取、新的建筑和网络容量升级。预测误差刻画了预测的变化区间,并可以用此变化区间来设置库存缓冲。

运筹小组(Operations Research Team, O.R.):不同于ODS小组基于不同应用领域组建的,O.R.小组是基于不同方法组建的。这个位于巴黎的小组开发和支持组合优化软件,并且将其应用于整个公司中的大规模现实世界问题中。这个软件工程和研究的小组起源于谷歌街景发起的一项挑战。

获得谷歌街景图像需要高效地在全世界的街道中规划汽车路线,从而来捕捉到所有需要的图像。解决这个经典的中国邮递员问题可以节约人力和车辆,减少废气排放,并且同时通过更短更快遍历的路线获得更实时的图像。这个问题促使了谷歌的车辆路径规划小组的成立,而在此之后小组的研究方向得到了更广泛的拓展。

这个小组开发了它自己的优化软件库来处理“谷歌级”的任务所需要的速度、规模和安全性。超过150个谷歌的小组在用这些库,并且这些库大部分已经在GitHub上开源为工具包。这些库包括一个曾获金奖的约束求解器、车辆路径规划求解库、线性优化求解器、0-1优化求解器、knapsack问题求解器、解决网络流和分配问题的库。(见developers.google.com/o

尽管O.R.小组起家于街景,这个组现在的工作项目涉及整个谷歌。这个小组开发了优化算法来稳定YouTube视频,指导了Loon项目(互联网热气球)的探索,甚至还研究如何指派进入升职委员会的人。这个O.R.小组还在Terra Bella工作—谷歌收购的卫星公司,前称为Skybox Imaging。Terra Bella由环绕着地球轨道旋转的卫星来捕捉全世界各地的高清图像。固定的轨道路径限制了某个地点何时在某个卫星的视野范围内,而数据下载只能在卫星接近地面固定接受点时才能进行。这个O.R小组开发了一个混合整数规划模型来规划各卫星捕捉的目标点,以及卫星图像下载的时间表和地点。


3、被孤立的运筹学从业者(并不)

除了两个的核心专注做运筹学的小组,还有许多个人或小撮的运筹学从业者们分散在谷歌的不同岗位,以前述的社区方式联系起来。

一些运筹学从业者在Google Express工作—谷歌一个提供从零售商处快速配送货物的线上配送服务的部门。 他们解决一些如需求预测、容量规划、时间安排和路线策划的问题,从而来帮助改善配送服务。

一个经常在谷歌基础设施中场出现的运筹学问题,是动态的多维装箱问题和负载均衡问题。一个例子是在谷歌的大规模并行运算环境下的任务排期。此处多维的量是需要在机器(箱)上完成的任务,同时要满足许多硬件和软件的约束条件,比如可用的CPU和RAM、任务偏好、优先级和个性化的硬件需求。这方面工作的运筹从业者和相关的工程小组合作来一同改善在线动态算法和离线混合整数规划求解来给任务排期,为数据中心添加资源以及容量规划问题。

位于纽约的大规模优化研究小组和相关的工程小组合作来改善谷歌计算基础设施的效率和稳定性,特别如服务于搜索和谷歌云的后端系统。举个例子,这个小组应用平衡图划分算法,并根据关键词出现在搜索需求中的频率将关键词聚类,然后结合这个聚类来管理搜索需求在后端系统的各个机器上的分配。这个改变极大地增加了善用缓存来提供搜索结果的比例。

一个网络架构的软件工程小组在对谷歌广域网的光纤电缆进行容量规划和风险分析。他们的模型希望在保证可用性、速度和可扩展性的同时最小化成本。他们应用混合整数规划模型来决定在给定的一部分光纤损坏的情境下仍能使网络流通的最便宜的网络。一个蒙特卡洛模拟来检测所得到的网络对抗可用性和服务延迟方面的要求时的表现,从而决定在下一轮混合整数规划求解中所需要添加的光纤损坏情景。


4、运筹学无处不在

总而言之,高级的分析手段渗透于谷歌工作的方方面面。这里总是有新的问题需要解决以及新的影响可以去创造。在这个仍在日益成长的高科技公司,运筹学和高级分析手段的联系是前所未有的强。一位同事的话很好地形容了在这里工作的体验,“谷歌对运筹学从业者来说就像一个糖果店。”


免责声明:本文为作者的个人观点,不代表谷歌官方。


参考资料:

[1] 原文

informs.org/ORMS-Today/

[2] 谷歌招聘

careers.google.com/jobs?


文章来源申明:本篇文章来自《ORMS-Today》杂志(由运筹or帷幄编辑翻译整理)

友情提醒:本文由运筹OR帷幄编译整理,不作为商业用途。如有内容侵权,我们将随时删除。

如果你是运筹学/人工智能硕博或在读,请在下图的公众号后台留言:“加微信群”。系统会提示您进一步的加群要求和步骤,邀请您进全球运筹或AI学者群(群内学界、业界大佬云集)。

同时我们有:【运筹|优化】【供应链|物流】【人工智能】【数据科学|分析】爱好者千人QQ群,想入群的小伙伴可以关注下方公众号点击“加入社区”按钮,获得入群传送门。

学术界|工业界招聘、征稿等信息免费发布,请见下图:

编辑于 2018-07-30

文章被以下专栏收录