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