AI工程化的概念实际上在中国没太多人提及,通过调研大量文献后发现产品经理更需要系统的理解和掌握AI工程化的流程和实践能力。
反观技术人员,他们每天要学习各种国外顶级期刊的论文,要掌握最新的框架和语言,但产品经理需要的是积累工程化的经验,并逐渐形成自己的一套“打法”,包括看待问题的视角、切入点。
在数据少的时候,如何做冷启动训练模型的经验;通过混合部署和异构计算节省计算资源从而节省整个公司的成本;在做模型校验尤其是离线学习、增量学习、在线学习时如何能快速找到指标进行评价和量化泛化效果,当某一个业务场景下的模型训练好后是否可以考虑在其他场景中进行移植,尽管迁移学习(transfer learning)或者叫progressive (continual) learning仍然有一些实现上的困难,但至少也会为企业提升效率,节省开支。
一、需求定义的工程化
技术体系的构建离不开需求,而需求离不开行业理解和商业模式的价值观导向。
某些技术经理看到了国外最新的技术框架就想拿来用到自己的体系中,总是忽略ROI,甚至缺乏Vision,当然并不是所有的技术经理都这样,只是出发点不同,看问题的视角不同,经历不同而已。
产品经理需要关注行业,比如做机器人的智能交互,涉及到了自然语言理解、交互语义理解、对话策略生成以及通过知识图谱进行在不同的场景下进行意图搜索等等。
产品经理要对这些核心的关键业务需求进行定义,技术就可以有导向性的进行框架设计和技术调研,而且在描述需求的时候要回归场景,场景描述的越详细,越周全,技术才会找到最适合的方案去解决。
例如在电商平台中,由于不同的人群,不同的行业关注的重心截然不同;产品经理要结合实际场景提出“千人千面”的需求,即针对不同人有不同的排序模型,因为个性化的特征在不同场景中的权重是不同的。
产品提出了这样的需求,技术就会去找解决方案,比如可以通过向量化召回泛化能力、排序特征、排序模型精准度等方面进行深度学习的优化和改良,并通过多场景的联合优化最终实现产品设计的目标。
其实,无论技术经理还是产品经理如果都可以站在需求本质以及行业视角看待问题,无论以任何手段和方式解决问题都会实现协同最终帮助产品走向成功的。
二、算法实现的工程化
需求定义清楚了,接下来就需要算法工程师发挥才智了,但是通常算法能力的发挥需要强大的计算能力和底层系统架构的支撑,这涉及到了软硬件的协同并进。
公司的产品总监有些时候也要对搭建类似的架构成本负责,至少要对数量级和搭建成本有理解,因为完善的实时计算平台、机器学习平台通常需要动辄千万的GPU引擎投入,而且为了更快速的验证算法以及做模型训练,还需要构建深度学习训练平台,为了实现端到端的日志治理、特征提取、模型训练和自动化服务部署等流程。
产品人员要对以上流程至少有概念上的认知,这些流程也是工程化实践的关键环节,要对人员投入、部署周期、以及关键节点的核心价值有深入的理解和预判,否则没法跟算法团队达成一致并深入沟通——而这些投入都是需要精确的计算ROI的,例如采取GPU和CPU异构计算就是在某种程度上节省了公司的成本达到效率最高化。
以上说的这些工程化流程都是随着公司业务的不断扩大以及对算法需求的提升循序渐进的,而算法需求牵引着公司系统架构的不断升级。
例如从一开始的离线模型到在线模型再到深度学习模型,最终实现在线深度学习过程,都是伴随着成本投入逐步提升的,产品经理要判断不同时期的产品需求,而不是技术越先进越好。
三、量化及衡量标准的工程化
产品经理要通过量化定义以及衡量尺度的把控,实现联合收益最大化,而不是此消彼长。
在工程实践中经常遇到某种场景,即通过某一个指标召回率的提升就判定某个算法模型的成功与否,但同时因为缺乏全局化的考虑,形成了拆东墙补西墙的局面。
现实的AI工程场景中类似的局面还有很多,即由于缺乏协同量化衡量标准,算法对于产品的整体目标来说并没有实质性的改变却同时提升了成本投入,那么这样的结果就是需要产品经理来负责的;所以在产品定义阶段、算法测试、校验阶段,就需要投入精力从多维度量化衡量标准。
只有多维度衡量标准的提出,才会推动算法团队进行改良。
例如在互联网广告、电商以及竞技游戏AI的领域中必须通过多智能体的强化学习才能实现双向连通并达到效果最优。
对于多智体协同感兴趣的可以通过理解Lotka-Volterra模型作为切入点进一步学习。
四、系列总结
整个人工智能产品经理系列围绕着AI PM的思维模式、知识体系、如何使用数据、日常工作流程、常见算法理解和应用、以及需求的洞察和工程化思维这些内容,将AI PM的基本素质和“知识图谱”描绘出来。
这其中中一定有很多主观的认知,并不适用于每个人和每家公司——因此强调的不是方法而是理念和思想,产品经理如果沦为公司的执行就真的很难进步,无论产品总监还是产品经理都要有自己的打法和套路才能在不同的商业场景中得心应手。
另外,所有这些思想、体系、以及商业目标的贯彻执行都是依靠产品人员和技术人员充分的沟通和战略上达成一致。只有这样,算法工程师才会主动的帮助产品经理提供更多算法上的创新,架构师会帮助你不断优化架构以实现技术效果和成本的最佳平衡,最终实现数据驱动创新、算法驱动创新的动态协同。