日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习 训练吃显卡_在深度学习中喂饱GPU

發(fā)布時(shí)間:2024/9/3 pytorch 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习 训练吃显卡_在深度学习中喂饱GPU 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原標(biāo)題:在深度學(xué)習(xí)中喂飽GPU

新智元推薦

來源:知乎專欄

作者:風(fēng)車車

【新智元導(dǎo)讀】深度學(xué)習(xí)模型訓(xùn)練是不是大力出奇跡,顯卡越多越好?非也,沒有512張顯卡,也可以通過一些小技巧優(yōu)化模型訓(xùn)練。本文作者分析了他的實(shí)踐經(jīng)驗(yàn)。

前段時(shí)間訓(xùn)練了不少模型,發(fā)現(xiàn)并不是大力出奇跡,顯卡越多越好,有時(shí)候 1 張 v100 和 2 張 v100 可能沒有什么區(qū)別,后來發(fā)現(xiàn)瓶頸在其他地方,寫篇文章來總結(jié)一下自己用過的一些小 trick,最后的效果就是在 cifar 上面跑 vgg 的時(shí)間從一天縮到了一個(gè)小時(shí),imagenet 上跑 mobilenet 模型只需要 2 分鐘每個(gè) epoch。(文章末尾有代碼啦)

先說下跑 cifar 的時(shí)候,如果只是用 torchvision 的 dataloader (用最常見的 padding/crop/flip 做數(shù)據(jù)增強(qiáng)) 會(huì)很慢,大概速度是下面這種,600 個(gè) epoch 差不多要一天多才能跑完,并且速度時(shí)快時(shí)慢很不穩(wěn)定。

我最初以為是 IO 的原因,于是掛載了一塊內(nèi)存盤,改了一下路徑接著用 torchvision 的 dataloader 來跑,速度基本沒啥變化。。。

然后打開資源使用率看了下發(fā)現(xiàn) cpu 使用率幾乎已經(jīng)滿了(只能申請(qǐng) 2cpu 和一張 v100...),但是 gpu 的使用率非常低,這基本可以確定瓶頸是在 cpu 的處理速度上了。

后來查了一些資料發(fā)現(xiàn) nvidia 有一個(gè)庫叫 dali 可以用 gpu 來做圖像的前處理,從輸入,解碼到 transform 的一整套 pipeline,看了下常見的操作比如 pad/crop 之類的還挺全的,并且支持 pytorch/caffe/mxnet 等各種框架。

可惜在官方文檔中沒找到 cifar 的 pipeline,于是自己照著 imagenet 的版本寫了個(gè),最初踩了一些坑(為了省事找了個(gè) cifar 的 jpeg 版本來解碼,發(fā)現(xiàn)精度掉得很多還找不到原因,還得從 cifar 的二進(jìn)制文件來讀取),最后總歸是達(dá)到了同樣的精度,再來看一看速度和資源使用率,總時(shí)間直接從一天縮短為一小時(shí),并且 gpu 使用率高了很多。

再說下 imagenet 的訓(xùn)練加速,最初也是把整個(gè)數(shù)據(jù)集拷到了掛載的內(nèi)存盤里面(160g 大概夠用了,從拷貝到解壓完成大概 10 分鐘不到),發(fā)現(xiàn)同樣用 torchvision 的 dataloader 訓(xùn)練很不穩(wěn)定,于是直接照搬了 dali 官方的 dataloader 過來,速度也是同樣起飛 hhhh(找不到當(dāng)時(shí)訓(xùn)練的圖片了),然后再配合 apex 的混合精度和分布式訓(xùn)練,申請(qǐng) 4 塊 v100,gpu 使用率可以穩(wěn)定在 95 以上,8 塊 v100 可以穩(wěn)定在 90 以上,最后直接上到 16 張 v100 和 32cpu,大概也能穩(wěn)定在 85 左右(看資源使用率發(fā)現(xiàn) cpu 到頂了,不然估計(jì) gpu 也能到 95 以上),16 塊 v100 在 ImageNet 上跑 mobilenet 只需要 2 分鐘每個(gè) epoch。

寫的 dataloader 放到了 github 上,我測(cè)試的精度跟 torchvision 的版本差不多,不過速度上會(huì)比 torchvision 快很多,后面有空也會(huì)寫一些其他常用 dataloader 的 dali 版本放上去。

https://github.com/tanglang96/DataLoaders_DALI

(本文經(jīng)授權(quán)轉(zhuǎn)載自知乎專欄,作者:風(fēng)車車)返回搜狐,查看更多

責(zé)任編輯:

總結(jié)

以上是生活随笔為你收集整理的深度学习 训练吃显卡_在深度学习中喂饱GPU的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。