不同的人对MLOps有不同的定义。人工智能和机器学习领域国际最权威学者之一吴恩达认为MLOps最重要的就是ensuring consistently high quality data through all the machine learning lifecycle,强调的是通过保证data quality从而获得更好的效果。
Aquarium是符合该定义的公司,Aquarium 官网写着“Aquarium is an ML data management platform that helps you improve your models by improving your datasets”,自称是机器学习数据管理平台。本质上是通过优化数据质量来提升效果,而不是优化模型提升效果。
该公司得到了美国红杉资本和Y Combinator的投资,最新一轮的融资金额为260万美元。
另一类人认为MLOps是如何更好或更快地落地,解决机器学习落地的技术债(代码实现过程中所作的权宜之计的持续成本)。
广义的MLOps覆盖整个机器学习生命周期,创业公司有如Valohai;狭义的MLOps侧重在如何把模型投入到生产环境中,主要在部署、服务和监控,创业公司有Algorhmia;另外也有做Feature Store的公司把自己划分到MLOps领域。
MLOps相关开源项目非常多,这里选取了几家比较综合的MLOps开源项目进行对比,涵盖google的kubeflow、Databricks的MLflow、Netflix的metaflow、lyft的Flyte、allegro.ai的clearml、iguazio的mlrun。
对比各个项目github的star增长轨迹,可以看出mlflow和kubeflow无论是在star的绝对数量上还是star的斜率上都具有优势明显,这或许与Spark和K8s强大的生态有莫大的关系。
接下来文章将按照机器学习生命周期的阶段(数据准备、模型构建和部署与监控)对MLOps相关公司进行分类并加以分析。
数据合成
数据合成方面的创业公司,通过合成数据用于模型训练。目前数据合成方面的公司融资额都不大,进展并没有很顺利,还很难确定是否存在广阔市场。
数据标注
由于当下AI主要是以监督学习为主,所以普遍存在着数据标注的需求。在数据准备阶段,跑的最快的是Scale.ai,该公司目前有望在12个月内赚取1亿美元的收入,并且过去一年的销售额翻了一番。著名的客户包括PayPal,Pinterest和美国空军。该公司还与丰田,通用汽车等主要汽车制造商合作。最新一轮融资3.25亿美元,估值达到了73亿美元。
标注大量的训练数据需要一定的成本,成为了部署AI应用的瓶颈,斯坦福 AI Lab开源了一个弱监督框架Snorkel,无需要对标注人员对数据进行标注,而是编写标注函数,同样可以训练SOTA模型,想法新颖,最新一轮完成了3500万美元的融资,历史领投机构包括Greylock、Lightspeed Ventures Partners和GV。
数据质量
在数据质量方面,吴恩达提到过的data-centric的MLOps,就是通过提升数据的质量,来提升AI系统的效果,而不是优化模型提升效果。
Aquarium的slogan是“better data through better data”,具体方法是找到标注错误但模型预测正确的样本,进行重新标注。找到标注正确但模型预测错误的样本,增加相似的样本。Aquarium完成了最新一轮完成了260万美元的投资,历史领投方包括Y combinator和美国红杉资本。
除了专门聚焦在数据质量方面的Aquarium之外,数据标注独角兽Scale.ai还发布了新的产品Nucleus,和Aquarium一样是通过对提升数据的质量,来提升模型预测效果,如下图所示。
数据版本管理和托管
创业公司有格物钛Graviti和 Iterative.ai等。其中格物钛Graviti是国内初创公司,致力于打造AI时代的GitHub,专注于解决AI开发中的数据痛点,从海量公开数据集社区(Open Datasets)到专业数据管理SaaS(TensorBay),使用户可以在云端轻松获取、托管、使用数据。对数据集有需求的朋友可以去Open Dataset上去逛逛。
深度学习框架
各个大厂在深度学习框架上层面竞争激烈,如Tensorflow、PyTorch、Mxnet、PaddlePaddle,很少有创业公司敢加入战场,曾经的DL4J框架已经渐渐淡出了视野。
而一流科技是国内唯一的一家深度学习框架的初创公司,不禁感叹创始团队的情怀和勇气。创始团队开发了Oneflow框架,主打高性能。最新一轮完成了5000万人民币的融资,高瓴资本独投。
训练管理
在基于规则的编程范式中,build的过程参与的人员主要是工程师,痛点是做代码的版本管理。而在基于数据编程的范式中,build的过程是训练,参与的人员已经不是单纯偏向于业务侧的工程师,往往带有一定的研究性质。对于实验密集型的机构来说,对实验的模型和参数进行版本管理和追溯就是特别痛的点。
OpenAI就是典型的研究密集型的机构,Weights&Biases就把OpenAI的用户案例作为case study。Weights&Biases是实验管理领域的跑的最快的公司,在200多家企业中有超过70000个用户。最新一轮完成了4500万美元的融资,Insight Partners领投。值得一提的是,创始团队曾经也创立过数据标注公司,并被Appen收购。
Grid AI的创始人,在纽约大学读博时曾在Facebook AI Research实习,期间他创建开源项目PyTorch Lightning,构建在pytorch框架之上,一大特点就是把模型代码和工程代码分开,让研究人员专注于模型代码的编写,它是世界上增长最快的机器学习项目之一,项目从19年下半年开始开源至今收获了13.5k,最新一轮获得了1860万美元的融资,Index Ventures领投。
机器学习
机器学习平台里面,跑的比较快的是DataRobot,最新一轮5000万美元的融资,snowflake venture领投,再前一轮完成了2.7亿美元的融资,目前估值28亿美元。还有开源的公司H2O.ai,最新一轮完成了7000多万美元的融资,高盛和平安领投。
DataRobot、H20.ai和Dataiku公司规模较大,产品线较丰富,包括了AutoML和MLOps等产品。
Snowflake主要产品是云数据仓库,主要处理表数据,而DataRobot和Dataiku等公司,主要处理也是表数据。数据仓库是做表的聚合统计,ML是做表的预测(分类或回归),数仓和机器学习是处理表数据的不同环节,上下游的关系,所以Snowflake同时投资了DataRobot和Dataiku。以Snowflake的目前的体量来看,未来很有可能收购一家聚焦在表数据的机器学习平台公司。
国内机器学习跑的比较快的是第四范式,最新一轮完成了腾讯投资的投资,再前一轮完成了7亿美元的融资。机器学习平台方面国内和国外有着显著的差异,国外的公司往往边界比较清晰,聚焦在小的单点,而第四方式产品线极其丰富,不仅仅包括软件,还包括硬件。这与中美IT的基础设施环境差异有关。
前文提及,广义的MLOps包括了从设计、建模到部署的多个流程,而这里“MLOps”是狭义定义,根据公司官网的描述来归类。
自称有MLOps产品的创业公司可分为以下几类:
从AutoML切入:DataRobot、H2O.ai和Dataiku
ML life cycle全流程:valohai
ML life cycle某一环节:algorithmia
DataRobot、H2O.ai和Dataiku此类公司,从AutoML切入,扩充产品线到MLOps。例如,DataRobot收购了以色列MLOps公司ParallelM,加强自身在部署方面的能力。algorithmia这类公司聚焦在部署,valohai是覆盖整个机器生命周期的公司。另外,有些公司侧重在机器学习,有些偏向深度学习;有些侧重在云端,有些偏向边缘侧(开放智能)。(不同公司的比较可以参考valohai的文章)
国内的MLOps方向的公司目前有开放智能(Open AI Lab),侧重在边缘侧的部署能力。OPEN AI LAB于2016年成立,专注边缘智能计算及应用,以Tengine为核心,为AIoT产业上下游合作伙伴提供端、边、云的一体化人工智能开发基础软硬件平台及解决方案。
2018年6月耀途资本、普华资本联合领投该公司 pre-A 轮融资,后续其又获得红杉资本、宽带资本上亿融资。
Feature store
Feature store是Tecton创始人在Uber担任工程师时提出的一个概念。此后不久,一位名叫Willem Pienaar的工程师阅读了创始人在Uber上建立feature store的博客文章,并着手构建Feast作为该概念的开源版本,现在是Linux Foundation的一个项目,获得了将近2k的star。后来Tecton雇佣了Willem Pienaar加了公司。Tecton在2020年分别完成了2000万美元和3500万美元的融资,由a16z和美国红杉资本联合领投。
大厂也开始关注该功能。AWS 2021的reinvent大会,在sagemaker中发布了feature store的功能。不久前,在Google I/O上,Google Cloud发布了Vertex AI,这是一个新的托管机器学习平台,旨在使开发人员更轻松地部署和维护其AI模型。奇怪的是,I/O通常专注于移动和Web开发人员,而且传统上不会发布很多跟Google Cloud相关的信息,但是Google决定在I/O发布Vertex的事实证明了它的重要性。其中也包含了feature store。我预测在不久的将来,国内巨头也要发布自己feature store。
监控与可解释性
模型监控很重要,因为可能会出现数据漂移或模型漂移。训练本质上是用模型去拟合数据的分布,机器学习有个前提条件就是训练的时候的数据分布和推理的时候的数据分布是一致的。如果在实际的业务中,由于一些原因数据的分布发生了改变,可能是用户的行为发生了变化,季节性变化等。需要对模型的性能进行监控,观察性能是否偏离,从而决定是否需要重新的训练。
另外,在金融和医疗等行业的某些场景,对模型需要有较高的可解释性,否则不能投入使用 。
在模型的可解释性方面,DataRobot等机器学习平台公司也有涉及,此外也有专门做模型监控与可解释性方面的创业公司如Arthur AI,近期完成了最新一轮1500万美元的融资,Index Ventures领投;Fiddler AI完成了总共完成了1320美元的投资,投资方包括Amazon Alexa Fund、Lightspeed Ventures Partners和Lux Capital。
数据应用
在实际应用中其实经常存在一个问题,数据科学家、开发和运维人员存在着明显技术栈差异,数据科学家在工程方面的能力比较弱,但是业务人员又想要看到AI落地,或者至少有能通的系统demo。传统要上线一个AI系统,需要开发算法、编写后端代码、编写html、css和Js等前端代码,还需要调接口。这对于一个算法想法的落地来说,其实太重了(我本身就有深切的体会)。数据科学家虽然不需要深入了解所有技术栈,但是至少又都需要略知一二,比较繁琐。
Streamlit是一家很有意思的公司,目标是解决快速开发数据应用的问题,从需求和目标来说,它其实与MLOps是一致的。Streamlit可以作为一个框架,无需懂前端html、css、Js等知识,就可以快速的编写和部署网页,加快了数据应用的开发流程。
总结
决定模型效果的有两个影响因素:数据和算法。现实中的数据集往往都是有噪声的。对于有噪声的数据,有两种解决方案。一种是修改算法,提出能处理噪声、有泛化能力的算法(显然难度较大);还有一种修改数据集,提升数据集的质量。
算法方面:
AI领域的现象是学术界会源源不断地提出效果更好的算法,对于企业来说,即使这个月提出了SOTA算法,下个月就有可能被超越(除非是少有人研究或者算法未开源的领域,才有可能保持持续的领先),所以企业在算法层面很难持续地保持领先性。如何商业化AI,如何积累自有的优势并构建护城河,是所有企业需要思考的问题。
Pipeline层面:
虽然pipeline和模型的效果没有直接的关系,但是好的pipeline能提升模型从构建到部署到生产环境的效率。Valohai公司有一句颇为经典的话,“Models are temporary, pipelines are forever.”
对于ML pipeline这种基础设施来说,虽然所有的的AI都很重要,但是其实并不是所有的应用AI的公司都适合自己搭建完整的ML pipeline。就好比不是所有的公司都适合自己搭建数据库这种基础设施。所有这就给了AI infra相关的创业公司机会。
云厂商如GCP、AWS、Azure都有MLOps相关的产品。google很早就发现了机器学习的技术债问题,但大厂在短期内也很难做得很完善,所以google旗下的GV和Gradient Ventures分别投资了MLOps工具链上的多家创业公司。
在通用的ML pipeline方面,为了加快和更好地落地机器学习,有大量的创业公司在数据准备、模型构建、部署和监控方面做了一些探索和创新。
在面向特定的ML pipeline方面,Rasa和Jina AI等创业公司给了一个全新的视角,chatbot和搜索不仅仅可以做成闭源且靠近业务的公司,其实还可以向下沉淀,做成通用的开源基础设施公司。
Dataset quality层面:
“Models are temporary, pipelines are forever”,如果对这句话进行data-centric改造的话,就是“Models are temporary, datasets quality are forever.”
很多AI应用侧的公司,发表论文,提出新的算法,并不能建立壁垒。正如吴恩达讲座中提到的一个问题:是选择优化算法以适应噪声数据(model-centric),还是选择优化数据的噪声,然后使用一个常规的算法(data-centric)。显然model-centric的方式提升效果难度更大,并且好的模型总会被不断的提出,整个模型的效果是由学术在推着往前走,公司很难在算法层面持续地保持领先性。所以,应用AI企业应该把重点放在,如何对企业自有的闭源数据进行debug,提升数据集质量(数据标注正确性、一致性和某一类数据的质量)。
企业自有闭源数据质量独特积累的过程,才是构建壁垒的过程。
从《Attention is all you need》这篇论文开始,transformer逐渐被人们所关注,再到BERT和GPT的被提出,一股transformer的热潮席卷而来,NLP领域发生了巨大的变化,基于transformer的模型层出不穷,对于算法工程师来说,一直追踪并实现新的算法,是不小的工作量。
Hugging Face抓住了这个现象,以Transformers库为切入点,主打易用性,借助了这股东风,hugging face在GitHub上的仓库transformers获得了46k个star,也获得了共计6000万美元的融资。大家都知道pytorch因为易用性获得了许多开发者的青睐,尤其是学术界的开发者,在深度学习框架上后来居上。
hugging face也是主打易用性,并从学术界下手构建影响力和生态,Tansformers库被超过700篇论文引用,超过1000家公司使用。现在hugging face已经从单纯的开放模型库,扩展到开放数据集甚至AutoNLP,与其他AutoML公司切入AutoML领域的方式颇为不同。
最后
2019年底,rasa和hugging face就引起了我的关注,如今越来越多的AI infra创业公司成立并完成了后续的融资。
从宏观的角度来看,我们从基于规则编程的时代,迁移到基于数据编程的时代,软件开发的工具链将发生了巨大的变化,AI infra蕴藏着巨大的机会。
从微观的角度来看,目前的AI模型没有办法直接编写一个软件,还处于大数据、小任务的范式。距离用纯AI模型来编写软件还有一定的距离。但是我们可以从GPT系列看到一点苗头,或许GPT20那时,能带来令人震撼效果。目前,是处于基于规则编程体系和基于数据编程体系并存的阶段。
如下图所示,需要基于规则编程体系的软件开发工程师和数据工程师,以及基于数据编程体系的数据科学家和算法工程师共同协作,因此诞生了像MLOps这样的工具链的机会。
我坚定地看好基于数据编程体系的创业机会,尤其是AI infra方面的创业机会。为了更好的帮助AI创业者,抱着Open Source Research as a service的心态,我开源自己的研究成果,发起了SSAIS项目。
欢迎AI从业、创业人员,通过知乎(ID 酱油一哥 Warren)或邮件(warrenwen@glory-ventures.com)与我交流,进行头脑风暴,探讨AI的商业化发展方向。
延伸阅读:
格物钛数据集:https://gas.graviti.cn/open-datasets
MLOps创业公司对比:https://valohai.com/mlops-platforms-compared
SSAIS项目:https://github.com/WarrenWen666/AI-Software-Startups
推荐阅读