云计算深度学习平台架构与实践的必经之路-时间:2017-09-19

云核算深度学习渠道架构与实践的必经之路

界说云深度学习渠道什么是云深度学习?跟着机器学习的开展,单机运转的机器学习使命存在缺少资源阻隔、无法动态弹性等问题,因而要用到依据云核算的根底架构效劳。云机器学习渠道并不是一个全新的概念,Google、微软、亚马逊等都有相应的效劳,本文罗列几个比较典型的比如。

作者:陈迪|2017-09-19 17:00
 

界说云深度学习渠道什么是云深度学习?跟着机器学习的开展,单机运转的机器学习使命存在缺少资源阻隔、无法动态弹性等问题,因而要用到依据云核算的根底架构效劳。云机器学习渠道并不是一个全新的概念,Google、微软、亚马逊等都有相应的效劳,这儿罗列几个比较典型的比如。

云核算深度学习渠道架构与实践的必经之路

第一个是Google Cloud Machine Learning Engine,它底层保管在Google Cloud上,上层封装了Training、Prediction、Model Service等机器学习运用的笼统,再上层支撑了Google官方的TensorFlow开源结构。

亚马逊也推出了Amzon machine learning渠道,它依据AWS的Iaas架构,在Iaas上供给两种不同的效劳,分别是可以运转MXNet等结构的EC2虚拟机效劳,以及各种图象、语音、自然语言处理的SaaS API。

此外,微软供给了Azure Machine Learning Studio效劳,底层也是依据自己可弹性、可拓宽的Microsoft Azure Cloud效劳,上层供给了拖拽式的更易用的Studio东西,再上面支撑微软官方的CNTK等结构,除此之外微软还有各种感知效劳、图象处理等SaaS API,这些效劳都是跑在Scalable的云根底渠道上面。

云核算深度学习渠道架构与实践的必经之路
相关厂商内容

依据卷积神经网络在手机端完结文档检测 阿里巴巴集团千亿等级店肆体系架构渠道化技术实践 携程第四代架构之软负载 SLB 实践之路 解读百度PB级数据仓库Palo开源架构 相关赞助商

与100+国内外技术专家探索2017前瞻热门技术

以上这些都是业界比较老练的云深度学习渠道,而在实在的企业环境中,我们为什么还需求完结Cloud Machine Learning效劳呢?

首要国外的根底设施并不必定是国内企业可以直接运用的,而如果仅仅本地安装了TensorFlow,那也只能在裸机上进行练习,本地默许没有资源阻隔,如果一起跑两个练习使命就需求自己去处理资源抵触的问题。由于没有资源阻隔,所以也做不了资源共享,即使你有多节点的核算集群资源,也需求人工的约好才能确保使命不会抵触,无法充分运用资源共享带来的便当。此外,开源的机器学习结构没有集群等级的编列功用,例如你想用分布式TensorFlow时,需求手动在多台效劳器上发动进程,没有主动的Failover和Scaling。因而,许多企业现已有机器学习的事务,但由于缺少Cloud Machine Learning渠道,仍会有布置、办理、集群调度等问题。

云核算深度学习渠道架构与实践的必经之路

那么怎么完结Cloud Machine Learning渠道呢?

我们对云深度学习效劳做了一个分层,第一层是渠道层,相似于Google cloud、Azure、AWS这样的IaaS层,企业内部也可以运用一些开源的方案,如容器编列东西Kubernetes或许虚拟机办理东西OpenStack。有了这层之后,我们还需求支撑机器学习相关的功用,例如Training、Prediction、模型上线、模型迭代更新等,我们在Machine Learning Layer层对这些功用进行笼统,完结了对应的API接口。最上面是模型运用层,就可以依据一些开源的机器学习类库,如TensorFlow、MXNet等。

云核算深度学习渠道架构与实践的必经之路

整个Cloud Machine learning运转在可弹性的云效劳上,包行了模型开发、模型练习,以及模型效劳等功用,构成一个完好的机器学习作业流。但这并不是一个闭环,我们在实践中发现,线上的机器学习模型是有时效性的,例如新闻引荐模型就需求及时更新热门新闻的样本特征,这时就需求把闭环打通,把线上的猜测成果加入到线下的练习使命里,然后经过在线学习或许模型晋级,完结完好的机器学习闭环,这些都是单机版的机器学习渠道所不能完结的。

云核算深度学习渠道架构与实践的必经之路

打造云深度学习渠道首要包含以下几个组件:首要是客户端访问的API Service,作为效劳供给方,我们需求供给规范的RESTful API效劳,后端可以对接一个Kubernetes集群、OpenStack集群、乃至是自研的资源办理体系。客户端恳求到API效劳后,渠道需求解析机器学习使命的参数,经过Kubernetes或许OpenStack来创立使命,调度到后端实在履行运算的集群资源中。如果是练习使命,可以经过起一个练习使命的Container,里边预装了TensorFlow或MXNet运转环境,经过这几层笼统就可以将单机版的TensorFlow练习使命提交到由Kubernetes办理的核算集群中运转。在模型练习完毕后,体系可以导出模型对应的文件,经过恳求云深度学习渠道的API效劳,最终翻译成Kubernetes可以了解的资源装备恳求,在集群中发动TensorFlow Serving等效劳。除此之外,在Google Cloud-ML最新的API里多了一个Prediction功用,猜测时既可以发动在线Service,也可以发动离线的Prediction的使命,渠道只需求创立对应的Prediction的容器来做Inference和保存猜测成果即可 。经过这种简略的封装,就可以完结相似Google Cloud-ML的根底架构了。

云核算深度学习渠道架构与实践的必经之路

架构上进行了分层笼统,完结上也只需求三步。

第一步是创立一个Docker镜像,下面的Dockerfile比如是从TensorFlow项目中截取出来的,官方现已供给了一个可以运转的Docker镜像,经过加入定制的发动脚本就可以完结开发环境、模型练习以及模型效劳等功用。

第二步是完结一个规范的API效劳,下面是一个Python完结的实例,用户发送一个发动练习使命的恳求,效劳端可以解析恳求的参数和内容,并将使命提交到Kubernetes等后端集群中。

第三步是生成Kubernetes所需的文件格局,下面的JSON文件我们也可以在GitHub中找到,完结了将分布式TensorFlow使命提交到Kubernetes集群中运转。

我们经过简略的三个装备就可以完结机器学习使命从本地到云端的搬迁进程,也就是完结了Cloud Machine Learning效劳。前面说到云深度学习渠道需求支撑资源阻隔和资源共享,这是怎么完结的呢,其实Kubernetes本身就有这个笼统,用户可以在恳求时声明需求的CPU、内存、乃至是GPU资源,经过cgroups、namespace等容器技术来完结资源阻隔,而kube-scheduler完结了资源调度和资源共享等功用。完结自研或许公有云的Cloud Machine Learning渠道,开发者可以很简单提交练习使命、创立模型效劳等,但在一个实在的机器学习场景中,只处理核算资源的阻隔和调度是远远不够的,我们还需求从头考虑怎么集成数据处理、特征工程等问题。

云核算深度学习渠道架构与实践的必经之路

从头界说云深度学习渠道TensorFlow是一个可用于深度学习的数值核算库,依据TensorFlow可以完结MLP、CNN、RNN等机器学习模型,但有了它是不是就不需求Spark呢?他们的联系是什么?

在生产环境中,我们发现TensorFlow并没有彻底替代已有的大数据处理东西,我们需求用Spark做数据剖析和特征工程,还需求数据仓库等效劳去存储和查询结构化数据。TensorFlow是一个十分优秀的深度学习结构,但在实在场景中用户还需求一些PowerGraph处理的图联系特征作为输入,这都是单独一个结构无法处理的。关于用户的建模流程怎么安排、怎么做数据清洗、怎么做特征抽取、怎么上线练习好的模型、怎么预估模型作用,这些可以运用Azure ML Studio东西去完结,并且是TensorFlow所缺少的。

前面我们介绍了Cloud Machine Learning,可以完结一个相似Google的分布式、高可用、带集群编列的核算渠道,但这远远不够,由于我们还需求运用大数据处理的结构,包含MapReduce、流式处理、图核算等结构。TensorFlow仅仅整个机器学习流程里边做模型练习其间一部分,我们可能还需求Kubernetes做CPU、GPU的办理和调度。如果我们要完结一个机器学习的事务,就需求一起把握TensorFlow、Spark、Hadoop、Hive、Kubernetes等结构的原理和运用,而不只仅供给一个Google Cloud-ML或许AWS效劳就够了,这也是我们要从头界说Cloud Machine Learning的原因。

前面在客观上我们需求这么多常识,但片面上我们期望有什么呢?我们更期望有一个从数据处理到模型练习再到模型上线的一个全闭环效劳,而不只仅是机器学习结构或许通用核算渠道,我们期望不写代码就可以做特征抽取的作业,我们期望机器学习的作业流是很简单描绘的,而不需求经过编写代码的办法来完结,我们需求一个很灵活的根底架构可以支撑各种异构的核算资源,我们期望渠道是可拓宽的可以完结主动Failover和Scaling。 除了前面说到的Google、微软、亚马逊做的云机器学习渠道,我们还需求从IaaS、PaaS、SaaS多维度上供给运用接口,满意不同层次用户的运用需求,另一方面这应该是低门槛的产品效劳,让恣意的领域专家都可以容易运用。

后边我们会介绍在实在场景下怎么改造Cloud Machine Learning渠道,并且介绍第四范式对外供给的低门槛、分布式、高可用的先知机器学习渠道。

云核算深度学习渠道架构与实践的必经之路

第四范式的云深度学习实践经验第四范式先知渠道是一个依据Cloud的全流程机器学习产品,用户经过Web登陆到先知渠道就可以运用模型调研、预估效劳的功用,并且可以经过拖拽的办法来描绘机器学习的作业流 。

它的运用过程如下,第一步是数据预处理,用户不需求写Spark代码而只需求拖拽出一个图标,我们称之为一个算子,然后就可以提交数据清洗等数据预处理使命了。经过拖拽数据拆分算子,可以将数据集拆分为练习集和测验集两部分,其间一部分留在左面用于特征抽取。一般来说,用Spark、Mapreduce等开源东西也可以做特征抽取,但对编程技术和工程才能有必定的要求,我们经过界说特征抽取的装备或许脚本,让用户可以不写代码也可以完结对原始数据集的特征工程。然后,衔接我们自主研制的高维逻辑回归、高维GBDT等模型练习算子,也可以衔接依据开源的TensorFlow或许MXNet等结构完结的算法。最终,经过模型练习得到模型文件后,用刚刚拆分出来的测验集进行模型猜测,还可以运用通用的模型评价算子进行AUC、ROC、Logloss等目标的可视化展现。

在先知渠道上,用户只需求经过构建流程图的办法,就可以完结数据处理、模型练习等功用,实在处理实在场景下机器学习事务的问题。在先知渠道的最新版别中,供给了以极高的功率生成特征工程装备脚本,获取自主研制的LR、GBDT算法的最佳参数等AutoML特性。这些特性可以大幅下降在获取一个有用建模方案进程中的重复性劳作,也可以有用辅佐数据科学家取得对数据的开始了解。在一些场景下,可以取得比美乃至逾越专家建模的作用。

云核算深度学习渠道架构与实践的必经之路

现在先知渠道首要处理以下几个方针场景:

    简化数据引进,渠道不要求数据有必要运用分布式存储,也可以直接从RDBMS这类的SQL数据库中导入练习样本数据。
    简化数据拆分,用户不需求写Spark代码,只需求供给数据拆分后的存储途径,并且支撑按份额拆分或许按规矩拆分两种形式。
    简化特征抽取,渠道支撑接连特征、离散特征的抽取和组合,关于接连特征支撑主动化的多分桶算法,我们也会归纳常用的特征抽取办法并且封装成脚本或许装备,用户只需了解对应的装备而不需求自己编码完结详细的逻辑。渠道还可以依据已有的特征装备主动进行特征组合拓宽,提升模型作用。
    简化模型练习,渠道可以支撑开源的机器学习算法完结和第四范式自主研制的超高维度LR算法,这个LR算法完结了Parameter server可以处理几十亿、上百亿特征维度的高速分布式练习问题。关于学习率、正则化参数等可以做到主动调优。别的,渠道还供给了线性分形分类器等扩展算法,可以无须人为干涉的愈加有用运用数值类特征。
    简化模型评价,得到模型预估成果后,我们可以核算模型的ROC、Logloss、K-S等目标,不同模型核算目标的办法是相似的,用户就不需求重复编写完结代码,直接经过拖拽算子调用即可,以上都是先知渠道所处理的问题。
    简化模型上线,关于常见的高维LR/GBDT模型,可以一键发布为线上效劳实例,不只简化了模型的布置和运维,并且上线实例还包含大部分的特征工程逻辑,无须手动再次开发特征处理逻辑的线上版别。

云核算深度学习渠道架构与实践的必经之路

现在,先知渠道现已成功运用于银行、金融和互联网等各行各业,依据“先知渠道”的反诈骗模型可以协助银行在毫秒级识别可疑买卖,一起在新闻、视频、音频等内容引荐场景下,“先知渠道”也成功大幅度提升关键事务目标。此外,在赋能企业运用机器学习晋级运营功率的一起,更有意义的是,“先知渠道”也极大地下降了机器学习的运用门槛。

作为一个针对全流程机器学习事务的人工智能渠道,先知封装了从数据处理、模型练习到模型上线和反应更新的体系闭环,用户不再需求很强的编程技术和工程才能,领域专家和事务人员都可以经过推拽办法进行建模和上线,协助企业快速完结从数据收集到事务价值提升的终极方针。

云核算深度学习渠道架构与实践的必经之路

跟着专利算法的不断更新,愈加实时高效的极致工程优化,未来先知渠道将进一步下降人工智能工业运用的门槛,协助越来越多的企业享用人工智能效劳。


 

分享到 QQ空间新浪微博 人人网腾讯微博 网易微博 0



IAP网络科技股份有限公司官网

版权所有:IAP网络科技股份有限公司  2015 杭ICP备05007539号-7 杭ICP证100714号 杭公网安备1101080209224号