企业里的深度学习 (下)原创
金蝶云社区-墨家总院
墨家总院
5人赞赏了该文章 501次浏览 未经作者许可,禁止转载编辑于2019年03月26日 17:42:57

(本文独家发布在金蝶云社区上)

构建可以为深度学习提供服务的数据基础设施

建立强壮的数据与分析基础设施是深度学习项目的第一步。事实上,项目的成功与否主要依赖于数据,必须保证数据干净,以及高度的可用性和可靠性。陈旧,不完整或不准确的数据将导致模型预测不准确,这样下去有可能增加项目的预算并且可能使整个项目脱轨,失败。

虽然不像深度学习的其他部分那样令人兴奋,但大多数深度学习的工作都集中在获取数据,确保它是正确的类型,精确度的提高,以及研发真正能把模型能在现实环境中运行起来的系统。

一旦模型处于生产模式,你将需要解决实时的数据集成带来的问题。流数据的供给必须可靠可用,而且特征计算的过程还要做到低延时。同时,批量的数据供给需要支持更大规模数据量的支持,以及和数据流水线和存储的集成。

系统还必须能够快速迭代。特征的抽取准备工作需要与模型训练同步,包括相同的逻辑,延迟和向前兼容性。对于所有数据的供给和特征计算,你必须确保其可见性和可跟踪性,将数据质量和治理监控相集成。

企业数据越来越多地分布在混合云的环境中,而且还用了不同的存储格式。而且处在不同介质的数据必须互联,比如驻留在公共云中的数据,本地数据,以及持久地存储在不同类型的对象和文件中的数据。

虽然面对的困难这么多,但你可以通过开发一些系统来持续地监控数据来管理它们,以便处理项目的团队知道数据来自何处,如何重新创建数据,以及数据是否是最新数据。 一旦这个数据基础设施及其监控系统到位,你就可以利用它进行深度学习,并将其用于其他领域。

选择,训练深度学习模型到自动化机制

大多数(如果不是全部)深度学习中使用的软件框架都是开源项目,任何人都可以免费下载和试验。 其中,谷歌在2015年开源的TensorFlow是市场领导者。

许多不同的神经网络可以在这些深度学习框架之上运行,例如前馈网络,生成对抗网络(generative adversarial networks,简称GAN),深度置信网络(deep belief networks)和深度卷积网络。由于新型的深度学习网络模型继续以惊人的速度出现,因此保持一个更新列表几乎是不可能的。根据你的具体使用情况,可能会有特定结构的网络正好能够完美解决你的问题。但是,没有相关的替代测试。深度学习是一门实验科学,而不是理论科学。

一旦通过自动地训练与验证(以及分析过程),模型应该被提升到可以调整或重新训练的影子生产环境中(shadow production environment这个词比较生僻,维基百科上说shadow system是一种比较尴尬存在,没人创建,没人维护,没人在意的一种系统)。利用分析操作流程方法,还可以让利益相关者有机会在现场环境中去了解之前自主运行的模型。

生产中深度学习模型的考虑因素

类似于所有的其他机器学习模型,模型的生存周期中—从开发,到测试,再到预生产,最后到生产—都需要监控以及自动化的重新训练。在某些情况下,你还应该从预生产到生产逐步渐进地部署(通常通过A / B测试框架完成)。

有时候还应该考虑重训练策略。在某些情况下,与几个深度学习领域相比,传统的机器学习可能能够更快地重新训练,特别是当深度学习模型已经在大量数据中训练并且新数据不会提供太多变化时(例如, 模型训练了数十亿人和汽车的图像)。当模型的预测与基于人类领域知识的期望相匹配时,通过实时在线测试来识别也很重要。如果不是这种情况,则应通过分析操作流程再次启动自动重新训练程序。

例如,当推荐引擎为购物者提供不同的选择时,需要有一个机制来监控它,以确保购物者能够积极响应。 同时,你还应该在总体数据的一定百分比上部署新引擎,并将其性能与实时数据的性能进行比较。

这一切都是不容易的。 事实上,由于在数据规模和管理方面无法预料的复杂性,许多深度学习项目因数据方面实验失败而无疾而终。因为存在很多陷阱,所以拥有一个熟悉生产中深度学习的挑战的团队非常重要。 不幸的是,拥有这种知识的人(目前)很难在谷歌和Facebook这样的地方找到。

人才短缺

深度学习专业知识稀缺且昂贵。虽然许多聪明人已经能够自学神经网络并使用云API进行模型试验,但很难找到具有在企业环境中大规模部署深度学习经验的工程师。在最近的福布斯关于人工智能的文章中,迭戈·克拉布詹(Diego Klabjan)表示,“人工智能开发方面的人才储备非常少,而且一个组织或公司没有办法在有限的时间内获取足够数量合格工程师的信任。”

这种情况将随着该领域的发展而变化,深度学习证明了其在更多行业和用例中的价值。 然而,与此同时,克服这种知识鸿沟的一种方法是与经验丰富的合作伙伴合作,他们知道如何修正错误。 虽然等到该领域成熟可能更方便,但这样做可能会导致落后。

利用深度学习实现有转化力的变革

部署深度学习与部署其他类型的软件不同。它可能涉及大规模决策的自动化,并且还可能具有破坏性,需要你重新考虑在部署之前设计的流程。

这是应该的,因为深度学习不仅仅是对常规业务分析上的附加。这些数据产品必须成为业务的组成部分,允许公司通过利用其数据的强大功能并自动采取行动来推动改革。

随着深度学习领域继续成熟,成功部署深度学习的企业将从更安全的产品,更快乐的客户,更高效的运营以及数十个其他应用实例中获得红利。而且部署它需要深思熟虑(和重要的)投资,跨职能协作和大量的测试,但结果是值得的。 如果企业做好了准备,深度学习就可以带来良好的变革。


赞 5