开发者学堂课程【PAL 平台学习路线:机器学习入门到应用:大咖对话-AI架构师成长计划(四) -林伟对话 Intel 戴金权】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/855/detail/14135
大咖对话-AI架构师成长计划(四) -林伟对话 Intel 戴金权
一、问答
问:在 PAI 平台上对推荐系统做离线和在线统一,可以做到分钟级模型更新,在现实生活中或在一般应用当中,可以每天晚上训练模型,更新模型,再推到线上使用,不会做到在线、离线统一的架构,第一,为了做到在线离线架构,对整个下面平台,不管特征提取也好或模型训练也好,有什么挑战?第二,挑战价值在哪里?最终对用户业务场景,不管电商还是非电商?
答:从价值来说,因为新零售有很特殊地方,在任何地方都有大促,变化很快,也有涉及到兴趣发生很快变化,例如做大促,有轮转活动,模型、兴趣、购买也在短时间有密集性变化,当时希望模型能够跟上兴趣变化,不反复推。如何响应这样变化,在该场景中,online learning 对于客户满意度提高以及客户流程或激发购买行为有很大帮助,也得到了很大的业务回报,对于工程上较为麻烦,麻烦主要体现在首先需要实时做数据处理,不可能堆在一起,做批量结果,做了结果做特种工程,再做模型训练再上线,在该过程中,需要源源不断处理数据,处理数据后,要做实时learning,推新模型,模型该如何上线,中间模型稳定性也要保证,需要和服务发布流程串联起来,例如要分桶,如何滚动服务,除此以外, feature 也在变化,为了能够支持训练,模型没有停下来,不可能把原来30天数据重新再训练一遍,由于模型很大,重新训练30天数据,会花大量时间,否则新模型就推不上了,有周期性从头训练,因为实时训练会有 overfit,也要需要平衡,但不可能回到30天以前,从 fransquat 做训练,原来的 feature 对于现在模型不关键了,如何注重现在的新 feature 权重,降低老 feature 权重,现有框架不太支持,动态 enbedding 功能,使得在训练的时候,能够淘汰 feature,降低 feature 重要性,提升新 feature,大数据和框架联动也需要流式计算,还有如果有脏数据怎么处理,脏数据如何控制,如何回滚,需要保存许多 version,当发现了问题的时候,有工程平台验证,把某数据切回到某点,重新 online learning,所以在大数据模型下工程很复杂,许多客户在搜广推中,对实时性有兴趣,在几个例子中用到实时性,都能够给用户带来业务成长,至于业务成长,从阿里角度来说,结果可观。
问:在 AI 平台上通常几类不同应用都有不同,有必要都做不同平台产品吗?还是可以认为80%相同,20%要定制?
答:各种产品有各自特点,也有许多贡献,从平台角度来说,不同客户看中东西,在平台层面上,会有不一样,因为大数据有复杂数据处理,复杂数据清洗,许多情况下,需要有很复杂的数据加工流程,而加工流程需要管理,数据处理实验会很复杂,有各 种 JOY,各种各样的中间自定义数据、加工过程,此时还需要给用户优势方案选择,加工完后要做统计类规定,再灌到深度学习方面,所以在在 PAI 产品轴中,称为 studio,对于这类客户很需求,这类客户在开发情况下面,不像 CV 类,CV 类可以在单机时看模型效果,在大数据中,本机没有足够数据,也没有足够时长能够把所有数据,灌一灌,在大数据中更多的是分布式循环,和 CV 类不太一样,但也有许多共性,首先都有引擎需求,特别现在,搜广推也在用深度学习模式,需要有深度学习引擎,深度学习引擎共用优化技术,虽然训练方式可能不同,例如,搜广推更多异步训练,CV 类更多同步训练,但共性也有,例如算子高效性,并且现在趋势是搜广推也在考虑如何用同步训练提高更高点,但同步训练要求更高,因为稀疏化,所以同步有可能浪费许多计算资源,因为稀疏,热点并不均匀。异步在搜广推中最终收敛,也比原来收敛效果好。但也有人在尝试,用同步方式训练搜广推,此时训练方式也可能雷同,引擎上有许多有共性地方。大规模训练也开始做更多模型训练,搜广推一开始就是模型训练,所以二者在引擎上有更多共性。在平台上,在图像类对弹性要求更高。大数据就要时刻训练。在研发阶段,是在单机环境模式下训练完了之后,做数据变形。在那边开发环境更多在数据如何处理,复杂流程如何工作,一开始就要用分布式训练,单机训练基本上可能帮助并不大,使用平台组合不一样,在服务客户中发现搜广推较为喜欢用 PAI-Studio 模式,对于 CV 类,会觉得不灵活,不能够提供较好容器,没有更灵活版本,会用云原生的产品提醒。
问:例如推荐、视觉等等,除了这些目前较为主流的深度学习或应用场景,现在也有许多新的机器学习方法来解决新问题,包括小样本中的学习或自监督学习,包括图像神经网络或正向学习等等,还没有大规模被应用,但已经是有前途方向,这些新方向会对现有平台带着怎样挑战?
答:在工程平台,确实要对算法发展方向,要有一定敏感度,看是什么样方向变化,有的方向变化,可能对于引擎和平台带来很不一样事情,例如 GNN,GNN 时候就不像只有 NN 时候,需要考虑如何做计算,如何做迭代,如何收敛模型,但 graph 本身存储结构很特殊,IO 这一层的性能,该如何和后面NN匹配上,如何做采样,这一方面对于系统、IO、存储、引擎会带来许多挑战,这两个引擎如何配合也是一个课题。有许多种迁移学习的方式,在 meta-learning中有很多想法,每个想法都不太一样,如何把想法提纯成为好的工具库,也在做尝试。随着 BERT 产生,有个大基础模型训练不动,就希望用迁移学习的方式 learning 或小样本个学习,学习方法有许多种,如何把学习方法沉淀出来,如何组合好 API,使得能够在抽象上快速组合自己迁移学习方案,对于架构师的考验更多在对于抽象理解以及应对方法提出了更高要求。架构师每天都要学习,但先要保持对于算法方向的理解,与算法工程师交流,算法工程师从算法上考虑问题,架构师从应用性上考虑问题,双方多交流,有更多新想法,可以加速整个 AI 工程快速迭代。
问:不同应用场景,是否有一种解决方案,能够解决所有问题?从某种意义上来说,需要用不同软硬件产品,不管CPU 还是加速器还 GPU 等等,包括上乘了不同软件,可能需要不同产品来解决,针对不同场景来做不同问题,平台能够较好的将不同软件整合在一起,针对不同场景支持。
答:课程取代不了一线上得到的感知,自己必须 heads on,因为架构许多情况下是平衡问题,如何找到平衡点,与整个职业过程有关,在领域中有分布式、大规模、大数据,许多情况下,二八原则点在何处需要通过自己的经验学习。