LinkedIn机器学习解决方案

电子说

1.2w人已加入

描述

LinkedIn已实现了非常先进的体系结构,可大规模开发机器学习解决方案。

对于大多数组织而言,构建基础结构来管理机器学习模型的生命周期仍然是一个挑战。 尽管我们已经看到了机器/深度学习框架的巨大进步,但对于大多数开始机器学习之旅的团队来说,大规模开发,部署和管理模型的架构最佳实践仍然有些障碍。 为了掌握其中的一些架构最佳实践,我们应该看看机器学习创新正在发生什么。 那是在大型技术公司内部。 微软,谷歌,Facebook,优步,LinkedIn和Netflix已经开发了一些市场上最先进的机器学习基础设施。 今天,我想在LinkedIn上探索支持某些关键任务机器学习工作流程的架构。

LinkedIn是将机器学习应用于大规模场景多年的公司之一,但对该软件巨头使用的特定方法和技术知之甚少。 最近,LinkedIn工程团队发布了一系列博客文章,提供了有关其机器学习基础结构和实践的一些非常有趣的见解。 尽管许多情况都是特定于LinkedIn的,但是这些技术和最佳实践适用于许多大规模的机器学习解决方案。

人与人之间的机器学习

LinkedIn机器学习架构最有趣的方面之一是他们如何利用人作为机器学习工作流程的一部分。 例如,假设一个场景发现了不同标题之间的关系,例如" 高级软件工程师"或"首席开发人员"来改善搜索体验。 LinkedIn使用人类分类学家来标记标题之间的关系,以便可以将它们用于机器学习模型(例如长时记忆网络)中,以帮助发现标题之间的其他关系。 机器学习架构是LinkedIn知识图的基础。

大规模的机器学习基础架构

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

LinkedIn

尽管LinkedIn机器学习堆栈中使用的大多数技术都是众所周知的,但还有一些新的贡献值得进一步探索:

·Ambry:LinkedIn的Ambry是一个分布式的不可变blob存储系统,具有高可用性,易于扩展,经过优化,可以以高吞吐量和低延迟为大小从几个KB到多个GB的不可变对象提供服务,并能够从客户端进行端到端流传输到存储层,反之亦然。 该系统旨在跨多个数据中心在主动-主动设置下工作,并提供非常便宜的存储。

·TonY:YARN上的TensorFlow(TonY)是一个框架,可在Apache Hadoop上本地运行TensorFlow。 TonY支持将单个节点或分布式TensorFlow训练作为Hadoop应用程序运行。

·PhotonML:PhotonML是基于Apache Spark的机器学习库。 当前,Photon ML支持训练不同类型的广义线性模型(GLM)和广义线性混合模型(GLMMs / GLMix模型):逻辑,线性和泊松。

Hadoop上的TensorFlow

上个月,LinkedIn工程团队在YARN(TonY)框架上开源了其TensorFlow的第一版。 该版本的目标是使TensorFlow程序能够在分布式YARN群集上运行。 尽管TensorFlow工作流在诸如Apache Spark之类的基础架构上得到广泛支持,但YARN在很大程度上仍被机器学习社区所忽略。 一流的支持,可通过处理诸如资源协商和容器环境设置之类的任务在Hadoop上运行TensorFlow作业。

LinkedIn

TonY的核心是使用TensorFlow程序并将其拆分为可以在YARN集群上执行的多个并行任务。 这样做是在完全支持TensorFlow的计算图的同时,这意味着TensorBoard之类的工具可以在TonY上使用,而无需进行任何修改。

LinkedIn

TonY是对TensorFlow生态系统的有趣贡献,可以改善TensorFlow应用程序大规模运行的体验。 此外,TonY可以从YARN生态系统中可用的大量工具和库中受益,从而为训练和运行TensorFlow应用程序提供高度可扩展的运行时。

测试

LinkedIn运行着数以千计的并发机器学习模型,这些模型正在不断发展和版本化。 在这些情况下,开发健壮的测试方法对于优化运行时机器学习模型的性能至关重要。 就LinkedIn而言,工程团队已将A / B测试作为其Pro-ML架构的一等公民,使机器学习工程师可以针对特定情况部署竞争算法并评估产生最佳结果的算法。

LinkedIn

像LinkedIn这样的互联网巨头站在大规模机器学习解决方案实施的最前沿,他们对这一主题的见解对于开始他们的机器学习之旅的公司来说具有不可思议的价值。 LinkedIn的工作清楚地表明,大规模开发机器学习是一项永无止境的练习,它将流行的开源库和平台与专有框架和方法相结合。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分