呆板进修实践心得:数据平台计划与搭建
选择Jupyter作为首要建模IDE而不是自研可视化拖拽建模器材,这样的甜头是可以做交互式的说明,建模服从也很高,扩展利便,研发本钱低。虽然相同微软Azure这样的可视化拖拽建模平台,可以很是清楚地看到整个流程,得当入门级同窗快速上手。但我们的方针用户是专家和半专家群体,以是我们选择了最吻合的Jupyter。 行使Jupyter时辰,为了支持多租户,我们回收Jupyterhub。底层呆板进修框架我们用了Tensorflow、Pyspark、Sklearn等。数据处理赏罚试探时辰,团结sparkmagic,可以很是利便地将写在Jupyter上的Spark代码运行到Spark集群上。 对付Jupyter没有现成的版本打点节制和项目打点, 我们团结git来办理。 其它为了进步建模职员在Jupyter上的服从,我们引入了较量多的插件,譬喻:把一些典范发掘pipeline做成Jupyter模板,这样必要再做一个相同营业的时辰只必要基于模板再扩睁开拓,较量好地办理了不类型的题目,停止了许多一再代码,也为尝试代码转化为出产代码做好了基本。 第二点,说下器材函数: 我们内部提供了首要呆板进修相干的函数库和器材: 1)尺度化的ID Mapping处事API。 2)建设数据抽取的API,无论是哪种存储,说明职员只要同一调这个API就可。3)可视化做了尺度化的函数库和器材类。 4)Jupyter2AzkabanFlow: 可以把本来在Jupyter上写好的代码可能剧本自动转化成AzkabanFlow,办理了特性工程阶段的代码复用题目。 第三点,关于行使Tensorflow: 行使Tensorflow时,我们的选型是TensorflowOnSpark,原生的Tensorflow的漫衍式支持不足好,必要去指定一些节点信息,行使难度较大。 TensorflowOnSpark可以或许办理原生Tensorflow Cluster漫衍式题目,代码也很轻易迁徙到TensorflowOnSpark上,根基不消改。 同时操作yarn可以支持GPU和CPU混部集群,资源易复用。 第四点,关于模子交付应用: 在模子交付的题目上,我们把整个猜测代码框架化了,提供了多种尺度的框架供说明职员直接选用。对输出的模子文件著名目举办要求,譬喻:只能选择 pmml名目可能tensorflow pb名目。尺度化之后,只要行使尺度的猜测函数库,就可以把建模职员的事变和体系开拓职员的事变解藕出来。 最后分享下我们的一些履历: 第一,TensorflowOnSpark上的PS数目有限定,并且Worker和PS节点资源分派不是很机动,都是等大。 第二,Jupyter在行使的时辰,必要本身做一些改革,一些开源库版本兼容性有题目。 第三,行使PMML有机能瓶颈,一些是java工具重复重建,尚有一些是名目转化消费,详细各人可以抓取下jvm信息说明优化。 第四,在落地进程行使Spark、Hive的题目上,必要提供易于行使的诊断器材,建模职员并不是Spark、Hive的专家,不必然认识怎样诊断优化。 第五,要把模子和特性库当成一个资产来对待,对它的代价按期做评估,要打点好它的生命周期。 第六,一些更偏底层的题目,好比: 硬件的选型也许要留意带宽、内存、GPU均衡。 最后,必要均衡技能栈增进和维护价钱,停止引入太多新器材新技能,导致运维坚苦。 原文作者:eva7 来历:https://www.cnblogs.com/evakang/p/9324740.html (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |