色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Batch大小不一定是2的n次冪?

電子工程師 ? 來源:量子位 ? 作者:量子位 ? 2022-08-08 16:29 ? 次閱讀

Batch大小不一定是2的n次冪?

是否選擇2的n次冪在運行速度上竟然也相差無幾?

有沒有感覺常識被顛覆?

這是威斯康星大學麥迪遜分校助理教授Sebastian Raschka(以下簡稱R教授)的最新結論。

5bc08726-16c2-11ed-ba43-dac502259ad0.png

神經網絡訓練中,2的n次冪作為Batch大小已經成為一個標準慣例,即64、128、256、512、1024等。

一直有種說法,是這樣有助于提高訓練效率。

但R教授做了一番研究之后,發現并非如此。

在介紹他的試驗方法之前,首先來回顧一下這個慣例究竟是怎么來的?

2的n次冪從何而來?

一個可能的答案是:因為CPUGPU的內存架構都是由2的n次冪構成的。

或者更準確地說,根據內存對齊規則,cpu在讀取內存時是一塊一塊進行讀取的,塊的大小可以是2,4,8,16(總之是2的倍數)。

5bdb5d76-16c2-11ed-ba43-dac502259ad0.png

因此,選取2的n次冪作為batch大小,主要是為了將一個或多個批次整齊地安裝在一個頁面上,以幫助GPU并行處理。

其次,矩陣乘法和GPU計算效率之間也存在一定的聯系。

5bf09aa6-16c2-11ed-ba43-dac502259ad0.jpg

假設我們在矩陣之間有以下矩陣乘法A和B:

5c011c32-16c2-11ed-ba43-dac502259ad0.jpg

當A的行數等于B的列數的時候,兩個矩陣才能相乘。

其實就是矩陣A的第一行每個元素分別與B的第一列相乘再求和,得到C矩陣的第一個數,然后A矩陣的第一行再與B矩陣的第二列相乘,得到第二個數,然后是A矩陣的第二行與B矩陣的第一列……

5c10effe-16c2-11ed-ba43-dac502259ad0.jpg

因此,如上圖所示,我們擁有2×M×N×K個每秒浮點運算次數(FLOPS)。

現在,如果我們使用帶有Tensor Cores的GPU,例如V100時,當矩陣尺寸(M,N以及K)與16字節的倍數對齊,在FP16混合精度訓練中,8的倍數的運算效率最為理想。

因此,假設在理論上,batch大小為8倍數時,對于具有Tensor Cores和FP16混合精度訓練的GPU最有效,那么讓我們調查一下這一說法在實踐中是否也成立。

不用2的n次冪也不影響速度

為了了解不同的batch數值對訓練速度的影響,R教授在CIFAR-10上運行了一個簡單的基準測試訓練——MobileNetV3(大)——圖像的大小為224×224,以便達到適當的GPU利用率。

R教授用16位自動混合精度訓練在V100卡上運行訓練,該訓練能更高效地使用GPU的Tensor Cores。

如果你想自己運行,該代碼可在此GitHub存儲庫中找到(鏈接附在文末)。

該測試共分為以下三部分:

小批量訓練

5c2292c2-16c2-11ed-ba43-dac502259ad0.png

從上圖可以看出,以樣本數量128為參考點,將樣本數量減少1(127)或增加1(129),的確會導致訓練速度略慢,但這種差異幾乎可以忽略不計。

而將樣本數量減少28(100)會導致訓練速度明顯放緩,這可能是因為模型現在需要處理的批次比以前更多(50,000/100=500與50,000/128= 390)。

同樣的原理,當我們將樣本數量增加28(156)時,運行速度明顯變快了。

最大批量訓練

鑒于MobileNetV3架構和輸入映像大小,上一輪中樣本數量相對較小,因此GPU利用率約為70%。

為了調查GPU滿載時的訓練速度,本輪把樣本數量增加到512,使GPU的計算利用率接近100%。

5c3b8002-16c2-11ed-ba43-dac502259ad0.png

△由于GPU內存限制,無法使用大于515的樣本數量

可以看出,跟上一輪結果一樣,不管樣本數量是否是2的n次冪,訓練速度的差異幾乎可以忽略不計。

多GPU訓練

基于前兩輪測試評估的都是單個GPU的訓練性能,而如今多個GPU上的深度神經網絡訓練更常見。為此,這輪進行的是多GPU培訓。

5c492c66-16c2-11ed-ba43-dac502259ad0.png

正如我們看到的,2的n次冪(256)的運行速度并不比255差太多。

測試注意事項

在上述3個基準測試中,需要特別聲明的是:

所有基準測試的每個設置都只運行過一次,理想情況下當然是重復運行次數越多越好,最好還能生成平均和標準偏差,但這并不會影響到上述結論。

此外,雖然R教授是在同一臺機器上運行的所有基準測試,但兩次運營之間沒有特意相隔很長時間,因此,這可能意味著前后兩次運行之間的GPU基本溫度可能不同,并可能稍微影響到運算時間。

結論

可以看出,選擇2的n次冪或8的倍數作為batch大小在實踐中不會產生明顯差異。

然而,由于在實際使用中已成為約定俗成,選擇2的n次冪作為batch大小,的確可以幫助運算更簡單并且易于管理。

此外,如果你有興趣發表學術研究論文,選擇2的n次冪將使你的論文看上去不那么主觀。

盡管如此,R教授仍然認為,batch的最佳大小在很大程度上取決于神經網絡架構和損失函數。

例如,在最近使用相同ResNet架構的研究項目中,他發現batch的最佳大小可以在16到256之間,具體取決于損失函數。

因此,R教授建議始終把調整batch大小,作為超參數優化的一部分。

但是,如果你由于內存限制而無法使用512作為batch大小,那么則不必降到256,首先考慮500即可。

作者Sebastian Raschka

Sebastian Raschka,是一名機器學習AI 研究員。

他在UW-Madison(威斯康星大學麥迪遜分校)擔任統計學助理教授,專注于深度學習和機器學習研究,同時也是Lightning AI的首席 AI 教育家。

另外他還寫過一系列用Python和Scikit-learn做機器學習的教材。

5c7af340-16c2-11ed-ba43-dac502259ad0.png

基準測試代碼鏈接:
https://github.com/rasbt/b3-basic-batchsize-benchmark
參考鏈接:
https://sebastianraschka.com/blog/2022/batch-size-2.html

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 矩陣
    +關注

    關注

    0

    文章

    428

    瀏覽量

    34902
  • 機器學習
    +關注

    關注

    66

    文章

    8476

    瀏覽量

    133775

原文標題:Batch大小不一定是2的n次冪!ML資深學者最新結論

文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    DLP4500需要使用近紅外光源,如何判斷這個芯片是否適用?

    因為要對人體掃描,之前直再看450NIR,650NIR做的投影產品,但這種太少還都是在國外才有的賣。 所以想問下,如果用850nm的光源,是不是用普通的DMD芯片就可以,不一定是近紅外波段的NIR系列芯片。 另外,如果有人
    發表于 02-21 17:15

    TLK2201的數據端口對應不齊是怎么回事?

    這個片子我選擇的是unframed模式,輸入的端口0-9的數據不一定是對應在輸出端口0-9輸出。而是在上電后,輸入輸出端口0-9是隨機循環對應的。即有可能輸入端9-0對應輸出端0,9-1;或輸入
    發表于 02-07 07:29

    養成良好的編程習慣|堆內存初值不一定是0

    ;} 代碼很簡單,使用 malloc 申請段堆內存,假設內存空間足夠大。 通過 getchar 配合 while 循環,從標準輸入獲取個字符串,直到遇到換行符結束。 最后就是把獲取的字符串輸出。 乍看,好像程序沒什么問題。
    的頭像 發表于 12-18 09:14 ?288次閱讀

    TLV320AIC3104在沒有輸入聲音的時候,采集出來的信號底噪大小不一樣,差異比較大是為什么?

    我們使用aic3104碰到以下問題,在沒有輸入聲音的時候,采集出來的信號底噪大小不一樣,差異比較大。 客戶那邊的測試情況是這樣。
    發表于 10-10 06:18

    兩種形式電路咪頭拾音的信號大小不一樣,為什么?

    如上圖所示,兩種形式電路,用示波器測試,相同條件下測得咪頭的信號大小不一樣,請問是為什么呢?下面那種情況咪頭信號大。
    發表于 09-20 08:23

    請問下LM3433中Vadj是不是一定是需要大于0.3V?

    請問下LM3433中Vadj是不是一定是需要大于0.3V,如果Vadj的電壓小于0.3V,比如Vadj=0.25V,那么Vsense是等于0.3/16.667還是0.25/16.667?謝謝!
    發表于 09-04 06:16

    用的PGA309和24LC16BE,校準完成之后零點輸出4mA,讀取eeprom的值發現程序的標志位變了,為什么?

    發現程序的標志位變了,原來正確的值應為5449,更改之后的值就不一定是什么值了,請問有沒有遇見過同樣的問題,可能產生這種情況的原因在哪啊?
    發表于 08-19 08:30

    LM723可調電路PCB板

    此板不一定與LM723可調電路相同,謹慎下載
    發表于 07-17 13:02 ?2次下載

    3pinM8插座成型不良的原因

    德索工程師說道原材料的質量是影響3pinM8插座成型質量的重要因素之。首先,原材料的顆粒大小不一致、顆粒含有雜質、顆粒顏色不一致等問題,都可能導致成型品的尺寸精度、表面質量和強度不符合要求。例如,顆粒
    的頭像 發表于 06-12 14:32 ?390次閱讀
    3pinM8插座成型不良的原因

    求助,ESP-IDF4.0.1和ESP-IDF-4.3是否要做遷移?

    模組內部外掛的SPI FLASH大小不一致,那么程序是不是兼容的,即原來的.bin文件是否可以直接燒錄進去跑?是否因為FLASH大小不一致,需要重新配置和編譯; 目前經過試驗是不行,同樣的程序,老版
    發表于 06-07 07:18

    在USB中的MaxPktSize的幾個問題求解

    MaxPktSize的大小不一樣會影響它的速率嗎? 其次,這個MaxPktSize的大小的改變不是配置符里面固定了么?我在固件中看到的速度只有三個,64512 、1024,這個16384是怎么來的呢?我應該如何更改這個MaxPktSize呢謝謝?
    發表于 05-29 06:40

    大模型體機是在“賣盒子”嗎?

    大模型不一定要捆綁硬件來凸顯價值,但一定要結合硬件來充分釋放價值
    的頭像 發表于 05-15 09:55 ?2156次閱讀
    大模型<b class='flag-5'>一</b>體機是在“賣盒子”嗎?

    深度論證-高速走線控制100歐姆阻抗一定是最好的選擇嗎?

    分走線如果沒有明確協議規定,那就按100歐姆來控制。很多工程師其實都不一定很清楚的知道內在的理論和原因,但是也會潛意識的控制100歐姆,可見100歐姆差分線這個觀念是多么的深入人心! 但是,深入人心
    發表于 05-13 17:12

    stm8s207s8t6c這個型號有沒有can接口?

    ,原來看的stm8s207s8t6c與stm8s208s8t6c區別是eeprom的大小不一樣,現在eeprom大小一樣,但是can不一樣了?
    發表于 05-07 07:08

    鋰電池和電芯有什么區別,為什么他們的大小不一

    鋰電池和電芯在日常語境中經常被互換使用,但從技術角度來看,它們指代的是電池技術中的不同概念和組件。
    的頭像 發表于 04-25 17:20 ?4094次閱讀

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 久久亚洲电影www电影网 | 久久草这里全是精品香蕉频线观 | 亚洲午夜一区二区电影院 | 网友自拍成人在线视频 | 秋霞成人午夜鲁丝一区二区三区 | 日本夜爽爽一区二区三区 | 蜜桃日本MV免费观看 | 伦理79电影网在线观看 | 4438全国免费观看 | 在线观看黄色小说 | 青青热久久综合网伊人 | 中文字幕在线视频网站 | 99精品电影一区二区免费看 | 色戒在线完整观看在线播放版 | 久久免费视频1 | 亚洲色欲色欲WWW在线成人网 | 国产伦精品一区二区三区免费观看 | 美女被爆羞羞天美传媒 | 高清不卡伦理电影在线观看 | 成人片在线播放 | 超碰97视频在线观看 | 性夜夜春夜夜爽AA片A | BL文库好大粗黑强强肉NP | 成年性生交大片免费看 | 久久99精品AV99果冻 | 116美女写真午夜电影z | 少妇内射视频播放舔大片 | 午夜在线视频国产极品片 | 寂寞夜晚免费观看视频 | 国产一区二区三区内射高清 | yellow在线观看免费观看大全 | 成人a毛片久久免费播放 | 亚洲欧美日韩高清中文在线 | 亚洲男人97色综合久久久 | 精品精品国产yyy5857香蕉 | 一本道的mv中文字幕 | 日韩亚洲中文欧美在线 | 中文字幕在线不卡日本v二区 | 91区国产福利在线观看午夜 | 欧美人禽Zozo动人物杂交 | 办公室韩国电影免费完整版 |