[NLP]LLM 訓練時GPU顯存耗用量估計

以LLM中最常見的Adam + fp16混合精度訓練為例,分析其顯存占用有以下四個部分:

?

?

?

?

GPT-2含有1.5B個參數,如果用fp16格式,只需要1.5G*2Byte=3GB顯存, 但是模型狀態實際上需要耗費1.5B*16=24GB.

比如說有一個模型參數量是1M,在一般的深度學習框架中(比如說PyTorch),一般是32位存儲。32位存儲的意思就是1個參數用32個bit來存儲。那么這個擁有1M參數量的模型所需要的存儲空間的大小即為:1M * 32 bit = 32Mb =?1M * 4Byte =??4MB。因為1 Byte = 8 bit。現在的quantization技術就是減少參數量所占的位數:比如我用16位存儲,那么:所需要的存儲空間的大小即為:1M * 16 bit = 16Mb = 2MB。

結論如下:

  • 不考慮Activation,3090的模型容量上限是 24/16=1.5B,A100的模型容量上限是 80/16=5B
    • 假設訓練的過程中batchsize恒定為1,也即盡最大可能減少Activation在顯存中的占用比例,使得我們的理論計算值16Φ更接近真實的顯存占用,那么24G的3090的模型容量上限是1.5B(差不多是GPT-2的水平),80G的A100的模型容量上限是5B
  • 考慮Activation,3090的模型容量上限是 0.75B,A100的容量上限是 2.5B
    • batchsize為1的訓練效率非常低,batchsize大于1才能充分發揮GPU的效率,此時Activation變得不可忽略。經驗之談,一般需要給Activation預留一半的顯存空間(比如3090預留12G,A100預留40G),此時3090的模型容量上限是0.75B,A100的容量上限是2.5B,我們實際測試結果接近這個值
    • 激活在訓練中會消耗大量的顯存。一個具體的例子,模型為1.5B的GPT-2,序列長度為1K,batch size為32,則消耗顯存為60GB。
  • [1B, 5B] 是目前市面上大多數GPU卡的分水嶺區間
    • [0, 1B) 市面上絕大多數卡都可以直接硬train一發
    • [1B, 5B] 大多數卡在這個區間的某個值上觸發模型容量上限,具體觸發值和顯存大小有關
    • (5B, ~) 目前沒有卡能裸訓

LLM Training GPU顯存耗用量估計 - 知乎 (zhihu.com)?

[深度學習]大模型訓練之框架篇-DeepSpeed_奇思聞影的舒克與貝克的博客-CSDN博客

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38122.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

什么是前端框架?怎么學習? - 易智編譯EaseEditing

前端框架是一種用于開發Web應用程序界面的工具集合,它提供了一系列預定義的代碼和結構,以簡化開發過程并提高效率。 前端框架通常包括HTML、CSS和JavaScript的庫和工具,用于構建交互式、動態和響應式的用戶界面。 學習前端框架可以讓您更高效…

nginx的負載均衡

nginx的負載均衡 文章目錄 nginx的負載均衡1.以多臺虛擬機作服務器1.1 在不同的虛擬機上安裝httpd服務1.2 在不同虛擬機所構建的服務端的默認路徑下創建不同標識的文件1.3 使用windows本機的瀏覽器分別訪問3臺服務器的地址 2.在新的一臺虛擬機上配置nginx實現反向代理以及負載均…

使用element UI 的el-upload上傳圖片并攜帶參數的用法

直接看代碼&#xff1a;前端實現 <div class"upload"><el-uploadclass"upload-demo"name"upload_name":data"{user_name:user_name}"action"http://localhost:8000/api/deal_pest_Image":show-file-list"fal…

vb+sql汽車配件管理系統設計與實現

摘 要 目前汽車配件銷售企業大多數在其連鎖店的管理還是手工進行,隨著汽車配件行業的迅速發展,手工管理的種種弊端暴露無疑,給銷售企業的發展帶來了不必要的麻煩。為了規范企業內部管理,提高企業業務管理水平,更好的為客戶服務,應采用計算機來管理汽車配件的進銷存業務。…

【Sklearn】基于樸素貝葉斯算法的數據分類預測(Excel可直接替換數據)

【Sklearn】基于樸素貝葉斯算法的數據分類預測(Excel可直接替換數據) 1.模型原理2.模型參數3.文件結構4.Excel數據5.下載地址6.完整代碼7.運行結果1.模型原理 模型原理: 樸素貝葉斯分類是基于貝葉斯定理的一種分類方法。它假設特征之間相互獨立(樸素性),從而簡化計算過…

01|Java中常見錯誤或不清楚

補充&#xff1a;length vs length() vs size() 1 java中的length屬性是針對數組說的,比如說你聲明了一個數組,想知道這個數組的長度則用到了length這個屬性. 2 java中的length()方法是針對字符串String說的,如果想看這個字符串的長度則用到length()這個方法. 3.java中的siz…

【Vue-Router】命名視圖

命名視圖 同時 (同級) 展示多個視圖&#xff0c;而不是嵌套展示&#xff0c;例如創建一個布局&#xff0c;有 sidebar (側導航) 和 main (主內容) 兩個視圖&#xff0c;這個時候命名視圖就派上用場了。 可以在界面中擁有多個單獨命名的視圖&#xff0c;而不是只有一個單獨的出…

Python獲取、修改主機名稱和IP地址實踐

Python獲取、修改主機名稱和IP地址的方法有多種&#xff0c;內置socket模塊、執行系統命令、第三方模塊等等&#xff0c;本文只是完成功能的一次成功的實踐。 1. 獲取、修改主機名稱 本案例使用python的socket模塊獲取、修改主機名稱&#xff0c;socket模塊是一個用于實現網絡…

UML-A 卷-知識考卷

UML-A 卷-知識考卷 UML有多少種圖&#xff0c;請列出每種圖的名字&#xff1a; 常用的幾種UML圖&#xff1a; 類圖&#xff08;Class Diagram&#xff09;&#xff1a;類圖是描述類、接口、關聯關系和繼承關系的圖形化表示。它展示了系統中各個類之間的靜態結構和關系。時序…

TFRecords詳解

內容目錄 TFRecords 是什么序列化(Serialization)tf.data 圖像序列化&#xff08;Serializing Images)tf.Example函數封裝 小結 TFRecords 是什么 TPU擁有八個核心&#xff0c;充當八個獨立的工作單元。我們可以通過將數據集分成多個文件或分片&#xff08;shards&#xff09;…

2023年7月京東洗衣機行業品牌銷售排行榜(京東數據分析軟件)

2023年上半年&#xff0c;洗衣機市場表現平淡&#xff0c;同環比來看出貨量都有一定程度的下滑。7月份&#xff0c;洗衣機市場仍未改變這一下滑態勢。 根據鯨參謀電商數據分析平臺的相關數據顯示&#xff0c;7月份&#xff0c;京東平臺洗衣機的銷量為109萬&#xff0c;環比下降…

web圖書管理系統Servlet+JSP+javabean+MySQL圖書商城圖書館 源代碼

本項目為前幾天收費幫學妹做的一個項目&#xff0c;Java EE JSP項目&#xff0c;在工作環境中基本使用不到&#xff0c;但是很多學校把這個當作編程入門的項目來做&#xff0c;故分享出本項目供初學者參考。 一、項目描述 web圖書管理系統ServletJSPjavabeanMySQL 系統有1權限…

Golang 程序性能優化利器 PGO 詳解(二):收集樣本數據和編譯

在軟件開發過程中&#xff0c;性能優化是不可或缺的一部分。無論是在Web服務、數據處理系統還是實時通信中&#xff0c;良好的性能都是至關重要的。Golang 從1.20版版本開始引入的 Profile Guided Optimization&#xff08;PGO&#xff09;機制能夠幫助更好地優化 Go 程序的性能…

【Centos】系統信息

CPU相關 # 如何查看linux系統和CPU型號&#xff0c;類型和大小 cat /proc/cpuinfo# 總核數 物理CPU個數 X 每顆物理CPU的核數 # 總邏輯CPU數 物理CPU個數 X 每顆物理CPU的核數 X 超線程數# 查看物理CPU個數 cat /proc/cpuinfo| grep "physical id"| sort| uniq| …

ChatGPT能代替搜索引擎嗎?ChatGPT和搜索引擎有什么區別?

ChatGPT和搜索引擎是兩種在信息獲取和交流中常用的工具&#xff0c;ChatGPT是一種基于人工智能技術的聊天機器人&#xff0c;而搜索引擎是一種在互聯網上搜索信息的工具。盡管它們都是依托互聯網與信息獲取和交流有關&#xff0c;部分功能重合&#xff0c;但在很多方面存在著明…

2023年7月京東美妝護膚品小樣行業數據分析(京東數據挖掘)

如今&#xff0c;消費者更加謹慎&#xff0c;消費決策也更加理性。在這一消費環境下&#xff0c;美妝護膚市場中&#xff0c;面對動輒幾百上千的化妝品&#xff0c;小樣或體驗裝無疑能夠降低消費者的試錯成本。由此&#xff0c;這門生意也一直備受關注。 并且&#xff0c;小樣…

git stash使用

假設你當前正在分支A上開發一個功能&#xff0c;并修改了一些代碼&#xff0c;運行git stash save "修改描述XXX"來保存當前工作目錄的更改到stash。 然后你可以切換到其它分支(比如分支B)進行其它任務。 當你回到分支A時&#xff0c;想恢復原來的開發狀態&#xf…

rman備份有效性 restore preview validate

注意&#xff1a; 驗證命令并不會真正執行&#xff0c;所以可以減去異機測試等的麻煩&#xff0c;但是 restore database validate 驗證速度會很慢。 alert.log 會記錄 2023-08-14T18:45:07.51463208:00Restore from backup piece XXX 如果希望查看RMAN使用那個集來執行特定的恢…

.NET 6.0 重啟 IIS 進程池

在 .NET 6.0 中&#xff0c;你可以使用 Microsoft.Web.Administration 命名空間提供的 API 來管理 IIS 進程池并實現重啟操作。以下是一個示例代碼&#xff0c;展示如何使用 .NET 6.0 中的 Microsoft.Web.Administration 來重啟 IIS 進程池&#xff1a; using Microsoft.Web.A…

交融動畫學習

學習抖音&#xff1a; 渡一前端教科頻道 利用 filter 的屬性實現交融效果 變成 讓后利用這個效果實現一個功能 實現代碼&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><style>* {margin: 0;…