当下,数字化转型浪潮席卷各行各业。就以刚过不久的七夕节为例,在这一天,看电影、聚餐、唱歌等等都成为了大家不可或缺的娱乐项目,由于线下 等位人数过多,在线预约取号软件得到了广泛应用。而就在当天,某知名火锅店的排号系统却意外罢工,更是直接登上了微博热搜榜。
据了解,数据激增是导致系统崩溃的直接原因。不少“热心”网友在其官方微博留言:“什么鬼,软件崩了”、“赶紧修系统去!!”等等。好在,该火锅店迅速修复了系统 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 相信,只有让更多的人参与到技术的推进与建设中,才能够集众人之力,构建超乎所见,用技术让世界更美好!
评论