前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌,Facebook,Uber这些互联网大公司如何架构人工智能平台

谷歌,Facebook,Uber这些互联网大公司如何架构人工智能平台

作者头像
HuangWeiAI
发布2021-12-31 09:09:43
5470
发布2021-12-31 09:09:43
举报
文章被收录于专栏:浊酒清味浊酒清味

问题

尽管围绕机器学习 (ML) 和人工智能 (AI) 大肆宣传,但企业中的大部分努力仍处于试验阶段。这种现象的部分原因是与机器学习项目相关的自然实验,但也有一个重要的组成部分与机器学习架构缺乏成熟度有关。这个问题在企业环境中尤为明显,在这些环境中,现代机器学习解决方案的新应用程序生命周期管理实践与企业实践和监管要求相冲突。在采用机器学习解决方案时,组织应该采用哪些关键的架构构建块?

互联网大公司

为大规模机器学习解决方案建立参考架构的挑战因两个主要因素而加剧:

  1. 机器学习框架和基础设施的发展速度远远快于主流环境中采用这些技术的速度。
  2. 机器学习解决方案的生命周期与其他软件学科有着根本的不同。

我们可以做的一件事是从世界上一些正在大规模部署机器学习的大公司中汲取灵感,以减轻这些风险。今天,我们想讨论谷歌、Facebook、LinkedIn 和优步等人工智能巨头使用的一些参考架构,以支持他们的机器学习。

技术一览

优步的米开朗基罗

Uber的米开朗基罗系统是给数百个机器学习的工作流程提供支持。从实验到模型服务,米开朗基罗结合主流技术,将机器学习应用的生命周期自动化。Michelangelo 背后的架构使用基于 HDFS、Spark、Samza、Cassandra、MLLib、XGBoost 和 TensorFlow 等技术的现代但复杂的堆栈。

Michelangelo 为 Uber 不同部门的数百个机器学习场景提供支持。例如,Uber Eats 使用在 Michelangelo 上运行的机器学习模型来对餐厅推荐进行排名。类似地,Uber 应用程序中极其精确的预计到达时间 (ETA) 是使用在 Michelangelo 上运行的极其复杂的机器学习模型计算得出的,该模型逐段估计 ETA。

Facebook 的 FBLearner Flow

FBLearner Flow 是 Facebook 机器学习应用程序的支柱。该平台自动化了机器学习工作流的不同元素,例如特征提取、训练、模型评估和推理。FBLearner Flow 与多个机器学习框架和工具集成,如 Facebook 自己的 Caffe2、PyTorch 和 ONNX。

谷歌的 TFX

谷歌还创建了自己的运行时来执行机器学习工作流。TFX基于最近发表的一篇研究论文,该论文提出了一种用于简化 TensorFlow 程序操作的架构。TFX 包括 TensorFlow 架构的几个关键组件,例如用于基于训练数据生成模型的学习器、用于分析和验证数据和模型的模块,以及用于在生产中提供模型的基础设施。

图片来源:SIGKDD

TFX 背后的想法以称为 TensorFlow Extended(也称为 TFX 😉)的自动化管道的形式整合到 TensorFlow 框架中。从概念上讲,TensorFlow Extended 是一组组件,可自动执行机器学习管道的端到端生命周期。该架构如下图所示,包括机器学习管道各个方面的组件,从数据摄取到模型服务。

图片来源:GitHub

LinkedIn Pro-ML

LinkedIn 机器学习基础设施的核心是一个名为 Pro-ML 的专有系统。从概念上讲,Pro-ML 控制着机器学习模型的整个生命周期,从训练到监控。为了扩展 Pro-ML,LinkedIn 构建了一个架构,将其一些开源技术(如 Kafka 和 Samza)与基础设施构建块(如 Spark 和 Hadoop YARN)相结合。

虽然用作 LinkedIn 机器学习堆栈一部分的大多数技术是众所周知的,但有一些新的贡献值得进一步探索:

  • Ambry:LinkedIn 的 Ambry 是一个分布式不可变 blob 存储系统,它具有高可用性、非常容易扩展、优化以提供大小从几 KB 到几 GB 的不可变对象,具有高吞吐量和低延迟,并支持来自客户端到存储层,反之亦然。
  • TonY:TensorFlow on YARN (TonY) 是一个在 Apache Hadoop 上原生运行 TensorFlow 的框架。TonY 支持将单节点或分布式 TensorFlow 训练作为 Hadoop 应用程序运行。
  • PhotonML:Photon ML 是一个基于 Apache Spark 的机器学习库。目前,Photon ML 支持训练不同类型的广义线性模型(GLMs)和广义线性混合模型(GLMMs/GLMix 模型):logistic、linear 和 Poisson。

随着机器学习的发展,我们应该会看到越来越多的这些参考架构成为全球企业软件堆栈中不可或缺的一部分。

·END·

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python学会 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Facebook 的 FBLearner Flow
  • 谷歌的 TFX
  • LinkedIn Pro-ML
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档