带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(2)

简介: 带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(2)

带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1) https://developer.aliyun.com/article/1246921?groupCode=taobaotech



背景


而对于ODL模型来说,我们发现TensorFlow这一原生的优化选项并没有发挥出作用。在TensorFlow TimeLine上体现为,出现了大量的矩阵运算算子(如Add、Mul、Sub)和WeightsOP,这些矩阵运算算子在BDL模型上是没有的。这一部分的计算,原本应该是被ConstantFolding优化项直接优化掉的。在优化选项失效的情况下,GPU算力有一部分就消耗在了原本不必要的计算上,浪费了宝贵的计算能力。除此之外,对于GPU的执行原理来说,执行一个算子,需要将算子的kernel加载到GPU stream执行流中,GPU的高算力会让GPU kernel计算的执行时间远远小于节点kernel launch时间,产生严重的launch bound。


image.png


原因分析及相关优化


首先分析一下这些WeightsOP的来源。我们的模型在线serving时使用的是由引擎中台提供的RTP系统,RTP会将训练得到的离线tf模型进行一些离线适配操作,这样才可以让离线训练出来的tf模型能够提供在线serving能力。其中,我们需要对模型的权重variable进行替换。将BDL模型中的MLP结构权重variable替换成ConstWeightsOp,而ODL模型中的权重variable替换成WeightsOp,在线serving的时候就可以读取索引中的权重值。ConstWeightsOp与WeightsOp是同一个kernel实现,区别在于ConstWeightsOp开启了缓存,固定频次更新一次缓存数据。


因此可以看出,ODL模型与天级别BDL模型的主要区别就是权重节WeightsOP的变化。


进一步分析,对于BDL的模型来讲,上线过程中ConstWeightsOp会查询索引,填充值后常量化成ConstOP,最后与其他ConstOP一起被Tensorflow在线做ConstFolding优化掉。而ODL模型的权重节点由于开启了增量更新,无法被Const化,从而导致TensorFlow的ConstantFolding优化选项对这些算子及涉及到的相关计算节点失效。在调研了RTP的相关特性及优化方案后,我们使用CallGraphOP算子对模型进行了图优化。


RTP实现了CallGraphOP算子,并在算子中增加了Cache功能,CallGraphOP算子只有当查询达到一定次数,或者距离上次查询间隔时间大于阈值的时候,才会实际调用子图进行计算,否则直接使用本地缓存。这样的特性似乎和ConstWeightsOP的特点十分相似。我们利用这个特性,对ODL的参数节点部分进行针对性的优化。




带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(3) https://developer.aliyun.com/article/1246919?groupCode=taobaotech

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
缓存 并行计算 算法
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(6)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(6)
100 0
|
并行计算 数据可视化 TensorFlow
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(4)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(4)
|
机器学习/深度学习 算法 TensorFlow
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1)
104 0
|
缓存 异构计算
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(3)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(3)
|
并行计算 算法 异构计算
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(5)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(5)
111 0
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(6)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(6)
110 0
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(5)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(5)
113 0
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(7)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(7)
156 0
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(8)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(8)
122 0
|
数据挖掘
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(4)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(4)
122 0