chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取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教授做了一番研究之后,發(fā)現并非如此。

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

2的n次冪從何而來?

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

或者更準確地說,根據內存對齊規(guī)則,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字節(jié)的倍數對齊,在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大小,的確可以幫助運算更簡單并且易于管理。

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

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

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

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

但是,如果你由于內存限制而無法使用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

審核編輯 :李倩

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

    關注

    1

    文章

    445

    瀏覽量

    36032
  • 機器學習
    +關注

    關注

    66

    文章

    8550

    瀏覽量

    136802

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    EPLAN分散式端子的畫法和作用

    Eplan的分散式端子是指個端子被畫了N,但是還是同個端子;Eplan的機制是個端子畫一次
    的頭像 發(fā)表于 01-21 15:50 ?311次閱讀
    EPLAN分散式端子的畫法和作用

    通過2進行除法和取余數快捷方法優(yōu)化

    如果除法中的除數是2,我們可以更好的優(yōu)化除法。 編譯器使用移位操作來執(zhí)行除法。因此,我們需要盡可能的設置除數為2
    發(fā)表于 12-12 06:02

    不一樣的展會,不一樣的精彩 2025灣芯展圓滿收官

    ”。本屆展會人氣火爆,展期三天累計接待總量達到11.23萬人。參展企業(yè)集中發(fā)布年度新品數約2500件,新品發(fā)布與商業(yè)合作收獲頗豐。 不一樣的全“芯”布局 聚焦核心+特色雙軌賽道,產業(yè)全鏈展盡覽 2025灣芯展以“芯啟未來 智
    的頭像 發(fā)表于 10-29 16:56 ?1324次閱讀
    <b class='flag-5'>不一</b>樣的展會,<b class='flag-5'>不一</b>樣的精彩 2025灣芯展圓滿收官

    RSA加速實現思路

    N;其中(E , N)組成公鑰。 解密過程為:M = CDmodN;其中(D , N)組成私鑰。 2 關于加速操作 上述提到N
    發(fā)表于 10-28 07:28

    不一樣的展會,不一樣的精彩:2025灣芯展順利收官

    內,打造場"不一樣的展會",呈現出"不一樣的精彩"。本屆展會人氣火爆,展期三天累計接待總量達到11.23萬人。參展企業(yè)集中發(fā)布年度新品數約2500件,新品發(fā)布與商業(yè)合作收獲頗豐。
    的頭像 發(fā)表于 10-19 20:27 ?604次閱讀
    <b class='flag-5'>不一</b>樣的展會,<b class='flag-5'>不一</b>樣的精彩:2025灣芯展順利收官

    串口DMA接收方式打開,為什么在開啟IDLE中斷的情況下還需要開啟DMA中斷呢?

    戶接口rx_indicate來讀取數據,此時,串口收到的數據并不一定是完整的幀,破壞了使用IDLE中斷的意義。所以,為什么要開啟DMA中斷呢? 此處,可以看到不論是IDLE中斷還是DMA傳輸中斷,都會導致用戶回調的調用。
    發(fā)表于 09-29 08:30

    使用儀表放大器COSINA333MRA放大電壓出現BUG

    趨勢顯示,??輸入電壓越大,放大倍數會偏小??。并且,??每塊板子的誤差大小不一致??。 有沒有大佬解惑下是核心原理圖
    發(fā)表于 09-21 16:26

    如何秒級實現接口間“等”補償:款輕量級仿等數據校正處理輔助工具

    導語 本文分析了在網絡超時場景下,RPC服務調用數據致性的問題,對于接口無等、接口等失效情況下,對異常數據快速處理做了分析思考和嘗試,開發(fā)了款輕量級仿
    的頭像 發(fā)表于 09-15 16:55 ?858次閱讀
    如何秒級實現接口間“<b class='flag-5'>冪</b>等”補償:<b class='flag-5'>一</b>款輕量級仿<b class='flag-5'>冪</b>等數據校正處理輔助工具

    【「DeepSeek 核心技術揭秘」閱讀體驗】基于MOE混合專家模型的學習和思考-2

    in self.experts: expert_outputs.append(expert(x)) # 每個expert輸出是 [batch_size, output_size] # 將列表堆疊成個Tensor
    發(fā)表于 08-23 17:00

    等等黨不一定會贏,但小鵬G7一定會!

    行業(yè)資訊
    腦極體
    發(fā)布于 :2025年07月15日 15:50:41

    可靠性技術系列教材之PCB EMC設計技術

    的通路等差模電流會轉換成共模電流。 三、共模電流 大小不一定相等方向相位相同。 設備對外的干擾多以共模為主差模干擾也存在但是共模干擾強度常常比差模強度的大幾個數量級。 外來的干擾也多以共模
    發(fā)表于 07-01 16:12

    枚葉片的獨白

    我是枚發(fā)電機上的葉片。出生不久,我就開始審視自己的身體:身上滿是絕妙飄逸的曲線,身材完美豐盈,真是美的不可方物。我開始無限自戀起來。如果看下自己的體重,說實話愛上自己的身體不免有些讓人害羞,然而我迷戀的不僅是自己的美,還有各種大小不
    的頭像 發(fā)表于 05-24 08:32 ?493次閱讀
    <b class='flag-5'>一</b>枚葉片的獨白

    Denebola RDK上配置的幀大小與實際幀大小不一致是怎么回事?

    字節(jié),與預期值不一致。 eCamViewer 上的顯示問題: 使用Wireshark檢查數據傳輸,數據包已成功傳輸到主機。 但是,視頻沒有在eCamViewer上顯示,我懷疑幀和數據包大小差異(在第 1 點和第 2 點中提到)
    發(fā)表于 05-19 08:09

    求助,CY3014中CyU3PDmaChannelSetWrapUp函數的使用以及其他問題求解

    我在主任務中的FOR循環(huán)中實現了個功能: UART不定時的接收大小不一的數據,然后再通過UART傳出。 其中附件是我的代碼. 遇到的問題: 剛開始接收與發(fā)送是正常的,我發(fā)送的數據以及數據大小,再
    發(fā)表于 05-15 08:09

    cyusb3014 slave fifo模式In和Out緩存大小不一樣時,顯示錯誤怎么解決?

    cyusb3014 slave fifo 模式 In 和 Out 緩存大小設置不一樣時(比如:U2P DMA緩存16K,P2U DMA緩存1K),可以測出來實際就是設置值,但在USB
    發(fā)表于 05-13 06:55