流式推理引擎对比

本文对比了DarwinML Inference、MetaFlow、AirFlow和MLFlow四个流式推理引擎,分析了它们在数据科学家、运营商和终端用户角度的优缺点。DarwinML Inference以其全面的功能,如工作流、数据流处理和弹性部署,成为商用的首选。而MetaFlow、AirFlow和MLFlow在不同方面存在不足,如对数据流处理的支持和云平台的兼容性。

什么是流式推理引擎

推理引擎是将人工智能模型转化为生产力的关键部件。它衔接数据科学家、终端用户和运营商,在典型的商业场景中,运营商将数据科学家研究的人工智能模型,部署于计算平台,并引导终端用户的请求在计算平台各模型间流转,最终形成客户期望的响应,并在其终端展示。

流式推理引擎是推理引擎的一种工作形态,他将人工智能模型及相关的周边处理,以工作流的方式组织起来,对外提供更能适配客户业务需求的推理服务。

它工作的时候,数据从终端客户或设备开始,在推理引擎的驱动下,按照既定的工作流业务逻辑,在各智能和非智能处理节点间流动,最终以业务要求的形态流出平台,被客户系统消费。

需要什么样的流式推理引擎

在这个端到端的典型场景中,关联的各方对于推理引擎的特性、技术、指标等有不同的考量。

数据科学家提供基础的人工智能模型,由于人工智能技术的飞速发展,科学家们多会广泛尝试各种人工智能底层框架和第三方算法库,以期望最大限度借力技术的发展,展现自己模型的特性。对于协助其能力变现的运营商所采用的推理引擎,当然期望其对底层人工智能框架和算法库的支持有足够的灵活性,减少模型移植的代价,保持甚至提高模型的性能,并自行解决商业化场景中的工程问题。

运营商运维数据科学家的人工智能模型,服务于终端客户以实现利润最大化。他们更多会倾向于用稳定的技术、设备,用较少的硬件和人力资源,实现其商业化的服务目标。其对推理引擎的选择,在迎合数据科学家需求、满足终端用户功能和服务质量要求的同时,会平衡考虑资源、人力的初期投入及长期维护成本以维持其竞争力。

终端用户从运营商处消费人工智能模型,寻求服务接入的便利性,和最小的代价,实现其消费要求。

DarwinML Inference:

DarwinML Inference流式推理引擎是为人工智能使能平台量身定做的商业化产品。

对于数据科学家而言,它的接口抽象,贴近其思维。不限定底层人工智能框架,给其足够的自由度。对于复杂的模型,支持DAG形式的工作流和数据流同图定义,一目了然且方便后续运营商部署和弹性伸缩。

对于运营商而言,它采用成熟软件栈和微服务架构,从单机到超大规模集群弹性伸缩。它不挑硬件,支持从嵌入式设备、台式机、大型服务器、云端虚拟机和容器乃至商业集群的各种新老硬件平台。它支持对接模型编译、小型化等优化加速技术,提升模型的适应度,提高单位资源的产出。自动批量功能能充分发挥人工智能模型批量计算和底层硬件向量加速的功能,即成倍提升系统吞吐量,又不增加数据科学家和运营商的成本。

对于用户而言,它提供丰富的接入接口,包括通用RESTful到高性能的RPC,支持从Python和Java的SDK。对于低延迟的场景,能提供毫秒级的相应。对于高并发的场景,支持线性在线自动扩容。

MetaFlow:

MetaFlow是Netflix开源的一款旨在帮助数据科学家开发管理其项目的Python库。他侧重于减轻数据科学家在开发、管理数据科学项目时,对非数据科学类其他工程领域的技能要求与投入。使之能关注于数据科学领域。

对于数据科学家而言,MetaFlow提供的编程规范和接口,将人工智能模型及相关处理的流程以工作流的形式组织起来,其他的事情,都由其后端运营商负责。

对于运营商而言,MetaFlow深度集成Amazon AWS,且是当前唯一支持的运营商,对于需要商用甚至调试的场景,都需要自己在AWS里面操作,完成存储、计算、通讯等适配,才能实现人工智能模型的服务化,对接终端用户。此外,MetaFlow里面的工作流,不处理数据流,完全依赖AWS。

对于终端用户而言,MetaFlow只提供了client,用以在python代码级别发起工作流调用。对于商用而言,相对缺少更加便捷丰富的接入方式。

AirFlow:

AirFlow是Airbnb开源的一款工作流系统,它基础功能简单,通过插件的形式支持各种语言和执行端。

对于数据科学家而言,它不是一款专门为期设计系统,需要引用一系列列插件、甚至是开发一些插件,才能完成与数据科学家及其人工智能模型应用的对接。和MetaFlow一样,它的工作流也只是涵盖业务层逻辑,不处理数据流,它通过插件支持各主流云平台,例AWS、Azure、GCP等,也有着和MetaFlow相同的问题,对数据科学家不太友好,比MetaFlow糟糕的是,它的集成相对MetaFlow来说要晦涩且难用。

对运营商而言,AirFlow更像是一个相对专业的底层工作流管理平台,但对于人工智能推理服务,他不是专业的,缺少直接、简单、易用的东西,比MetaFlow更为不及。

对于终端用户而言,AirFlow提供比较丰富的访问接口,相对更友好。

MLFlow:

MLFlow是有Databricks开源的一款机器学习生命周期管理平台,推理服务是其功能之一。

对于数据科学家而言,MLFlow是一个比较简单易用的机器学习平台,在推理服务环节,支持将同平台的模型导出为其标准的格式,例如Python Function、Scikit-learn、pyTorch、Tensorflow等,通过其部署工具,在支持的运行平台服务化。对比其他的推理引擎,其主要的弱势是模型从概念上不是基于工作流的,在构建复杂的中大型模型推理服务的时候,需要数据科学家自己解决工作流的问题。此外,同MetaFlow和AirFlow一样,他也不解决数据流的问题,需要数据科学家结合运营商的运行平台自己解决。

对于运营商而言,MLFlow支持4种部署方式,本地单机部署、Azure、Amazon SageMaker、Apache Spark UDF,但只有本地单机部署支持多种格式,其他云端、集群部署都只支持Python Function格式。这提高了商业化运行时,对数据科学家建模时的格式要求,削弱了MLFlow在建模阶段的优势。

对于终端用户而言,MLFlow只提供了RESTFul接口,在要求大流量、高性能、低延时的场景,还是缺少一些其他的选择。

总结:

特性DarwinML InferenceMetaFlowAirFlowMLFlow
DAG工作流
DAG数据流
AI框架ML集成√(plugin)
AI框架DL集成√(plugin)
单机部署
集群部署√(plugin)
云端部署√ (AWS)√(plugin)
自动批量(Batch)
资源亲和(Affinity)
RESTFul API接入
RPC API接入
Client SDK接入

以上对比的4个软件,在商用流式推理引擎方面,只有DarwinML Inference仅通过内置功能,就能满足专业性、工作流、数据流、弹性部署等这些关键需求。尤其是数据流功能,其他对比软件都不具备,需要数据科学家在建模阶段和运营商部署阶段密切配合,是一个严重的减分。

欢迎申请试用:
http://www.iqubic.net/DarwinMLTrial.html (link)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值