<!-- /\* Font Definitions \*/ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:3 0 0 0 1 0;} @font-face {font-family:等线; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:DengXian; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:-1610612033 953122042 22 0 262159 0;} @font-face {font-family:"Microsoft YaHei UI"; panose-1:2 11 5 3 2 2 4 2 2 4; mso-font-charset:134; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-2147483001 718224464 22 0 262175 0;} @font-face {font-family:"\\@Microsoft YaHei UI"; mso-font-charset:134; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-2147483001 718224464 22 0 262175 0;} @font-face {font-family:"\\@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} @font-face {font-family:"\\@等线"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:-1610612033 953122042 22 0 262159 0;} /\* Style Definitions \*/ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:11.0pt; font-family:等线; mso-ascii-font-family:等线; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:等线; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:等线; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-family:等线; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} /\* Page Definitions \*/ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page WordSection1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.WordSection1 {page:WordSection1;} /\* List Definitions \*/ @list l0 {mso-list-id:251009860; mso-list-template-ids:1826402930;} @list l0:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:36.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l0:level2 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:72.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l0:level3 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:108.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l0:level4 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:144.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l0:level5 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:180.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l0:level6 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:216.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l0:level7 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:252.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l0:level8 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:288.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l0:level9 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:324.0pt; mso-level-number-position:left; text-indent:-18.0pt; mso-ansi-font-size:10.0pt; font-family:Symbol;} @list l1 {mso-list-id:431316467; mso-list-template-ids:-166692786;} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} -->
AI项目的落地大概要经历什么过程?
落地过程中会遇到什么问题?
最终可以展现什么样的效果?
前沿的零售企业已经把AI应用到什么程度?
近期,在观远数据主办的「零售快消AI落地应用实战私享会」上,观远数据AI解决方案总监进行了《从模型到应用的AI落地案例分享》。以下是他分享的干货整理。
Table Of Contents
· AI趋势与落地步骤分析
· 企业如何落地AI项目——以需求预测为例
· AI项目推进的步骤
· AI项目成功的关键
AI应用是大势所趋
根据BCG(波士顿咨询公司)调研了全球数十家头部快消企业发现一个结论:这些企业已经在多个方向进行了AI的探索与尝试,并且也逐步取得了一些成果。绝大部分企业均认为需求预测、营销投放ROI分析、数据驱动的销售计划,个性化店货匹配等场景能带来最明显的业绩增长机会,是必须进行探索和尝试的。
既然零售企业对于AI驱动业绩增长的价值是毫无疑问的,那么在AI这个方向都做到什么程度了呢?从观远接触的客户中我们同样发现,近年来企业对AI赋能生产的热情高涨,虽然有一小部分还处于观望和寻找方向的阶段,但绝大部分都已经开始了小规模的探索并评估可行性。
而一些领先的头部企业在AI应用方向上同样走的也很靠前,观远已经协助多个客户将AI应用落地,真正开始让AI技术嵌入企业关键业务流程发挥作用。其中一些最有前瞻性的企业甚至已经开始规划AI蓝图,要在当前基础上让AI赋能贯穿各个业务环节,实现数据驱动的企业决策。可以说,AI应用正当其时,还在观望的企业应该尽快寻找切入点,而已经有了一些探索积累的,更要尽快迈出生产落地这关键一步。
如何落地AI项目——以需求预测为例
很多人对AI项目的概念就是建模,认为只要选好了算法建好了模型项目就能成功。然而在观远的经验中,AI项目真正的重点和难点是从实验室走向生产环境这一步。
AI落地绝不是简单的模型一键发布,过程中有许许多多实验室环境难以预见的问题,所以今天我们想讨论的并不是怎么建模,而是怎么把建好的模型落成应用。
首先我们来看一下在真正的生产环境中我们会面临哪些挑战
1、数据质量
数据质量是所有数据项目共同的痛。但在实验室环境中,数据大部分经过了一定程度清洗和整理,即便发现异常也可以手动处理掉,但是在生产环境中,数据质量情况比实验室恶劣很多,未知的异常数不胜数,生产环境也无法全部依靠手动处理,在数据源短期无法有效改善的前提下,如何降低数据质量差带来的负面影响是生产环境必须要面对的问题。
2、每个目标的准确率
在实验室环境中,往往会挑选一小部分有代表性的试点目标进行探索验证,通过一些整体指标如平均准确率等来衡量模型质量。然而在生产环境中,面对的是所有产品或是所有门店,对于业务而言不能只看整体,还要关注每一个个体,个体目标的准确率可以不够准,但是不能给出过于超出业务常识的值(事实上很可能发生),当一次产生数万个预测结果时,这种要求会变成巨大的挑战。
3、多变的业务
模型训练往往需要比较连续的大量数据,实验室中我们可能会挑选满足这一条件的目标进行探索。但是在实际业务中,变化可能非常快速,一个商品换了包装、更改尺寸、推出联名款等等,都是一种“新商品”,我们在实际工作中看到,某些品类的商品平均生命周期只有半年,当历史参考数据不足时,如何才能让模型保持准确率?
4、模型解释性
AI模型比较受到业务诟病的一点是逻辑不透明,无法解释。对于一些感知类的模型如图像识别等,结果能够快速评估,并且失败(某张图判断错误)的代价几乎忽略不计,因此对于解释性的要求不高。但是对于数据分析类的AI模型,一个决策可能影响到数亿数十亿资金,并且真实情况往往是一周甚至一个月后发生,如果不知道模型结果是怎么得出来的,业务是很难放心去使用的。
那接下来我们看看如何应对这些问题
1、构建数据异常监控机制
数据异常无法避免,关键在于如何快速发现并且高效解决。我们设计了一整套机制,包括设定异常校验规则、基于规则采集相关数据、设置预警阈值、形成自动化处理流程。在这套机制下,随着系统的运行,数据质量带来的负面影响会越来越小。
2、多层模型确保结果可用
生产环境相比实验室验证,最大的区别在于模型会复杂的多。一个生产环境中往往会结合不同业务情况构建一组十几个甚至数十个模型,而不是一个通用模型应对所有情况。同时需要灵活应用规则模型,在特殊场景下,规则会是AI模型的一个很好补充。
以应对多变的SKU为例,我们并不是直接预测每个SKU的销量。虽然SKU变化很快,但是对于某个中/小品类来说,其市场容量还是有一定规律可循,同时无论包装、容量如何变化,其本质特点如口味、香型等往往不变,市场人群的偏好占比也相对稳定。因此我们如果在SKU层级只预测其占比,同时在品类层级预测总量,再通过一个匹配模型将新旧款进行关联,就能很好的解决这一问题。
3、让模型可解释可分析
为了应对模型解释性问题,我们需要理解业务真正想要的。对于多数业务人员而言,想了解的并不是详尽的底层算法逻辑,而是这个预测值是参考了哪些因素得出,这些因素影响的占比情况如何。我们的做法是,通过将模型特征归类,分别尝试改变或去除某一类特征,通过预测值的变化大体上评估该类特征带来的影响,从而间接进行模型的解释。
更进一步,我们还可以基于预测模拟仿真各种业务场景,通过改变一些关键变量,查看预测值的变化,典型的应用是评估促销对于销量的影响。
当然,在实际的生产环境中遇到的问题远不止这些,我们仅仅列出了一些比较常见和共同的问题。
AI项目推进的步骤
零售AI项目是未来很多企业,尤其是想要向全球规模化发展的企业必经之路。但是对于AI项目的探索和落地,一定要有规划,按照节奏去推进。
- 寻找合适的业务场景,评估其价值;
- 结合业务需求、数据现状确定详细的AI模型目标,并同步组建项目团队,可以是内部自建,也可以是寻求外部合作;
- 以实验室环境为基础设计模型原型,初步评估可行性;
- 进行小规模业务验证,评估实际效果;
- 正式开始项目工程化落地,包括模型部署、对接数据源、快速迭代优化,并分类逐步上线。
在此基础上,还要不断积累自身技术力量、改善数据质量、适应基于AI的业务流程,从而让AI应用真正的在业务中发挥作用
AI项目成功的关键
通过上面的介绍,相信大家对于AI项目的落地有了更深的认识。对于如何确保AI项目成功,观远数据也总结了自己的一些理解:
1、目标的选择:在初期找到一个业务价值较大,效果易于评估,部门配合度高,对现有流程变化较小的切入点更易于推动。
2、不要过于看重POC:POC阶段的模型仅仅是一个通用验证模型,将其作为一个参考值而不是唯一评价标准,真正重要的是结合业务特点构建一组复杂模型的能力。
3、重视数据质量:数据质量很关键,如果短期无法改善,如何在有限的数据质量下确保模型可用的能力很重要。
4、团队合作:AI项目绝不是一个数据科学家埋头实验室建模能够成功的项目,他是结合了数据科学家、业务人员、数据工程师等多种角色的团队项目。
5、迭代优化:要认识到AI项目是一个不断迭代优化的过程,刚上线的结果可能不尽如人意,甚至效果低于实验室环境,但通过解决各种异常点并逐步优化,会达到一个满意的效果。
6、认识工程平台的重要性:AI落地绝不是简单的运行一个脚本或所谓的一键发布服务,真正可用可维护的AI应用,一定需要一个工程化的平台支撑运行。
(内容来源于观远数据内部员工)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。