2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

落地机器学习前,我们应该思考清楚的几个问题

  • 2017-10-04
  • 本文字数:2863 字

    阅读完需:约 9 分钟

随着大数据技术的普及和发展,机器学习技术从搜索引擎开始,伴随着互联网、移动互联和共享经济的发展,日益成为改善用户体验、提高产品质量的核心组件。机器学习技术不仅给互联网带来了源源不断的收入(互联网广告),甚至也在改善每一位用户的日常电商购物、交通出行、旅游等方方面面的体验。那如何在已有的系统或者业务中落地机器学习相关实践呢?在开始使用机器学习之前,企业应该有哪些准备?带着这些问题,InfoQ 记者采访了 PayPal 大数据研发架构师张彭善。另外,张彭善也将会在 10 月 17 日举行的 QCon 全球软件开发大会上分享相关话题,欢迎关注。

InfoQ:机器学习现在非常火热,很多企业也逐步开始考虑在业务中实践机器学习,你认为机器学习适合解决什么样的问题?

张彭善:抛开 AI 不谈,机器学习在很多领域已经证明了其具有非常巨大的价值,尤其是在互联网领域,无论是杀手级应用互联网广告、还是电商内容平台推荐、风控欺诈识别以及共享出行,机器学习已经成为互联网变现提高盈利的重要手段。从这些主流应用中可以看出目前的机器学习主要是在解决复杂的预测优化问题,所以对于企业来讲,应当思考业务环节中任何涉及优化策略的业务都可以尝试实践机器学习,比如新产品目标用户推广、销售策略优化、客户流失预警等等。

InfoQ:那在落地机器学习之前,企业应该有哪些准备?什么样的团队适合实践机器学习?

张彭善:我和很多企业聊过,这个问题和第一个问题构成目前企业应用机器学习最大的痛点。对于大部分企业来讲不会像互联网企业一样有强大的数据科学和工程团队,但是我也注意到很多传统企业也是有数据分析和业务开发团队的,这是一个很好的基础,利用这些团队可以组建或培训适应机器学习应用的数据科学团队。然后可以着手先尝试以最小成本构建起端到端的机器学习管道,这包括基础平台的构建、收集数据的渠道、特征工程和模型开发的流程以及最终模型的部署上线,有了这样的管道和平台,就可以持续不断的优化性能进而达到预期的业务目标,然后可以慢慢尝试应用到其它业务场景。

InfoQ:结合你的工作经验以及业界的一些实践,你认为企业落地机器学习的最佳路径是什么?

张彭善:始终以业务优化作为指导,无论是任何一个步骤,都需要思考是否是有利于达到最终的优化目标。最佳路径是在构建整个流程管道和平台的同时,力争快速部署模型到系统中去。当模型部署上去之后,通过反馈结果再持续的迭代和改进机器学习平台和整个管道,此过程中没有必要去追求完美的模型和完美的系统,快速响应业务和持续演进能力是关键。

InfoQ:在落地机器学习的过程中,企业应该注意避开哪些坑?

张彭善:落地机器学习的过程,确实会有很多的坑,比如:

  1. 学习目标应尽可能的简单以及可以量化,如果目标定义模棱两可,很难想像能做出很好性能的模型。
  2. 应当首先从简单线性模型开始,不要上来就盲目迷信复杂的非线性和深度模型,事实上每一个模型都有其适用场景和优缺点,从线性模型出发首先可以提供一个好的基准,其次也能帮助发现数据中存在的问题,比如说剔除一些噪音数据,解释一些复杂的特征数据等等。
  3. 确保训练数据、测试数据和线上数据的分布一致,这个说起来简单,实际上随着业务的复杂性增加,很多情况下训练数据和线上数据并不一致。有可能是业务调整导致线上预测只是之前的一小部分数据集,也有可能训练数据集只是取的业务其中有偏差的一部分数据。
  4. 始终以机器学习平台管道构建为目标,不要局限于短期的性能改善,作为一个优化系统,更多的尝试意味着更大可能的性能提高,有了平台的基础,才能持续稳定的改善机器学习模型的性能,提高业务收益。

InfoQ:在一个相对完整的机器学习平台中,你认为应该包含哪些技术栈?

张彭善:机器学习平台是一个相对复杂的系统,主要包括离线、近线、在线三个方向的技术栈。

  1. 离线系统的技术栈主要是构建在 Hadoop 系统,如日志数据存储(HDFS)、特征数据仓库(Hive,SparkSQL,…)、ETL 计算、MapReduce 特征工程、模型训练和评估,目前一些主流的基于 GPU 的深度学习也可以统一到 YARN、Kubernetes 等系统中进行统一的调度管理。
  2. 近线主要涉及到一些流式的计算,如计算各个产品维度的滚动值、历史值等,涉及到的技术栈包括消息系统如 Kafka、流失计算如 Storm、Flink、Spark Streaming 等。
  3. 在线主要涉及到在线特征管理和计算以及模型执行,在线系统对于系统的可用性有很高的要求,主要涉及的技术栈包括各种 NoSQL 数据库用来管理和快速存取特征,Rest 或微服务架构管理各种模型和所依赖的特征。除模型预测外,在线系统还可能包括策略系统:主要根据模型预测做相应的策略,此系统一般会和业务系统结合也是偏向服务化的技术栈。

除此之外,还会有监控、日志收集、调度等系统辅助整个平台的运行,这些技术栈并不是特别固定,可以根据实际需要选取和研发。

InfoQ:做应用的时候,大家都经常喜欢说架构。机器学习平台有架构之类的说法吗?

张彭善:机器学习平台并没有脱离软件工程,架构在整个平台依然扮演着非常重要的作用。

  1. 和传统应用一致,在线机器学习平台目前主要也是分层的微服务架构,通过微服务可以把数据存取及模型执行以及策略执行做很好的解耦,数据服务通过数据库存取一般是 IO 密集型的,模型和特征计算是 CPU 密集型,各服务和应用可以单独优化和部署,进而提高整个在线系统的性能和可用性。如果在线系统涉及到模型增量运算,对于在线系统还需要做好线上模型更新和隔离,这时分层和服务架构更加重要而且对层次划分也更细致。
  2. 机器学习平台还涉及到很重要的离线数据平台,底层一般是构建在 Hadoop/YARN 之上的资源管理系统,数据和特征存储在上层的 HDFS/Hive 或其它 Hadoop 数据仓库,此外构建基于内存的分布式迭代计算框架,也可以使用 Spark 或者 TensorFlow 等主流框架,再上层构建完整的机器学习特征工程和模型训练的管道。

InfoQ:你认为一个机器学习从业人员和传统的应用工程师(程序员)最大的区别是什么?他们的能力侧重点各是什么?

张彭善:从机器学习的应用来看对于传统的应用工程师也提出了新的挑战,首先机器学习应用是一个融合了离线平台和在线平台的更加复杂的应用,机器学习从业者主要包括数据科学家和机器学习工程师,他们往往是围绕数据和优化目标来设计系统,而为了很好的达到优化目标和业务预期,实际机器学习从业者需要对业务、统计和机器学习以及工程领域都要有很好的理解,而他们的相对弱势是对于系统架构如可用性和服务化等的掌握。传统的应用工程师在这方面较有优势,工程能力是一个很好的基础,也可以帮助他们扩展到面向数据和业务的机器学习应用系统。

InfoQ:在 QCon 上海全球软件开发大会上,你会重点为参会者分享哪些技术点?

张彭善:这次也是我第一次作为出品人参加 QCon,出品专题是《机器学习应用与实践》,主要是由来自携程、PayPal、美团点评以及唯品金融的机器学习专家分享他们在各自公司运用机器学习技术提升业务价值的实践和经验。我觉得这些议题具有相当的代表性,各位专家也是从另一个角度来帮助我回答上面的一些问题。从应用出发,使用机器学习去驱动业务,不是为了用而用,也是出品这个专题的初衷。

2017-10-04 03:084698
用户头像

发布了 219 篇内容, 共 145.7 次阅读, 收获喜欢 194 次。

关注

评论

发布
暂无评论
发现更多内容

这么多大数据培训机构怎么来选择呢

小谷哥

“程”风破浪的开发者|我的js之路

隔壁老帆帆

学习方法 1024 1024程序员节 “程”风破浪的开发者

腾讯升级云原生产品布局 助力企业数字化转型更进一步

科技热闻

Mac Osx终端显示图片

Geek_pwdeic

terminal osx

敢承诺安全效果?IT人竟能如此省心

科技热闻

阿里云注册集群+Prometheus 解决多云容器集群运维痛点

阿里巴巴云原生

阿里云 云原生 Grafana Prometheus

千锋教育走访人才合作企业数式科技 深度了解企业人才需求

千锋IT教育

浅谈 Python 中的迭代器

何极光

Python 迭代器 10月月更

分层的电子签市场,被忽略的小微企业

ToB行业头条

Spring Boot「18」使用 JDBC 连接数据库

Samson

Java spring 学习笔记 spring-boot 10月月更

精盾信息莅临千锋教育武汉校区招聘前端开发工程师

千锋IT教育

LED显示屏安装之前要注意的问题

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

深圳开发培训学习怎么选择靠谱的机构?

小谷哥

2022年汽车品牌智能网联竞争力指数(ICVCI)

易观分析

汽车 ICVCI 智能网联

Go语言入门10—Map

良猿

Go golang 后端 Go web

面向复杂业务场景下的低代码平台组件设计与实践分享

Baidu AICLOUD

组件化 低代码开发平台 数据映射

前端比较好的培训机构是哪家?

小谷哥

TOGAF认证考试开启“主线+支线+副本”模式!

涛哥 数字产品和业务架构

找个好用的录屏软件,怎么这么难?

淋雨

Camtasia

和鲸 ModelWhale 入选《2022爱分析 · 数据智能厂商全景报告》

ModelWhale

机器学习 数据智能 数据科学 厂商

九科信息RPA助力某大型航运企业财务部门降本增效,实现业务流程自动化操作

九科Ninetech

安全可控的企业级低代码开发平台

力软低代码开发平台

OneFlow源码解析:Global Tensor

OneFlow

人工智能 深度学习 源码解析

OpenHarmony将携新成果亮相HDC2022

OpenHarmony开发者

OpenHarmony

前端培训学习的人这么多,行业前景怎样

小谷哥

web前端开发培训有前途吗?

小谷哥

SSH的工作原理、加密方式以及配置多个ssh key

甜点cc

前端 学习笔记 加密 SSH 10月月更

Zepoch已售出500+,Zebec Chain受到市场追捧

西柚子

学C++的以后都能从事哪些岗位?

C++后台开发

c++ 后端开发 客户端开发 linux开发 C++开发

实时数据湖 Flink Hudi 实践探索

阿里云大数据AI技术

大数据 flink 企业号十月 PK 榜

重磅,无需特殊工具,直接访问网站!

八点半的Bruce.D

落地机器学习前,我们应该思考清楚的几个问题_大数据_小盖_InfoQ精选文章