理解管道(Pipeline)
要支持工业级的人工智能产品,一个最基本的概念就是,需要搭建一个管道让你的环境是动态的、闭环的。
在英文的语言背景里,“管道”这个词很形象地说明了这个环境的特点。
把数据想象成“管道”里的水,这里面的一个核心思想,就是数据从一个环节到下一个环节,源源不断。再把最终的产品,也就是这个管道的末端,和最开始的数据采集部分,也就是这个管道的开始端,结合起来思考,这就是一个闭合的环路。
理解数据产品的核心,就要理解它是一个闭合环路。
几乎关于数据产品的一切难点、问题以及解决方案都可以从这个闭合环路中产生。从一个静态的机器学习流程到一个动态的管道似的闭合环路,这是一个质变,对整个环节上的所有步骤都有全新的要求。
静态的流程中,不需要太过关注这个数据集的来源。甚至采集数据集的代码或者脚本都可以是一次性的,可以不具备重复使用的价值。但是这种情况在管道的环境中是不可能的。
在管道中,采集数据的可靠性和可重复性是非常重要的步骤,这就对采集数据所采用的代码有不一样的要求。这部分代码需要被反复检验,每一步都需要人工智能工程师和数据科学家进行检验。
如果把这个例子扩展到数据管道的其他部分,就可以很清楚地看到,数据管道对于构建一个机器学习流程所带来的根本变化。
管道的另外一个重要特性是自动化,一个不能自动化的管道是不能被称为管道。
这里的自动化有两层意思,
一层意思是指数据本身可以被自动采集、整理、分析,然后自动流入机器学习部分,有结果后自动输出并能被线上的系统使用;
另一层意思是指,每一个环节本身都不需要人工干预,或者仅需极少数的人工,自身可以高可靠地运行。
由此可见,管道的自动化对每个环节的技术选择和实现都有非常高的要求。
网友评论