從零開始的ChatGLM教程(三點一)
寫在前面
本文中所有的內(nèi)容僅供參考,本人并不對任何產(chǎn)生的后續(xù)問題負(fù)任何責(zé)任。
本篇文章是臨時決定加進(jìn)來的內(nèi)容,原因是在上一篇文章下有人留言想要詢問M40的具體效率,由于到寫這篇文章為止,我還沒有一個假期來真正地訓(xùn)練用于ChatGLM的Lora,因此我只能夠先用推理速度以及第三方的數(shù)據(jù)來源來進(jìn)行比較。等我有機(jī)會親自訓(xùn)練后會補(bǔ)充上相關(guān)的內(nèi)容。

由于要評估專業(yè)卡的性能,評估一張也是評估,評估一堆也是評估,因此我把我所知道的所有數(shù)據(jù)都整理出來寫在下面。
我們先來看一位大佬對于M40,P40,3090的評估,在訓(xùn)練StyleGan類對抗生成模型,占用顯存15G,核心100%滿載,不使用混合精度加速的環(huán)境下。平均每訓(xùn)練1000次,3090耗時107秒,P40耗時245秒,M40耗時346秒。時間比為:RTX 3090 為 1X,P40 為 2.3X,M40 為 3.2X。(數(shù)據(jù)來源:https://huaweicloud.csdn.net/63803005dacf622b8df86653.html)
如果以上的數(shù)據(jù)不夠直觀,那么我說說我的使用感受:
在使用ChatGLM fp16無量化版本下,短對話可以事先在秒級內(nèi)答復(fù),但如果需要進(jìn)行大量文字輸出或者進(jìn)行如編程等復(fù)雜邏輯運算則大概需要幾十秒左右。整體速度雖然不快但能夠保持在一個可以接受的水平下。P40的速度要更快一些,短對話幾乎能實現(xiàn)即時問答,長對話的時間也相對于M40要更快。
在使用其他生成類AI的環(huán)境下,P40的速度也更加優(yōu)于M40。但參考到目前P40小黃魚1200左右的價格,在性價比方面還是請各位靈活選擇。

除了運算速度之外,關(guān)于顯存使用率
首先,你的電腦會有一個專用GPU內(nèi)存,一個共享GPU內(nèi)存,前者是你顯卡自帶的顯存,后者是你的專用GPU內(nèi)存加上可分配的內(nèi)存用作顯存的大小。例如我的GPU顯存是24G,我的內(nèi)存是16G,我的共享GPU內(nèi)存為32G。雖然聽起來很美好,但很可惜,共享GPU內(nèi)存并不能被用于加載模型,至少目前不行。(順便一提,有的游戲是可以的,據(jù)我所知星際公民這款游戲就允許使用共享GPU內(nèi)存)
在啟動模型的時候會需要消耗一部分的顯存空間加載模型,fp16無量化下需要的顯存空間為12G。在每次的對話過程中,均需要消耗0.2G到0.3G的顯存空間。因此你的剩余顯存容量會直接決定你的模型能夠?qū)υ挼幕睾蠑?shù)。關(guān)于這個問題的解決方法,我在此引用B站用戶:“swindle的書包”在一鍵包視頻下的評論:
在up給的項目文件里找到webui.py這個文件,打開并搜索model.chat,這個函數(shù)里的參數(shù)history保存著歷史對話,這使ai能理解上下文,但也是顯存不斷增加的原因。我們可以通過讓history只保存n次歷史會話(n就是你在正常使用時能進(jìn)行會話的最大次數(shù)),實現(xiàn)盡可能多的保留上下文能力的同時,不爆顯存。
以上,就是我所知道的關(guān)于訓(xùn)練卡的顯存與效率的內(nèi)容,請各位在選擇訓(xùn)練卡的時候自行斟酌,歡迎更多大佬在評論區(qū)留言自己的訓(xùn)練顯卡與使用情況。

本文中如有錯誤或疏漏,歡迎私信我或在下方評論區(qū)留言,我會修正或補(bǔ)充
*補(bǔ)充了有關(guān)顯存使用率的說明(2023.4.14)