当前位置: 首页 > news >正文

一流小说网站模板站群宝塔批量建站

一流小说网站模板,站群宝塔批量建站,上海自动seo,济宁网一只小狐狸带你解锁NLP/ML/DL秘籍作者#xff1a;夕小瑶前记众所周知#xff0c;夕小瑶是个做NLP的小可爱。虽然懂点DL框架层知识#xff0c;懂点CUDA和底层#xff0c;但是我是做算法的哎#xff0c;平时debug很少会遇到深度学习框架层的bug#xff08;上一次还是三年前… 一只小狐狸带你解锁NLP/ML/DL秘籍作者夕小瑶前记众所周知夕小瑶是个做NLP的小可爱。虽然懂点DL框架层知识懂点CUDA和底层但是我是做算法的哎平时debug很少会遇到深度学习框架层的bug上一次还是三年前被pytorch坑更从没遇到过CUDA层甚至硬件层的bug。直到有一天....这个bug彻底颠覆了我的debug思路从这个bug开始我再也不认为做算法的就做好算法就好了。 事故现场还原当时的背景是这样的我平时在一台8卡的GPU服务器上debug代码这台服务器很少会把8卡全用满毕竟这台机器只是用来debug代码而已要跑那种好几天的8卡训练任务的话肯定就提交集群了否则你如果占了全部8张卡那自己和别人都没法debug了。当时恰逢deadline扎堆0-5卡都被其他蹭机器的小伙伴占了只有6、7卡能用。于是我就用这两张卡来debug代码训练和预测都是多卡并行于是debug的时候这两张是同时用的。结果把新的idea实现后跑了一下发现一个step都没有跑完就挂掉了而且全部的报错信息就两个单词$ bash run.sh segmentation fault 我写的都是python代码呀我不是在做NLP么怎么跑出来段错误segmentation fault了众所周知段错误是写C代码时非常让人头疼的错误随手一搜果然自己摊上大麻烦了╮(╯▽╰)╭虽然连挂掉时的代码出错位置都没有打印虽然炼丹以来第一次遇到这个报错。但是依然难不倒见过大风大浪的本宝宝的进一步加关键词限制来强行Google了一下发现可能的错误原因依然太多了各种类型的代码里都可能遇到。算了算了这次就不Google oriented debug了是时候展示真正的技术了首先先看看是计算图compiled之前还是过程中还是runtime挂的。【此处省略一顿怒插数十断点的操作】于是一路debug发现计算图可以顺利建立但是在深度学习框架完成计算图编译开始runtime计算的时候就挂了。emmmm这说明。。。果然是最糟糕的情况哇基于静态图的DL框架就怕在runtime出问题很多小伙伴可能不清楚runtime该怎么debug于是纷纷觉得pytorch真香。其实对于绝大部分错误静态图还是蛮好debug的秘诀也很简单那就是往图里插入debug op。像tensorflow、paddlepaddle这种支持静态图的深度学习框架都是有大量debug op的最常用的就是print optensorflow中的tf.Print/tf.printpaddle中的layers.Print它可以在计算图的任意位置打印出运行到此位置时的任意Variable/Tensor的runtime值当然也可以搭配shape opTF中的tf.shapepaddle中的layers.shape打印出Tensor的runtime形状等信息。除了print op外还有assert op、is op等保证运行正确性、辅助debug的op也就是说python中常用来debug的一些关键字和函数调用其实成熟的静态图框架里基本都能找到对应的op。熟悉了映射关系后静态图debug起来也不会太费力。但是有两种情况依然比较头疼一种是计算图已经完全建立了但是第一个op还没有跑到的时候就挂了这时候插入的debug op完全没被run到还有一种是前向正确的跑完了但是计算梯度的时候挂掉了这时候错误可能发生在整张图的任意位置甚至不在图里。当它们再叠加上多机多卡问题时就是最惨的情况。不幸的是我遇到了( ́︿ ̀)首先如前所述本宝宝很淡定的在计算图里插入了一堆Print结点然后发现前向计算结果貌似非常正确轻松的定位到错误发生在runtime计算反向梯度的时候也就是optimizer.optimize() 算了算了也不是第一次挂在这儿报错信息似乎也提供不了太多指导报错信息里有一些路径类信息比较敏感就不贴出来了。再多插入几个debug op来验证前向路径的正确性【此处省略另一顿插op的操作】结果万万没想到插入debug op之后竟然第一个step跑完了这次挂在了第二个stepdebug op还有强行续命的功效我不信于是把debug op又都注释掉了重新run结果又挂在了第一个step我当时狠掐了自己一把这特喵的一定是在做一个很荒唐的梦令我没想到的是现实果然比梦境更荒唐。我又重复的run了好多好多次发现没有插入debug op的时候确实永远是第一个step就会挂掉。于是我把这个震惊的现象告诉了大家然后果然大家都觉得我疯了。小夕”你们都过来我来亲自演示一遍“小夕”你们看没有插入debug op的时候第一个step就报了segment fault的错误叭~“大家”哦“小夕”然后看好哦我把这里的debug op都插上然后run“诶诶诶怎么还是第一个step就挂了被疯狂打脸(´Д )大家小夕你要是累了就先去睡会儿别太累了大家散了散了╮(╯▽╰)╭嘤嘤嘤怎么会( ́︿ ̀)算了算了不纠结这个了。回到debug本身emmm话说前向能正常跑完永远都是挂在反向阶段那么说明要么前向哪里埋了一个坑暂时被强行计算了但是这个节点处的梯度其实是无法计算的要么可能是优化器本身就有bug。于是先扫了一遍代码确实没有使用也没有cast很奇怪的数据类型也没有使用一些很奇怪的op基本可以排除前一种情况。那应该就是后一种了而优化器用的其实就是adam没什么改动那问题就肯定出在自己新加的多卡梯度合并这块了于是果断的在6卡上跑了一下单卡的代码果然正常训练我真是福尔摩夕呀马上就要揪出bug真凶了好激动。继续回去check了一下多卡逻辑燃鹅似乎。。没问题鸭天呐难不成这回要去框架源码里插断点了看来我只能祭出我的杀手锏了那就是滚去写demo由于代码逻辑有点复杂并且会在多卡梯度合并的时候要进行一些额外的处理当时觉得应该还是代码哪里写的有问题于是决定先开ipython写个多卡计算的小demo。【此处省略一个demo】嗯前向计算顺利通过符合预期。好加大难度引入梯度合并。结果又又又segmentation fault 了我还没引入我的idea呢直接就挂了。不对哇这不就是多卡训练的标准玩法么难道最新版的框架有bug天呐我发现了这么大的一个bug于是卸掉重装了一个旧版的非常稳定的包重新跑这个demo代码结果又又又又 segmentation fault 了不会吧。。。又check了一下环境确保CPU、内存、磁盘、GPU及其显存都是够用的CUDA、CUDNN、NCCL也没问题自带的tool都能check过。难不成是python的锅不至于吧我也太多疑了。。。这时我出现了一个大胆的想法。难不成这两张显卡里有一张是坏的前面测试CUDA时刚在GPU6上跑了一把发现好好的。那么。。。GPU7狼人肯定是你了于是又去GPU7上跑满心等着它挂掉结果。。训练一切正常强迫自己冷静了一下。我是不是太多疑了竟然都怀疑到硬件身上了。但是基本的运行环境都check过了鸭如果不是硬件也不是python和框架的问题那难不成。。。是中间的glibc的问题联想到segment fault这个报错信息更加确信了glibc就是狼人这次跑不掉了然而众所周知glibc这种级别的库是非常底层的一旦改坏了会导致ls、cd这种级别的命令都挂掉。我看了一眼GPU0-5卡上跑的好好的别人的任务再次陷入了迷茫。。。【此处省略长达数十分钟的卡顿】嗯先低调一些先把demo放到一个崭新的环境中跑下于是把demo放到另一台机器上跑了一下果然多卡也是能正常跑的。莫非真是glibc但是为什么别人的任务没问题呢。似乎一切现象都在导向最后一种可能GPU6到GPU7的底层通信链路出故障了于是我耐心的等着其他小伙伴的任务跑完重新测试GPU5GPU6:训练正常GPU5GPU7:训练失败GPU0GPU1GPU2GPU3GPU4GPU5GPU6:训练正常GPU0GPU1GPU2GPU3GPU4GPU5GPU6GPU7:训练失败实锤激动万分的跑去找管机器的小哥哥了语无伦次的给解释了大半天。终于小哥哥将信将疑的安排人去进一步测试了一下焦急的等了若干天。。。小哥哥“是的GPU7坏掉了无法与其他卡通信更换GPU7后测试正常“听到这个消息后小夕非常激动的重新测了一遍各种跟GPU7的排列组合成功 后记这时候我突然想起来之前那个见鬼的插debug op会导致多跑一个step的现象而且仅出现了一次于是跑去问小哥哥小哥哥悠悠的说“那大概就叫做回光返照吧GPU7尽力了“可能喜欢跨平台NLP/ML文章索引训练太慢GPU利用率上不去快来试试别人家的tricks如何优雅的追到女神夕小瑶他和她一个两年前的故事求关注 求投喂 拉你进高端群哦~
http://www.zqtcl.cn/news/529039/

相关文章:

  • 北京网站建设招聘江苏住房和城乡建设局网站
  • 如何让订阅号菜单做微网站哪家网站做的好
  • 北京建站方案北京seo主管
  • 网站平台建设费用的会计核算凡科教育小程序怎么样
  • 网站配置文件在哪里sns网站需求
  • 网站运营优化建议英国网站域名
  • 网站开发洲际企业网站模板论坛
  • 如何建外贸网站软件工程专业是干什么的
  • 衣联网和一起做网站 哪家强网站seo方案建设目标
  • 深圳企业股权优化网站程序代码优化
  • 中国石油大学网页设计与网站建设软件界面设计要求
  • 看网站有没有做404报名网站建设
  • 有哪些是做二手的网站关于网站制作的指标
  • 网站数据库是谁提供空间坐标系做图网站
  • 网站开发的外文文献佛山做网站格
  • 石家庄网站seo服务免费10大看盘软件
  • 自己做网站卖什么给个网站好人有好报2020免费
  • 网站源码安装步骤网站开发用c 语言
  • 网站首页是什么产品网络推广方案
  • 网站首页制作方案南通市规划建设局网站
  • 网站建设费用兴田德润团队西宁网站策划公司
  • 手机价格网站建设用别人备案域名做违法网站
  • 成都武侯区建设厅官方网站石家庄住房和城乡建设部网站
  • 前端做网站的步骤酉阳网站建设
  • 湖北省住房与建设厅网站php做网站访问记录
  • 做网站的公司没有技术吉林北京网站建设
  • 产品设计培训机构哪家好贵州整站优化seo平台
  • 天津网站制作推广wordpress 果酱
  • 写给初学网站开发们的一封信企业网站建设 ppt
  • 做装修网站多少钱做网站百度一下