【CV算法内功】工业界AI项目落地方法论的总结与思考
0 导读
这是我写在公众号里的一篇文章,在此分享到知乎上,一来是希望能和知乎上的朋友们一起交流学习CV算法以及相应的知识,也欢迎大家关注我的公众号WeThinkIn。
1 写在前面
【CV算法内功】栏目专注于分享关于CV算法与机器学习在业务侧,研究侧,学习侧的一些经验与总结心得,欢迎大家一起交流学习
大家好,我是Rocky。
当我提笔写这篇文章的时候,难免会想起我接触的第一个AI算法项目,那是2019年的春天,我还是研一的学生。一晃3年过去了,学生时期我在国企,传统IT企业,独角兽,互联网大厂里进行AI项目的开发与落地,以及毕业后我加入AI安防这个CV最成熟的领域持续专注,都让我对AI项目的落地与应用有了更深和更全面的认识与理解。正是这些经历与视角,能让本文聚焦于AI项目落地通用方法论的总结与思考。
So,enjoy:
2 干货篇
2.1 目录先行
- 产品定义,需求调研(要做正确的事)
- 场景约束,数据采集(什么是正确的事)
- Baseline开发,针对性优化(正确的做事)
- 算法部署,多维测试(合作做正确的事)
- 持续维护,功能拓展(持续做正确的事)
2.2 产品定义,需求调研
产品定义和需求调研是整个AI项目的起始,但也往往是最重要的一个环节。如何对产品功能进行定义,如何对需求进行抽象建模,关系到后面所有环节的顺利与否,正所谓“谋定而后动”。
产品功能可以由简到繁,需求也可以从易到难,不断的迭代优化,不断的有沉淀与成果,才是最让人踏实的逻辑。
且此阶段一般有上下游部门的参与与合作,如何高效合作,如何协调各方的想法,如何从容,融入,也是非常重要的点。

总之,明确产品功能与定位,明确需求,明确项目周期是非常重要的。AI项目通常需要消耗大量的资源,如果不充分准备,后面产生方向性的偏差可能导致整个项目推倒重来。

2.3 场景约束,数据采集
在完成了产品定义和需求调研之后,接下来就是场景的约束和数据的收集。
场景一定要聚焦,不能发散,从而能对特定场景有深入的理解与把握,也为场景从简单到复杂储备经验。
而数据又是与场景强相关的,只有在约束好场景后,数据的采集与与分析工作才能展开。

数据决定机器学习的上限,所以在数据侧的数据筛选,标注,补充,优化等工作要充分进行,正所谓磨刀不误砍柴功,重视数据会让整个AI项目落地过程更加悠然。
在对数据进行采集的同时,我们要不断对数据的整体质量做一个评估,可以从数据量级,数据质量,数据重复率等维度进行。

2.4 Baseline开发,针对性优化
到了算法开发阶段,首先要进行解决方案的调研,根据已有信息设计一个可行的方案,再以此为基础搭建一个baseline模型,建议算法工程师手里对不同的细分领域都准备几个拿手的baseline模型,在不同的AI项目里都能快速上手验证,提高开发效率。
搭建好baseline就像婴儿学会了走路,那么下一步就是学会跑步了。
想要速成跑步,可以参考如下技法:1.bad case分析,明确优化方向,具备很强的针对性。2.积极的理解数据,优化数据分布。3.设计前处理/后处理等规则辅助模型,弥补模型的不足。
想要慢慢领会跑步的精髓,可以参考如下技法:在搭建好baseline模型,同时对最后的性能心中有数时,我们可以花时间进行更多的调研,可以从最新的论文,最新的开源项目,以及经典的方法等方面切入,看看是不是有可以参考借鉴的地方,进行务实的优化。这个动作不但能优化当前的方案,同时也是让自己能学习更多,面对其他AI项目时,会有更多的方案与思考,是性价比很高的一种方式。
但一定要注意的是,AI项目的开发不像科研,AI项目需要快速的迭代优化,达到满足产品需求的目的,而不是陷入层层的实验当中。

2.5 算法部署,多维测试
到了算法部署的阶段,我们要开始考虑工程代码与算法模型的融合。
接下来我们重点讲讲工程代码编写,模型部署,多维测试的注意点:
1.要保证模型在端侧或者线上的性能与本地的性能一致。
2.算法部署层面更关注模型的内存占用,速度,兼容性与鲁棒性。
3.工程代码撰写之前要进行合理的设计,我们的代码要是可维护的,可拓展的,以便于后续的优化。
4.模型测试不单单要进行常规测试,也要进行细分测试,压力测试,鲁棒性测试,以及上线后的测试等等。

2.6 持续维护,功能拓展
在完成AI项目落地交付后,我们还需要对其持续进行维护,优化以及功能拓展。
下面一些 可能是这个阶段的主要内容:
1.模型需要更新。
2.模型需要适配更多端侧设备与线上部署逻辑。
3.可能有更加丰富的数据用来针对性优化模型。
4.可能有更加真实的用户反馈用来针对性优化解决方案。
5.可能有一些细分功能模块需要拓展。
6.可能需要支持更多场景与复杂情形。

3 精致的结尾
最后,我现阶段对AI项目落地的方法论就分享到这里了,希望能给大家带来帮助和启发,后续我也会在工作中持续加深我对AI项目落地方法论的理解,有机会就写一个V2版本喽~
Rocky在本栏目中专注于分享AI行业的校招/社招/实习面试经验,分享AI行业中的业务,竞赛以及研究维度的思考感悟。 关注本专栏,不仅能助你具备和CTO一样的技术深度与产品格局,也能让你跟随着Rocky的脚步,一同成长。