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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 带你读《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

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
安全 数据安全/隐私保护 芯片
微信读书电脑版,来了!
微信读书电脑版,来了!
|
人工智能 自然语言处理 关系型数据库
如何构建和调优高可用性的Agent?浅谈阿里云服务领域Agent构建的方法论
本文深入探讨了Agent智能体的概念、技术挑战及实际落地方法,涵盖了从狭义到广义的Agent定义、构建过程中的四大挑战(效果不稳定、规划权衡、领域知识集成、响应速度),并提出了相应的解决方案。文章结合阿里云服务领域的实践经验,总结了Agent构建与调优的完整路径,为推动Agent在To B领域的应用提供了有价值的参考。
4026 22
如何构建和调优高可用性的Agent?浅谈阿里云服务领域Agent构建的方法论
|
机器学习/深度学习 人工智能 自然语言处理
全球名校AI课程库(17)| Stanford斯坦福 · 强化学习课程『Reinforcement Learning』
课程为强化学习领域提供了坚实的介绍。通过讲座、书面和编码作业的结合,学生将精通强化学习的关键思想和技术。
2874 1
全球名校AI课程库(17)| Stanford斯坦福 · 强化学习课程『Reinforcement Learning』
|
机器学习/深度学习 算法 TensorFlow
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1)
带你读《2022技术人的百宝黑皮书》——淘宝逛逛ODL模型优化总结(1)
366 0
|
Java 数据格式 XML
带你读《ODL技术内幕:架构设计与实现原理》之三:ODL基本对象的设计与实现
ODL不仅仅是一个SDN控制器平台,它还是一个优秀的模型驱动架构实现,以及一个典型的分布式系统设计范例。通过ODL,我们能学习的不仅仅是SDN,也能学到其通用的编程技术及软件架构设计,其分布式系统设计实现也非常值得我们借鉴。
14604 0
|
3天前
|
人工智能 弹性计算 运维
|
1天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
24天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)