Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Jason Knight作者

陈天奇创业公司首个SaaS产品:快速构建部署ML应用,跨平台优化、基准和封装一条龙

我们都知道,将机器学习模型部署到设备时需要耗费大量的时间和算力,有时会力不从心。去年,知名人工智能青年学者、华盛顿大学博士陈天奇参与创建了 ML 创业公司 OctoML。该公司致力于打造一个可扩展、开放、中立的端到端栈,用于深度学习模型的优化和部署。这不,他们推出了首个 SaaS 产品 Octomizer,其能够帮助开发者或数据科学家更方便、更省事省力地将 ML 模型部署到设备上。

今日,OctoML 公司正式在 Medium 上发表了一篇博文,介绍了他们正在进行的 Octomizer 项目——这是一个推动 ML 研究和实际应用部署的软件平台,力求让 ML 的应用简洁、快速、方便。

机器之心对博客内容编译如下:

长期以来的 ML 痛点

机器学习和深度学习对计算机领域产生了巨大的影响,其发展看起来非常光明,很多工程师可能会将其加入到自己的工具中。但是,学界的快速发展和一些可以看到的应用外,ML 到真正的产品之路依然是由昂贵的专家铺就的——这些专家需要找到一种复杂而混乱的方案。但是,方案出来的时候,产品可能已经错过了市场周期,成本超支。总而言之:机器学习依然困难。

虽然很多科技巨头都在大力招聘优秀人才,但在机器学习社区中,所有人都会遇到以下两个难题:

痛点 1:机器学习库和服务依然处在低层等级,不能够很好地抽象复杂性。尽管有很多开源项目力求加快 ML 模型的应用,但是这些项目无疑都需要使用者对底层算法和计算细节有很好的认识。另外,这些项目的抽象性不一定很好,所以它们声称能够实现的「一键部署」或「易用」特性是达不到的。

痛点 2:ML 的计算很慢,而且不能够很好地支持移动端。很多时候,在某些硬件和软件上拟合地很好的模型换了平台和部署环境就会出现性能下降的问题。例如,你有一个不错的 ResNet-50 模型,在你最喜欢的硬件或软件平台上有着不错的性能表现。但是,如果将其部署在其他平台上,或者增加了几个训练的窍门,性能会大幅下降。

OctoML 推出首个 SaaS 产品 Octomizer

出现问题就要解决问题。几年前,我们中的一些人开始从头开始重新构建 ML 软件堆栈,从而修复机器学习存在的问题。2017 年 8 月,陈天奇等人开源了深度学习自动代码生成方法 TVM,对业界产生了深远的影响。利用这一工具,机器学习算法可以自动编译成可供下层硬件执行的机器语言,从而可以利用多种类型的算力。现在,大多数主要深度学习公司都在使用 TVM 框架,为亚马逊 Alexa 唤醒词检测提供支持,并促使 Facebook 语音模型获得 80 多倍的性能提升。

通过与不断发展的社区共同构建深度学习编译器,亚马逊、Facebook、微软以及其他公司已经能够为它们的工作负载生成跨平台、高性能代码,这要比编写低级核心程序这种传统做法更为省时省力。

基于 TVM 的这些良好用例,我们意识到可以并且需要向更多的开发者展示该框架所带来的好处及其良好性能,所以创立了 OctoML 并创建了首个产品:Octomizer。

Octomizer 是一种软件即服务(SaaS)产品,旨在帮助任何人更方便地将 ML 模型部署为应用程序的一部分。开发者或者数据科学家只需上传机器学习模型(TF、PyTorch、ONNX 等),然后由我们在不同的硬件平台和应用语言运行时上对模型进行优化、基准测试和封装。

借助于 Octomizer,用户可以更方便地:

  • 减少从模型训练到模型部署期间的周转时间,进而提升数据科学团队工作效率;

  • 降低 ML 云操作成本;

  • 将更多模型部署到边缘、移动端和 AIoT 设备上,实现云操作零成本。


下图为 Octomizer 的整体工作流程:

Octomizer 工作流程。

Octomizer 的效果

用户可以使用 Octomizer 来对模型在不同云 CPU 和 GPU 实例类型上的性能进行对比,并评估将模型部署到 ARM 移动端或嵌入式处理器上的设备分级需求,从而增强数据保密性,降低潜在硬件成本。接着就可以选择你所需要的部署封装格式了,如 Python wheel、具有 C API 的共享库、无服务器的云打包工具、具有 gRPC 或 REST 包装器的 Docker 图像以及 Maven Java 伪影等。

在收到二进制文件之后,用户即可以使用手头的任何部署装置来部署模型,并且借助 Octomizer API 进一步实现部署流程的自动化,进而作为应用现有 CI/CD pipeline 的一部分来构建或优化模型。

以往而言,用户需要耗费数周甚至数月时间将训练好的模型在不同设备上投入生产。借助于 Octomizer,所有这些耗时耗力的工作都可以避免了,并且也不用再担心性能、运算子和不同平台封装不一致的问题了。如此一来,更为接近边缘的部署可以节省计算成本、降低延迟、增强用户隐私和数据安全。

效果不仅仅如此,通过「ML applied to ML」编译流程在底层的更充分利用,用户还可以持续地改善模型的性能、内存占用和磁盘占用。并且,随着我们添加更多硬件、基准测试、封装格式以及更快的优化流程,Octomizer 能够继续提升自身效果。

目前,Octomizer 提供了内测的 beta 版,用户可以登记试用。

参考链接:https://medium.com/octoml/octoml-easier-machine-learning-67e217fffa20

工程陈天奇OctoMLSaaS基准
相关数据
Amazon机构

亚马逊(英语:Amazon.com Inc.,NASDAQ:AMZN)是一家总部位于美国西雅图的跨国电子商务企业,业务起始于线上书店,不久之后商品走向多元化。目前是全球最大的互联网线上零售商之一,也是美国《财富》杂志2016年评选的全球最大500家公司的排行榜中的第44名。

https://www.amazon.com/
相关技术
Microsoft机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
陈天奇人物

陈天奇,华盛顿大学计算机系博士生,此前毕业于上海交通大学ACM班,研究方向为大规模机器学习。陈天奇曾获得KDD CUP 2012 Track 1第一名,并开发了SVDFeature,XGBoost,cxxnet等著名机器学习工具,是最大开源分布式机器学习项目DMLC的发起人之一。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
自动代码生成技术

自动代码生成(Code Generation),指生成程序的程序,更详细的是指通过读取工程中设计的各种文档或者模型,按照一定的领域规则,生成规范的计算机能理解的源代码的过程。

合合信息机构
推荐文章
暂无评论
暂无评论~