2019年7月3日,“Baidu Create 2019”百度 AI开发者大会在京召开。百度创始人、董事长兼首席执行官李彦宏与百度各业务板块的领军人物一起,为来自全球各地的开发者与行业合作伙伴展示百度AI最前沿的人工智能技术、产品,并与现场数千名开发者、企业代表共同探讨AI技术落地各行各业及全球产业智能化大趋势。
在今年大会的公开课环节,百度效率云团队联合百度视觉技术部贡献了一堂名为“DevOps for AI: Deploy ML Application via DevOps Pipelines”的公开课。公开课以开发一个著名品牌面包店识别商品、自动生成订单服务为场景,结合现场实操向学员及来宾展示了通过百度效率云及AIFlow开发AI服务的全流程。公开课吸引了众多对AI开发及DevOps感兴趣的工程师以及技术人员的参与。
公开课上提到的AI服务到底是什么?开发一个AI服务和开发其它服务有哪些异同呢?
一、AI服务及开发挑战
AI服务是什么,他的开发过程是怎样的?
以AI视觉能力为例,一个完整的AI服务包括了基于AI模型的AI基础能力,也包括了对外提供服务的工程代码,最终用户通过不同的客户端对服务进行访问。
AI服务的示例
一个完整的AI服务开发包括了工程代码开发、模型训练以及最终的集成阶段。
在工程代码开发阶段,工程师像开发普通服务一样通过coding, build, test等活动,最终产出发布物
在模型训练部分,工程师经过数据收集与标注、数据处理、模型训练与调优等活动最终产出一个AI模型
接下来,工程师需要将工程部分的发布物和AI模型打包在一起形成最终的产出物,并将最终产出物发布到线上
AI服务开发的过程
AI产品研发面临的挑战有哪些?
相对于传统软件开发而言,AI产品的研发面临着诸多挑战:
项目协作难:项目涉及开发、测试、运维等多角色,而AI项目往往额外涉及多个AI算法团队,沟通、协调成本高,工作效率低
技术要求高:AI研发流程更长且专业性要求更高
环境周边成本高:AI数据、模型、服务、工具维护使用成本高、安全风险大
技术复用难:业务闭环迭代慢,且无法快速规模化迁移应用已有能力
二、AI服务开发全生命周期解决方案
针对以上问题,百度内部通过多年的探索和实践,最终形成了一套针对AI服务的DevOps解决方案。该方案涵盖了模型训练的部分,以及服务代码开发的DevOps部分,并已经实现了全部的产品化,被百度内部多个AI开发团队所使用。整套方案贯彻了DevOps理念中自动化一切的部分, 包括:
服务代码--模型组装--服务部署自动化
训练工具源码--训练工具集成自动化
训练数据管理--模型训练--模型评估自动化
AI服务全周期解决方案
整个方案包括两大重要工具以及支撑机器学习训练的GPU服务器,他们分别是:
重要工具:百度效率云
百度效率云(以下简称效率云)是百度自主研发的一站式DevOps解决方案,凝聚了百度多年来在软件工程领域的探索和实践经验。效率云在百度内部服务10000+工程师的日常产品管理、开发、测试、发布等研发工作,每天支持百度内部30000+次的云端编译、70000+次的构建、700+次的服务发布。
效率云已经加入百度智能云产品序列,于2019年5月正式对外提供服务。百度效率云目前同时服务外部2000+企业及个人客户的项目管理,研发,测试等研发工作。
效率云的核心理念是: 用先进的软件工程技术使复杂的开发工作更简单!
效率云产品架构
整个效率云包括三大平台类工具和四大主要功能模块,分别是产品和项目管理工具iCafe、代码托管和协同开发平台iCode、持续交付平台iPipe;
四大主要功能模块包括静态代码扫描工具iScan、容器化构建工具iBuild、构建产物管理工具iRepo和由aiXcoder提供的智能开发助手iXcoder。
效率云主要功能模块
和其他研发平台相比,效率云具备以下几个独特的差异化功能:
基于用户故事地图的产品规划
代码入库前的云端流水线:
与大多数基于pull request的流水线不同,效率云提倡进一步将质量保证手段前置。工程师在提交代码后、代码入库之前即经过一系列的自动化代码检查和Code Review环节;只有通过所有的质量保证手段,代码方可合入到当前代码库中。
即插即用的智能开发助手
基于特征识别的静态代码分析手段
重要工具:AIFlow
AIFlow是百度成熟的一站式AI能力研发平台,在百度内部已率先落地应用于视觉领域,并正在与自然语言处理、大数据部、知识图谱、飞桨等团队一起协作,共同推进AI基础平台建设。 该平台在百度内部已经过150+重点项目的验证,收录数据12.6亿、模型1745个、工具567个、覆盖流量3600w/天。
在AI行业开发的多年探索中,AIFlow团队充分调研了AI应用者、AI开发者(策略、架构)等不同群体的诉求、发掘了资源管理混乱且需求响应慢、流程多而复杂且各环节复用性低的痛点;因此,在设计上侧重以下几个特点:
数据、模型、工具统一托管,支持共享复用
AI能力自动化流程构建,支持数据闭环迭代
沉淀AI解决方案,支持快速规模化应用
通过产品的不断打磨,AIFlow设计了诸多被用户广泛称赞的亮点功能:
亮点功能1:可视化画板搭建工作流,实现任意端到端的视觉研发解决方案输出
易操作:用户根据不同需求(数据处理、模型训练、服务部署)从画板左侧依次拖拽输入(数据/模型)、工具(数据处理、模型训练、服务部署、自动评测)等资源,并在画板右侧配置对应参数,即可构建任意端到端的AI研发流程
可复用:用户构建的研发流程可定期自动执行;并通过保存工作流、另存配置等不同方式,实现流程复用
便管理:以项目为维度,将对应的数据、工具、模型、服务等资源统一聚合管理,提升资源利用率
亮点功能2:数据仓库支持对训练数据进行多种高阶操作
支持顺序瀑布流式或表格方式样本预览,格式化数据并画框展示
支持任意字段分布统计
支持任意字段的快速样本查询
GPU服务器:百度-浪潮联合开发的AI超级计算平台
不论是AI效率云还是AIFlow,智能化应用的背后都是计算力在发挥重要作用。基于JDM模式,百度与浪潮联合开发出X-MAN系列超级AI计算平台,为AI和深度学习应用提供了强大的算力支持。同时,结合百度在平台层和应用层的先进方案,百度与浪潮也在共建一个更完善的AI生态,将软硬件的一体化方案推向更大的产业市场,效率云和AIFlow就是一个很好的实践。
效率云免费试用
重磅好消息!百度效率云及AIFlow现面向各企业、个人用户开放免费试用,扫描下方二维码,进入微信群,了解百度DevOps的系列课程,免费体验效率云服务!
点击“阅读原文”,进入百度效率云官网