编辑导语:如今平台产品已不是新概念,欧博随着AI技术的成熟,AI平台产品也越来越多。那么,为什么要做AI平台?这些AI平台又有哪些类别呢?让我们跟着作者,一起去探寻吧。
有一天,小李的领导说:“我们要做AI平台!”。
虽然平台产品也不是新概念了,随着AI技术的成熟,AI平台产品也越来越多,但光凭做平台一句话,小李还是犯了难——大大小小的“平台”很多,究竟我们要做什么样的AI平台呢?磨刀不误砍柴功,小李决定先研究下市面上已有的AI平台找找灵感。
一、AI平台产品分类AI平台大致可以分为AI开发平台和AI支撑平台(名字是小李瞎起的)两类。
1. AI开发平台AI开发平台面向的是模型开发者,围绕AI模型/算法的生命周期(数据收集、标注、模型结构设计、模型训练、模型部署等阶段)提供工具。开发平台产品需要对算法开发流程、算法种类丰富度都有较好的积累,因此大部分平台类产品是由内功比较深厚的大厂推出的。
(百度BML功能架构)
1)用户
都叫开发平台啦,用户想必应该是开发人员,使用AI开发平台的研发人员对人工智能的了解程度不尽相同,他们可能是业务应用的开发人员(只需要调用某个模型API),也可能是AI工程师(需要对模型调参数,甚至重新设计网络结构),但归根到底AI开发平台是面向开发人员的B端产品。
2)场景
在需要AI能力支撑的时候,用户可以使用AI开发平台提供的不同层级的工具/功能(嵌入级、API级、数据训练级、模型定制级、算法开发级),实现所需的AI能力。
3)解决问题
AI赋能其他产品。AI平台作为一个产品,想解决的核心问题是如何便捷的让其他应用或产品获得智能化的能力。看到很多强调AI平台是为了让AI算法开发更简单的说法,但归根到底,如果不是其他产品需要AI模型或者AI能力,自然也不需要算法开发,更就没有必要有所谓AI开发平台存在了。
2. AI支撑平台AI支撑平台大多是面向运营人员/业务人员,为某个AI应用提供能够使之work的配置、管理等“支撑”功能。智能对话平台就是一种非常典型的AI支撑平台,因为智能对话应用并非只依赖某个模型就能实现,所以需要根据业务场景进行技能管理、对话设置等工作,智能对话平台就是这些配置功能的载体。
1)用户
主要是业务人员或者运营人员,也就是需要对某个应用的具体规则、具体内容进行设置的工作人员。
2)场景
在使用某个智能应用时,用户需要根据实际业务场景对应用中的某些功能进行配置,才能使应用按照需求运行起来。
3)解决问题
使智能应用按照用户的期望运行起来。那为什么这些应用需要配置呢?为什么不能固化呢?因为应用的使用场景千差万别,比如在银行的智能客服和商场的智能客服,虽然底层的技术途径一致,但具体客服面对的问题、使用的话术完全不一样。
从产品角度看,为了使产品的通用性更强,我们往往会设计一个通用的应用框架,然后把高频且重要的功能做成可配置项以适应更多用户的需求。也不是说把功能固化下来不行,但那样的话产品就变成了定制化的项目,欧博娱乐成本非常高且无法复用。
(AI开发&支撑平台对比)
二、AI开发平台 1. 按AI模型生命周期拆解知乎看到的一个比较好的平台产品定义:“平台产品提供共用性强的工具,连接多端多角色之间的活动或交易”。AI开发平台产品也一样,是围绕着围绕AI模型/算法的生命周期提供工具,连接不同层次开发者对AI模型设计、训练、使用等活动。
AI模型的生命周期,大概是这样的:
AI开发平台即然是服务于AI模型生命周期的工具,自然也离不开以上这些模块。所谓平台,可以只针对某一个环节,比如数据收集+标注环节,或者模型部署环节,也可以针对整个生命周期,这就解释了为什么同是AI平台,有大有小。
如果我们从AI模型生命周期角度拆分,那么就有:
1)数据标注平台
面向数据接入、清洗、标注等和训练数据有关的工作。数据接入、清洗的工作其实和大数据的关联性比较强,有些标注平台甚至是大数据系统的组件。
对于AI标注/数据平台来说,一个思路是类似百度的EasyData,针对模型训练数据提供一部分预处理功能(如缩放、翻转图像提高模型鲁棒性,或者对图像进行滤波、降噪等增强操作)和智能标注功能(先利用已经训练好的模型自动标注一把,然后再由人工校准或微调),正是这些功能支撑起了数据标注平台。
另外一个不错的思路是更侧重“标注”这个动作本身,类似basicFinder,做数据需求方和数据标注商的撮合生意并提供标注工具。
2)模型设计平台
这个一般不会作为单独的产品,个人猜测原因主要是模型结构设计门槛高、需求小。从我自己的经验来看,使用开源框架开发和使用平台提供的工具效率差别不大。
模型设计的功能大多是作为开发平台一个模块,通过可视化拖拉拽、notebook等方式进行模型结构设计。
3)模型训练平台
提供模型训练的算力、环境,这个是AI平台中比较常见的产品,由于模型训练对硬件资源的高消耗,通常会租用云计算资源来完成模型训练,所以很多模型训练平台是与云平台捆绑的,完成包括负载均衡、并行训练等工作。
4)模型部署平台
提供把模型从训练环境部署到推理环境(云端、边缘端等)的工具。这个功能相对简单,较少单独作为一个产品,一般是也是作为开发平台的一个功能模块。
一个例外是边缘/嵌入式环境部署平台(如百度EasyEdge),由于硬件适配比较繁琐,所以目前看到百度是做成一个相对独立的产品的。
5)模型推理平台
提供各式各样的模型接口,供用户直接调用,一般还提供包括模型调用管理、接口管理等功能,这种推理平台主要是以模型作为核心竞争力的。另一种推理平台则以算力作为竞争力,类似云平台,用户将模型部署在平台上可获得弹性扩缩容等能力。
2. 按业务需求拆解参考蚂蚁AI平台的一篇分享,AI平台按照不同层级的业务需求可以分为5级:功能嵌入、API调用、数据训练、模型定制、算法开发。
功能嵌入:通过iframe等实现成本最低的手段,将某个功能模块嵌入到自己的系统中。
API调用:直接调用平台提供的成熟API,比如调用身份证、驾驶证之类的OCR识别API。
数据训练:平台的模型符合需求,但需要提供自己的训练数据来解决具体场景需求。
模型定制:平台的现成模型不太符合要求,所以要对算法参数进行配置,然后训练出符合自己需求的新模型。
算法开发:最高级的情况,就是业务方懂算法、要开发新算法。平台则提供“算法开发、数据管理、模型训练、模型测试和发布”等一系列深层次的能力,来提升算法研发的效率。
把5级业务需求和生命周期对比来看,业务的按需分层和模型生命周期的各个阶段基本是呈对应关系的。需求越高级,追溯到的生命周期越靠前。
功能嵌入和API调用级需求只涉及模型推理,数据训练级需求涉及数据标注、训练、部署以及推理过程,模型定制和算法开发级需求就涉及全流程的功能了。
3. 一些典型产品上图给出了一些AI开发平台产品的AI模型生命周期覆盖情况,可以看到大部分产品其实都是提供全生命周期的功能的。当然不是说以上的分析没有意义,按生命周期或者按需求层次拆解还是可以帮助我们捋清产品架构的。
个人觉得其中百度的功能架构是最舒服、逻辑性最好的。百度的AI开发平台包括BML和EasyDL两个,BML是全流程的开发平台,覆盖了AI模型全生命周期;EasyDL定位是零门槛开发,所以只支持到数据训练级别的开发。
这样的拆分其实就是依据前边所说的业务需求等级进行的,拆分之后目标用户要清晰很多。BML中相对独立的数据相关功能和边缘部署相关功能又都拆成组件/小平台,可以供用户单独调用,从而提高灵活性。
腾讯TI系列平台中,TI-ONE定位是“一站式机器学习服务平台”,但暂时没有看到关于数据标注方面的功能,数据处理只提供相对简单的数据接入和数据预处理功能。预置模型相对来说也比较少,大部分是机器学习方面的模型,深度学习模型较少。
TI系列的其他两个平台TI-Matrix和Ti-EMS分别是“AI应用服务平台”和“无服务推理平台”,个人感觉都更偏向云服务一些,主要是服务调度、扩缩容等能力。
华为ModelArts也提供从数据标注到模型推理全流程的开发工具,其中“自动学习”的功能模块基本对标百度EasyDL,提供重训练级别的模型生成,但暂时没有按照需求层级进行产品拆分。
三、AI支撑平台AI支撑平台比起AI开发平台,更类似业务平台,比如内容审核、智能对话等。围绕的是一个核心算法,通过配置提升这个算法/能力的通用性。
下图举个内容审核平台作为栗子~横向是发布图片的业务流程,纵向是审核平台的功能,可见审核平台是和业务紧密结合的。
审核平台的核心其实就是分类问题(把输入的图片分为合规、不合规),外部输入是图片,输出是图片是否合规、违规类型、准确率等信息,而审核策略的制定、验证则是为了支撑图像分类算法在内容审核这个场景下work,说到底“支撑”就是配置、设置。
四、一点思考 1. 为什么需要AI平台?从用户的角度看:用户需要的是以尽可能低的成本(时间及费用)获取所需的AI能力。AI平台提供的开发工具、预置模型都可以减小用户获取AI能力的投入。
从AI平台公司的角度看:AI平台提供的是一套标准化的工具/流程,80%的需求可以由标准化的产品来满足,而非每个需求都单独定制解决方案。通过AI平台这样的标准化产品来提升ROI,从而实现盈利。
不论是从用户角度,还是从提供AI平台的公司角度,其实AI平台的存在都是为了提升投入产出比。
但个人感觉,目前AI平台公司对AI平台的需求是要大于用户的,这就造成了产品多用户少的囧境。用户对AI平台的不认可,一方面可能是对AI能力带来的收益的不确定;另一方面可能是对AI平台提高ROI的不确定(有可能使用了AI平台但还是无法节约人力投入)。所以如何让用户发现AI能力的价值,进而发现AI平台的价值还是个值得思考的问题。
2. 如何做到AI平台的差异化?市面上那么多AI平台,如何做到让用户选择你的产品呢?差异化。
怎么做到差异化呢?不同用户对AI能力或应用的需求侧重各不相同,但是无外乎数据、算力、模型三要素。
1)数据入手的差异化
当前很多行业还是存在缺乏数据积累的事实的,所以数据对于这部分公司来说就是最大的痛点。从数据角度入手的AI平台,最直接的是可以主打提供行业数据。如果数据不可获取,可以退一步和大数据平台结合提供数据采集、清洗、标注(自动、人工)等功能,解决用户数据方面的痛点。
前边提到的basicFinder,就是由标注平台逐步发展出来的AI平台。
2)算力入手的差异化
不论是训练阶段还是推理阶段,AI模型对算力都是强依赖的,因此从算力入手的AI平台也是发展最早的一种,一般都和云平台紧密结合,最后的收益落脚点都是云资源。
随着AI芯片发展,以嵌入式设备为载体的边端智能也越来越多,所以算力入手也可以指嵌入式算力。华为算是以算力为核心的代表公司。
3)模型入手的差异化
虽然大多AI算法都有开源的版本,但开源模型往往是通用模型,没有针对特定场景优化,没有一般没法直接应用。比如图像识别在医学领域和在自动驾驶领域可能用同样的算法,但需要喂不同的数据,进行不同的参数优化,最后得到适用于不同场景的模型。比如face++就对人脸识别相关的各类模型都做了优化。
一个热门方向AI+行业,就是在数据和模型角度都针对本行业进行差异化的设计。比如针对医药领域的医渡云,针对税务领域的慧算账等等。
3. 如果要做AI平台,怎么入手?个人感觉现在做AI平台是件很难的事情了,本身这类产品就已经有点供大于求了,做差异化也需要结合已有的积累(无论是数据、算力还是模型),所以从头做一个成功的AI平台真的非常困难,留给AI平台的机会可能只有+行业了。
大胆开麦:短期之内做AI支撑平台的难度远小于AI开发平台,而成功率应该是要高于AI开发平台的。与其做一个大而全却没有明确目标用户的AI开发平台,不如围绕一个点做一个真正有人用的AI支撑平台。
#专栏作家#LCC,微信公众号:sillybaby的互联网求生指南,人人都是产品经理专栏作家。2B+AI 产品经理,相信科技向善,致力于用AI解决实际问题。