深度解析机器学习——模型训练和预测

本文深入探讨了机器学习,特别是深度学习在多个领域的应用,强调了模型训练和预测的重要性。文章指出,当前流程中使用Flink和TensorFlow等不同计算引擎带来的挑战,并提出了通过Flink-ai-extended整合流程的解决方案,允许在同一套Flink计算引擎上完成模型训练和预测,简化部署并节省资源。文中详细介绍了Flink计算引擎、机器学习分布式拓扑以及Flink-ai-extended的抽象概念,特别是如何在Flink上运行TensorFlow进行批处理和流处理训练,以及实现实时预测的方法。
摘要由CSDN通过智能技术生成

 

前言

机器学习的核心即为深度学习,通过不断的模型训练和预测,机器学习的价值越来越得到明显,深度学习技术在当代社会发挥的作用越来越大。目前深度学习被广泛应用于个性化推荐、机器翻译、自动驾驶、商品搜索、人脸识别等多个领域,此外还在向社会各个领域迅速渗透。

当前,社会结构变得复杂化和多元化,各种生态再适应时代的过程中也在不断突破和衍生,深度学习就是一个典型的案例,它孵化出来的应用越来越多样化,随之涌现出诸多优秀的计算框架。其中 PyTorch,TensorFlow,MXNeT 作为广泛使用的框架更是备受瞩目。在将深度学习应用于实际业务的过程中,往往需要结合数据处理相关的计算框架如:模型训练之前需要对训练数据进行加工生成训练样本,模型预测过程中需要对处理数据的一些指标进行监控等。在这样的情况下,数据处理和模型训练分别需要使用不同的计算引擎,增加了用户使用的难度。

 

本文将分享如何使用一套引擎搞定机器学习全流程的解决方案,通过link-ai-extended支持模型训练和模型的预测。

机器学习工作流程

先介绍一下典型的机器学习工作流程。如图所示,整个流程包含特征工程、模型训练、离线或者是在线预测等环节。

 

img

 

在此过程中,无论是特征工程、模型训练还是模型预测,中间都会产生日志。需要先用数据处理引擎比如 Flink 对这些日志进行分析,然后进入特征工程。再使用深度学习的计算引擎 TensorFlow 进行模型训练和模型预测。当模型训练好了以后再用 TensorFlow serving 做在线的打分。

 

上述流程虽然可以跑通,但也存在一定的问题,比如:

同一个机器学习项目在做特征工程、模型训练、模型预测时需要用到 Flink 和 TensorFlow 两个计算引擎,部署相对而言更复杂。

TensorFlow 在分布式的支持上还不够友好,运行过程中需要指定机器的 IP 地址和端口号;而实际生产过程经常是运行在一个调度系统上比如 Yarn,需要动态分配 IP 地址和端口号。

TensorFlow 的分布式运行缺乏自动的 failover 机制。

针对以上问题,我们通过结合 Flink 和 TensorFlow,将 TensorFlow 的程序跑在 Flink 集群上的这种方式来解决,整体流程如下:

 

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农老K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值