图书馆网站建设策划,搜索引擎优化案例,手机优化大师官方免费下载,17网一起做网店普宁站文 | 卖萌酱大家好#xff0c;我是卖萌酱。对一个深度学习从业者来说#xff0c;无论你的场景是CV、NLP、Speech还是搜广推现金牛#xff0c;手头使用最高频的工具莫过于深度学习框架#xff0c;涵盖了模型训练、模型部署#xff0c;乃至数据标注、数据清洗等环节。站在20… 文 | 卖萌酱大家好我是卖萌酱。对一个深度学习从业者来说无论你的场景是CV、NLP、Speech还是搜广推现金牛手头使用最高频的工具莫过于深度学习框架涵盖了模型训练、模型部署乃至数据标注、数据清洗等环节。站在2022年的视角下回顾曾经被深度学习框架搞崩溃的瞬间真心觉得现在的框架、工具链已经被打磨的太好用了。。来吧忆苦思甜开始框架选择选择困难症患者的噩梦卖萌酱在入门深度学习时光在“我要学习哪个深度学习框架”的问题上就精神内耗了接近一个月。当时框架选择方面的参考资料和分析帖比较匮乏最后无奈之下把当时流行的Theano、Caffe、TensorFlow、Torch注意不是Pytorch、Keras当时还不属于TF全都入门上手了一遍最后竟然丧心病狂的觉得当时的TF是最好用的。你以为卖萌酱从此变成了“TF高阶工程师”不不就在卖萌酱好不容易把TF 1.x自认为玩的比较溜的时候Pytorch的风就袭来了。在师兄师姐的强力安利下又强行试了试Pytorch结果由于当时还不成熟踩了个框架层面的bug在github上跟开发者反馈后等了好久也没解决又切回去TF 1.x了。就在卖萌酱终于要把精力聚焦在业务问题上时TF2.0又出现了。更新按道理是个好事啊然而TF2.0与TF1.0的兼容性几乎等于没有。。你坚持TF1.0就要面临将来无人维护的必然结局。你要升级2.0吧所有积累的TF代码全废了。TF这点如果当年能像现在的飞桨PaddlePaddle一样2.X强力兼容1.X卖萌酱可能就不会抛弃TF了。。最后就在卖萌酱终于要彻底拥抱Pytorch的时候又被大规模分布式训练和模型部署问题给折腾懵了。这时候有大佬跟卖萌酱说了一句“搞分布式训练和部署不应该优先考虑PaddlePaddle么”于是半信半疑的卖萌酱又跑去试了一把飞桨PaddlePaddle嗯真香。。果然从工业界打磨出来的深度学习框架最懂工业界的痛点。6年的时间里卖萌酱学习了7个深度学习框架对耐心差的开发者来说频繁切换框架真的会非常崩溃。听卖萌酱一句劝2022年了如果你要all in做学术第一时间跑通Arxiv上昨天刚挂的论文中的开源代码那就无脑选择Pytorch如果你要all in工业界既要训练爽又要部署省心就无脑飞桨PaddlePaddle尤其在国内有中文团队本土支持简直不要太爽。机制纠结静态图的极客感还是动态图的傻瓜式在TF2.0出现以前很多人都纠结过选择静态图还是动态图。虽然静态图跑起来真的快但是debug起来又比较痛苦虽然看起来很极客范部署的时候又觉得香。当时就在想如果有一个深度学习框架能够编程和调试的时候用动态图等到要大规模训练和部署的时候无需改代码就直接自动转静态图运行就好了。卖萌酱这个愿望终于在不久前实现了飞桨PaddlePaddle从2.X的版本后默认开启动态图模式进行模型开发、调试和训练但是由于Paddle的API实现了“动静统一”在开发调试完成后可以直接通过paddle.enable_static()来切换到静态图模式进行模型训练加速和模型部署。简直就是现代深度学习框架的理想态好不好。为啥我的任务跑的这么慢GPU利用率这么低每次要尝试一个比较大胆的idea除了要面临方法效果层面的挑战外新模型新算法的训练、推理效率也经常出奇的低甚至一些经典的模型要做大规模数据推理时发现别人3天能跑完的任务我却要跑7天完全不知道到底是哪里拖慢了速度。这时候可能就有老司机跑过来嘲讽卖萌酱你这工程能力是不是不大行啊~~~刚开始的时候卖萌酱会尝试往代码里疯狂插入time.time()打印多个点的运行时间不但插入费时费力删除也费力调试粒度还非常粗有些时间是消耗在GPU上、CPU上还是内存显存通信上也搞不清楚。不过最近听飞桨PaddlePaddle框架团队的同学说Paddle计划在即将发布的2.3版本中推出9个性能分析API不仅非常易用而且全面、专业在训练、推理过程中收集、导出和统计性能数据到时候定位运行效率瓶颈实现极限的工程效率优化就不再是一个让人崩溃的事情了Sparse运算深度学习框架之痛你想象过把一个dense Tensor替换成sparse Tensor后模型计算速度会被整整拖慢一倍吗没错卖萌酱几年前曾经为了优化巨型word embedding的显存占用曾经尝试将其从dense Tensor转成sparse Tensor结果naive了。。。不仅没省下多少显存整个计算速度变成了龟速就不吐槽是哪个框架了。。。其实不仅是词向量查询sparse Tensor和sparse运算在相当多的深度学习应用场景中都有很强的需求。比如计算机视觉中是3D、点云数据类型也非常稀疏在推荐、广告等业务场景也有大量的稀疏数据和稀疏运算。在这方面主流深度学习框架要么支持差容易出奇怪的报错要么性能无法达到效果数据处理、模型组网非常复杂而且运算效率低下。以至于在涉及到大量稀疏运算的场景有实力的大厂甚至搞起了自研框架或从开源框架拉分支来重点优化稀疏计算。。不过这个多年未解的痛点可能会在飞桨PaddlePaddle即将发布的2.3版本中被大大缓解甚至解决飞桨PaddlePaddle 2.3对sparse tensor做了全面梳理预计会新增11个sparse tensor运算的API常见的COO、CRS格式的Sparse Tensor以及与Dense Tensor互相转换等基础功能可能会得到简洁易用且高性能的实现。除了以上提到的新特性外据传即将发布的飞桨PaddlePaddle 2.3还会有一系列充满想象力的重磅升级比如将傅里叶变换放进神经网络让科学计算甚至信号处理问题都能接入深度学习框架可以确信的是AI的应用边界将被持续打破AI落地的想象力也会因飞桨而变得不同。对框架底层突破与升级感兴趣的小伙伴请扫描以下海报预约WAVE SUMMIT深度学习开发者峰会