技术债务的高息信用卡:深入了解那些知名的端到端机器学习平台( 二 )
本文插图
图源:unsplash
Uber: Michelangelo
大约在2015年 , Uber的ML工程师注意到机器学习系统中隐藏的技术债务 。 Uber已经建立了一个一次性的自定义系统 , 与ML模型集成在一起 , 这在大型工程组织中不是很容易扩展 。 用他们自己的话来说 , 没有合适的系统来建立可靠、统一和可重复的管道以创建和管理大规模的训练和预测数据 。
这就是他们创造Michelangelo的原因 。 它依赖于Uber的数据湖——事务性和日志数据 , 支持离线(批处理)和在线(流)预测 。 对于脱机预测 , 包含的Spark作业生成批预测 , 而对于在线部署 , 模型在预测服务集群中提供服务 , 该集群通常由负载均衡器后面的数百台机器组成 , 客户机将单个或批预测请求作为rpc发送到该集群 。
为每个实验存储与模型管理相关的元数据 , 例如 , 训练师的运行时统计信息、模型配置、沿袭、分布和特性的相对重要性、模型评估指标、标准评估图表、学习的参数值和汇总统计信息等 。
Michelangelo可以在同一个服务容器中部署多个模型 , 这允许从旧模型版本到新模型版本的安全转换 , 以及对模型的并行A/B测试 。
本文插图
Michelangelo的最初版本并不支持深度学习在GPU上进行训练 , 但其开发团队解决了这一遗漏问题 。 当前平台使用了Spark的ML管道序列化 , 但是有一个用于在线服务的附加接口 , 该接口添加了一个单例(在线)评分方法 , 可以既轻量级又能够处理紧密型SLA , 例如用于欺诈检测和预防 。 它通过绕过Spark SQL的Catalyst优化器的开销来实现这一点 。
本文插图
值得注意的是 , 谷歌和Uber都为服务构建了内部协议缓冲区解析器和表示物 , 避免了默认实现中存在的瓶颈 。
Airbnb: Bighead
基于类似原因 , Airbnb在2016/2017年建立了自己的ML基础架构团队 。 首先 , 尽管他们只有几款模型正在构建中 , 但每一款模型的构建都可能需要长达三个月的时间 。 第二 , 模型之间不存在一致性 。 第三 , 线上和线下的预测差异极大 。 Bighead是其努力的顶峰:
本文插图
数据管理由内部工具Zipline处理 。 Redspot是一个托管的、集装的、多用户的Jupyter Notebook服务 。 Bighead库用于数据转换和管道提取 , 为通用模型框架提供了包装器 。 其通过转换保存元数据 , 因此可用于跟踪沿袭 。
Deep Thought是一个用于在线预测的REST API 。 Kubernetes对服务进行精心优化 。 对于离线预测 , Airbnb则使用他们自己的自动装置 。
Netflix也面临着与上述公司类似的问题 。 他们的解决方案是运用Metaflow , 这是一个为数据科学家提供的Python库 , 用于处理数据管理和模型训练 , 而不提供预测服务 。 因此 , 它不是用于机器学习的端到端平台 , 可能更适合于公司内部的用例 , 而不是面向用户的用例 。 当然 , 它可以与由Kubernetes或AWS SageMaker支持的Seldon结合转化为一个成熟的解决方案 。
本文插图
数据科学家将工作流程写成DAG步骤 , 就像数据工程师使用Airflow一样 。 和Airflow一样 , 可以使用任何数据科学库 , 因为Metaflow只执行Python代码 。 Metaflow在后台分布处理和训练 。 所有的代码和数据都会自动快照到S3中 , 以确保每个模型和实验都有版本历史 。 Pickle是默认的模型序列化格式 。
推荐阅读
- 潇湘晨报|债务未清偿,将176平米房屋1万元转让给女儿,银行起诉房主要求撤销,法院:支持
- 烹饪|锡纸烧烤技术,三款酱料配方是关键,制作好酱料锡纸类菜品轻松做
- 芯片|我国开始技术封锁!除量子密码以外,还有一项让美国憋屈十几年
- 上海嘉定|一项专利技术使车库车位增多10%,开发商们要坐不住了
- 上海市科学技术委员会|关于做好制订因公出国(境)培训中期规划的补充通知
- 闲情居|华为云手机发布,真正的5G手机,绕过光刻机的技术壁垒
- 一味宠爱|最全盘点卡中国脖子的35项技术,折射中国工业水平的真实现状
- 映璇汽车工作室|终于知道它为啥难卖了,看完长城WEY内部技术团队做的竞品分析
- Java|计算机专业的本科生,该选择学习Java技术体系还是.NET技术体系
- 人员|计划到期!立昂技术:部分董事、高管人员累计减持约47万股
