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

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

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




// 判断使用本地缓存还是调用子图进行计算
bool useCached() {
 ……
 int64 curTime = TimeUtility::currentTimeInSeconds();
 // _countInterval和_timeInterval支持自定义值,也可以使用默认值。
 if (_currCount++ % _countInterval == 0 || curTime - _lastTime >= _timeInterval) {
 _lastTime = curTime;
 return false;
 }
 return true;
}


得益于RTP的灵活性,我们可以将整个模型的图分解成若干个子图,子图之间可以连通调用。因此我们在模型图中,将原本应当被ConstantFolding优化掉的节点抽取出来,得到一张ConstantFoldable子图,通过CallGraphOP算子来进行子图调用。然后将原图中的这些节点从图中删掉,最后通过RerouteTensor,将子图与子图外节点的tensor进行重置,使用CallGraphOP的输出tensor进行替换。


image.png


优化后的TimeLine如下所示,可以看到,模型的tf图中,可被折叠的算子都已经被包含到ConstantFoldable子图中,并通过CallGraphOP调用。优化后,ODL模型在线serving阶段,大部分请求将直接使用本地缓存,只有很少量的请求会触发子图的计算。


image.png


相对于ODL模型的更新频率来讲,1~2秒的参数延迟对于ODL模型的实时效果来讲基本毫无影响。这项优化在保障模型参数时效性的同时,提升了模型在线serving的性能。在我们推全这项优化之后,集群的GPU负载显著降低。


image.png





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

相关文章
|
缓存 并行计算 算法
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(6)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(6)
|
缓存 TensorFlow 算法框架/工具
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(2)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(2)
|
并行计算 数据可视化 TensorFlow
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(4)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(4)
|
并行计算 算法 异构计算
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(5)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(5)
|
机器学习/深度学习 算法 TensorFlow
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1)
|
数据挖掘
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(4)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(4)
|
计算机视觉 异构计算 SEO
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(2)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(2)
|
搜索推荐
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(9)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(9)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(6)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(6)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(8)
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(8)