人工智能开发全流程解析

举报
运气男孩 发表于 2020/12/26 00:37:23 2020/12/26
【摘要】 人工智能应用开发的全流程大致包括开发态流程和运行态流程。开发态流程是对数据源不断地进行处理并得到人工智能应用的过程;而运行态流程相对简单,主要是将人工智能应用部署起来使用的过程。当人工智能应用在运行态推理效果不好时需要将推理数据返回给开发态进行进一步迭代调优。        在开发态流程中,每个步骤都会基于一定的处理逻辑对输入数据进行处理,并得到输出数据(中间结果或最终结果),同时也可能会产...

人工智能应用开发的全流程大致包括开发态流程和运行态流程。开发态流程是对数据源不断地进行处理并得到人工智能应用的过程;而运行态流程相对简单,主要是将人工智能应用部署起来使用的过程。当人工智能应用在运行态推理效果不好时需要将推理数据返回给开发态进行进一步迭代调优。
        在开发态流程中,每个步骤都会基于一定的处理逻辑对输入数据进行处理,并得到输出数据(中间结果或最终结果),同时也可能会产生模型或知识,或其他一些可能的元信息文件(如配置项文件等)。在处理的过程中,可能会接收外部输入(如用户的输人、配置、其他外部环境的输入等)。每个处理步骤的处理逻辑可以是平台内置的处理逻辑,也可以是开发者自定义的处理逻辑(如开发者利用平台的开发调试环境开发
的一套代码)。当数据源经过一系列处理之后,会得到最终的结果数据(如图像识别精度等报表数据)。在这一系列的处理步骤中,可能会出现反复,当我们对某个处理步骤输出的数据不满意时,可以重新修正输入数据或者处理逻辑。
        上述一系列的处理步骤结束后,中间所产生的一些模型、知识或者配置可以一起编排成一个人工智能应用。这个人工智能应用就是开发态输出的主要成果。紧接着就进入运行态流程,将人工智能应用部署为云上的一个推理服务实例,或者打包为个SDK,业务客户端就可以调用其接口,发送请求并得到推理结果。同时,平台在被用户授权的情况下,可以对推理数据和结果进行监测,一旦发现问题,可以将推理数据重
新接入开发态的数据源,进行下一步迭代开发,并生成新的人工智能应用。由此可见,人工智能应用的开发流程是一个持续选代并且不断优化的过程,如下图所示。
        从抽象的角度看,下图所表达的是一个数据流图,该数据流图有几个常用的核心抽象概念。

image.png        (1)数据源。数据源指人工智能应用开发过程的主要输入,可以是原始的文件类型的数据(如在第2章中用户所需要离线上传的原始图像数据),也可以是来自某个远程服务的数据流(强化学习经常会用到这种数据源形式,还可以是人工输入的信息。数据源的存储方式多种多样,可以是对象存储,也可以是大数据系统,还可以是客户的业务系统等。
        (2)处理。处理指人工智能应用开发全流程中的每个具体环节,根据输入数据和处理逻辑得到输出数据。常用的处理操作包括但不限于数据标注、模型训练、性能监测等。每个操作都有执行历史,保证过程可溯源。
        (3)实体对象。实体对象指每个处理环节之间流动的数据内容。数据集、算法或规则、模型或知识应用都是典型的实体对象。
以某证件类OCR开发全流程为例,上述人工智能应用开发全流程如下图所示。

image.png

        可以看出,该流程基本满足图中的各类抽象。在该OCR开发全流程中,需要通过数据采集模块获取原始数据(即证件类的原始图像),考虑到证件类图像中证件位置可能倾斜,因此需要首先对证件的四个顶点进行标注然后再进行数据处理,将图像中证件位置矫正。紧接着,一方面,可以继续标注证件图像中文字框和文字类别,用于文字框检测和文字识别模型的训练;另一方面,可以根据证件四个顶点的标注信息训练四点标注模型。当这三个模型(矫正、文字框检测和文字识别模型)分别训练完成后,可以通过编排生成一个OCR应用,并经过评估之后部署起来使用。在运行态如果有推理不好的数据,则需要通过应用维护模块将其返回开发态进行进一步迭代和优化。在该流程中,数据源包括开发态数据源、运行态数据源、人工输入(如算法编写、数据标注信息、训练超参配置、模型评估检查等输入信息);处理包括数据采集、数据标注、数据处理、算法选择和开发、模型训练、模型评估和调优、应用生成、应用评估、应用发布和部署、应用维护;实体对象包括数据集、算法、模型、最终生成的应用。
        整体而言,如果解决方案已经确定,那么如图3-3所示,根据处理操作所属范围的不同,可以将人工智能应用的开发流程分为:①数据准备子流程(包含数据采集、数据处理、数据标注等);②算法选择和开发子流程;③模型训练子流程;④模型评估和调优子流程;⑤应用生成、评估和发布子流程;⑥应用维护子流程。由于应用维护子流程会涉及运行态数据回流到开发态,因此这几个子流程之间就形成了一个人工智能闭环。

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。