不懂业务的开发人员,就不是好的数据科学家

2020 年 9 月 14 日

不懂业务的开发人员,就不是好的数据科学家

当下,数字化转型浪潮席卷各行各业。就以刚过不久的七夕节为例,在这一天,看电影、聚餐、唱歌等等都成为了大家不可或缺的娱乐项目,由于线下 等位人数过多,在线预约取号软件得到了广泛应用。而就在当天,某知名火锅店的排号系统却意外罢工,更是直接登上了微博热搜榜。

据了解,数据激增是导致系统崩溃的直接原因。不少“热心”网友在其官方微博留言:“什么鬼,软件崩了”、“赶紧修系统去!!”等等。好在,该火锅店迅速修复了系统 Bug,恢复了正常营业。可见,如何快速地、稳定地交付高质量应用,满足用户的多样化需求,已经成为企业必须要面对的关键问题,其直接影响到企业的利润及发展潜力。
其中,软件开发过程的改进是关键,正是 DevOps 开启了软件开发的新革命。它将开发、运营和业务等部门之间进行联通,实现了软件开发人员和 IT 运维技术人员有效沟通的工作方式。促使软件的构建、测试、发布更加迅速、可靠。

同样,在人工智能(AI)和机器学习(ML)领域,需要类似的改进方法进一步提高模型开发、训练和部署的效率,帮助企业实现机器学习的快速落地。

一、机器学习 / 人工智能如何轻松开发和运维?

Gartner 2020 年 4 月的一项调查显示,全球 14%的 CIO 已经部署了人工智能, 48%的 CIO 将在 2019 年或 2020 年部署人工智能。人工智能及机器学习的部署上升趋势表明,大多数企业认识到机器学习的变革优势,并正在从 机器学习 / 人工智能中获得价值,但在实际生产中应用机器学习,企业仍然面临诸多挑战。

一方面,机器学习应用本身在开发工具(如 IDE,软件包 / 库和统计技术等)领域已经取得了长足的进步,但在部署和维护环节的关注度极低。 机器学习项目同样遵循软件开发的流程——创建、训练、部署,再根据需求更迭版本。但机器学习系统与传统软件有着本质的区别,它由数据驱动,使得其不确定性很强。由于部署新模型的过程需要数周或数月,同时模型又时常变化,操作不当极易导致新模型无法投入生产。

另一方面,机器学习项目落地涉及企业众多环节,各个团队之间的协作是关键。 具体到公司内部,基本涉及三类职责的人群:产品经理、应用开发、算法工程师 / 数据科学家。当算法模型创建完成后,应用开发会调用相应端口,而后续则需要建立机器学习平台或者运维团队的支持。对于各部门的团队来说,机器学习平台及其运维只是整个机器学习项目中的一部分,需要数据科学家、IT 等多部门能够通过监视和验证的手段管理机器学习。例如:数据科学家通常参与机器学习模型 / 算法的开发,但他们不负责生产流程和系统,所以实现协作和整合显得尤为重要。

此外,机器学习架构设计方面也存在缺陷。 目前诸多机器学习模型代码与应用代码为紧偶关系,当模型需要快速地更新、迭代、 AB 测试时,机器学习团队依赖应用开发团队,使得平台运维团队、应用开发团队和机器学习团队相互抑制,直接影响到整个项目的进度。可见机器学习工作流程缺乏与通用软件工程相似的标准化流程,急需将数据科学、数据工程以及 DevOps 专业知识结合在一起。

由此,MLOps 应运而生,MLOps 基于提高工作流效率的 DevOps 原理和做法,将持续集成、持续交付和持续部署的理念应用到机器学习过程当中。 其聚焦于机器学习新模型的持续训练、新模型的部署以及之后的技术工作,旨在保证机器学习项目快速、持续地试验和开发模型、快速地将模型部署到生产环境、减少模型衰减带来的影响。

总的来看,随着机器学习技术和实践与现有的软件交付系统和流程结合起来,MLOps 将获得迅速发展。 不过,必须明确,MLOps 所具备的优势并不等于它是万能的,虽然 MLOps 改善了机器学习解决方案的质量和一致性,但整个方案相对复杂,企业自身无法独自实现,因此需要一个平台来处理这些频繁的事件。

二、Amazon SageMaker 赋能企业应用 AI/ML

为此,Amazon Web Services(AWS)作为人工智能与机器学习的先驱者之一,推出了完全托管端到端 MLOps 服务的 Amazon SageMaker 平台。Amazon SageMaker 可帮助开发人员和数据科学家快速地大规模构建、训练和部署机器学习 (ML) 模型,消除了机器学习过程中各个步骤的繁重工作,让开发高质量模型变得更加轻松。

在传统的机器学习项目中,如图所示,数据科学家会需要参与每个步骤,将不断更新的新模型投入到实际生产中。如部署周期是每月一次或每季度一次,传统流程还可满足需求。但如今,企业需要新功能、高可操作性的机器学习功能,传统的机器学习流程逐渐成为机器学习落地、规模化、生产化的阻力。

Amazon SageMaker 覆盖整个机器学习项目全阶段,将机器学习算法的开发过程、业务流程与部署过程进行了松耦,以全托管、自动化的方式提供监视、验证和管理机器学习模型等服务,加速企业建设 MLOps 的过程。

构建机器学习模型

Amazon SageMaker Autopilot 可帮助用户自动构建、训练和调优完全可视和可控的模型,即可自动检查原始数据、应用功能处理器、选择最佳算法集、训练和调优多个模型、跟踪模型性能以及根据性能对模型进行排名。

训练机器学习模型

Amazon SageMaker Experiments 通过自动捕获输入参数、配置和结果并将其存储为案例,帮助用户组织和跟踪机器学习模型的迭代。此外用户还可使用 SageMaker Studio,以可视化的方式来浏览进行中的机器学习实验,根据实验特征搜索先前的实验、查看先前的实验及结果,以及直观地比较实验结果。

部署机器学习模型

用户可依靠 Amazon SageMaker 模型监控器来检测和修复概念偏差,让模型保持精确。当模型在生产环境中运行时,一些功能可能会出现偏差,这表明需要对模型进行再训练,模型监控器会自动检测已部署模型中的概念偏差,并提供详细的警报,帮助用户确定问题的根源。
与此同时,AWS 针对中国市场的特点,为开发者提供十分开放的使用环境,帮助用户在 AI 时代实现智能转型。

开放性

AWS 不断积极参与众多开源社区项目。Amazon SageMaker 对包括 TensorFlow、PyTorch、Apache MXNet 在内的主流框架进行了深度优化。例如:在全球范围内使用 TensorFlow 框架的机器学习项目约 85% 的负载跑在 AWS 平台上,其针对 TensorFlow 进行优化后能够实现同时跨百余个 GPU 提供近线性扩展效率,为开发者解决了在云端运行时的大量处理开销。根据实际案例,256 GPU 扩展效率可达到 90%,训练时间从 30 分钟缩短到 14 分钟,开发者可在更短时间内训练更准确、更专业的模型。

此外,在今年 4 月 AWS 和 Facebook 合作推出了 PyTorch 模型服务库 TorchServe。借助 TorchServe,PyTorch 用户可以更快地将其模型应用于生产,而无需编写自定义代码:除了提供低延迟预测 API 之外,TorchServe 还为一些最常见的应用程序嵌入了默认处理程序,例如目标检测和文本分类。目前 Amazon SageMaker 支持的深度学习框架包括:TensorFlow、PyTorch、Apache MXNet、Chainer、Keras、Gluon、Horovod、Scikit-learn、Deep Graph Library、Deep Java Library 等。

值得关注的是,AWS 在重视技术创新发展的同时,一样关注当下存在的社会问题。 在疫情期间,上海 AWS 人工智能实验室发布了基于深度学习的有关制药领域的知识图谱计算库 Deep Graph Library。通过调用该库, 能帮助人们更快、更有效地从现有药物中查找针对新冠病毒有潜在治疗效果的药物。

为了帮助更多的企业用户与开发者深入了解 AWS 业务提供的机器学习和 AI 服务,在 9 月 10 日 -11 日即将举行的「AWS 在线技术峰会 2020」中,AWS 为开发者们准备了人工智能与机器学习的技术分享论坛,专注于讨论并解决阻碍开发人员掌握机器学习的众多艰巨挑战。

届时论坛将邀请到 AWS 机器学习产品技术专家 王世帅、AWS 资深开发者布道师 王宇博、AWS APN 合作伙伴高级解决方案架构师 张峥等以及诸多 AWS 人工智能业务专家及合作伙伴,与您一同分享机器学习相关深度技术、AWS 在人工智能与机器学习的整体架构、AWS 帮助开发者大规模快速构建、训练和部署机器学习模型的云化平台 Amazon SageMaker 等等相关话题。同时,开发者还可以了解到人工智能和机器学习服务的具体落地案例。

此外,在「AWS 在线技术峰会 2020」活动中,您还可了解到关于现代应用与开发、数据湖与数据分析、数据库、人工智能与机器学习、安全与合规等云计算前沿科技及创新方案。无论你是开发小白、或是技术大牛,均能在本次活动中找到适合自己的内容。AWS 相信,只有让更多的人参与到技术的推进与建设中,才能够集众人之力,构建超乎所见,用技术让世界更美好!

2020 年 9 月 14 日 10:26 164

评论

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

海量数据拉升背后的成本困扰:存算分离成美图降本增效新良方

华为云开发者社区

大数据 华为云 海量数据

一个草根的日常杂碎(9月21日)

刘新吾

生活 现实纪录 随笔

anyRTC云端录制功能上线

anyRTC开发者

WebRTC 语音 直播 RTC 安卓

腾讯架构师:亲手Debug之后,你就知道为何面试问源码了

小Q

Java tomcat 程序员 架构 调优

Java引入第三方包的路径问题

谷鱼

路径

从零开始搭建完整的电影全栈系统(五)——WEB网站、Api以及爬虫的部署

刘强西

爬虫 网站搭建 部署与维护

环信和阿里云签署云原生合作,携手共建云通讯“新基建”

DT极客

恶补,一文了解 8 种常见的数据结构

Java架构师迁哥

一文学懂递归和动态规划!

码农田小齐

算法 数据结构和算法

oeasy 教您玩转linux 010304 图形界面 xfce

o

18 张图,一文了解 8 种常见的数据结构

沉默王二

Java 数据结构

年度开源盛会 ApacheCon 来临,Apache Pulsar 专场大咖齐聚

Apache Pulsar

开源 云原生 Apache Pulsar 消息中间件

猛料!腾讯架构师手写“Java成长秘籍”,做开发也没那么难

互联网架构师小马

Java 编程 程序员 腾讯 软件开发

你一定看得懂的Netty客户端启动源码分析!

云流

Java 编程 Netty 架构师

Springboot 定时任务

hepingfly

定时任务 springboot 注解

前端如何优雅处理类数组对象?

pingan8787

JavaScript web前端

小白理财先转变思维理念

boshi

理财 收入 财富自由

高难度对话读书笔记—情绪篇

wo是一棵草

整合Elastic-Job(支持动态任务)

Nil

springboot SpringCloud 分布式任务调度 Elastic-job

被我玩坏的git:除了之前的工作、当网盘用,还能这么玩

小Q

Java git 程序员 架构 开发

ECMAScript 6新特性简介

程序那些事

nodejs ES6 ECMAScript 6

智谱AI首席科学家唐杰团队荣获国际数据挖掘顶会时间检验应用科学奖

DT极客

2020年程序员必备的面试重点+面试真题+个人软实力,你学废了吗?

Java架构师迁哥

Java 回调(Callback)接口学习使用

魏杰

两天,我把分布式事务搞完了

yes的练级攻略

分布式事务 seata

关于Java调用类的main方法

谷鱼

Java 包位置

实战中学习浏览器工作原理 — 排版与渲染

三钻

CSS 前端 浏览器

支付平台架构技术实现之终端安全

博文视点Broadview

架构 安全攻防 安全 支付系统 风控

揭示智能边缘重大机遇 英特尔邀产学研推动产业智能升级

intel001

技术译文|如何将 Pulsar 用作消息队列

Apache Pulsar

开源 云原生 pulsar Apache Pulsar 消息中间件

没有返回值的构造函数是怎么完成赋值的?

科技缪缪

Java 架构 编程语言

众安黑客马拉松大赛总决赛-InfoQ小编探班

众安黑客马拉松大赛总决赛-InfoQ小编探班

不懂业务的开发人员,就不是好的数据科学家-InfoQ