llama2 70B mindie推理開箱報(bào)錯(cuò)問題

這周支撐了一個(gè)llama2 70B MindIE開箱推理報(bào)錯(cuò)的問題,給大家分享一下。

1. 背景

事情是這樣,開發(fā)者搞了一臺昇騰800I A2服務(wù)器,這個(gè)服務(wù)器的配置是8卡,每個(gè)卡顯存是32G。他想用MindIE跑一下llama2 70B的推理,測一下性能,結(jié)果報(bào)了2個(gè)錯(cuò),1個(gè)是NPU out of memory,一個(gè)是not support modelName。
開發(fā)者就很納悶了,說我直接用你們的代碼跑的,啥也沒改,咋就不行呢?作為DR,我當(dāng)然不能坐視不管,立馬和開發(fā)者開始了交流。

2. 分析

開發(fā)者很配合,提供了他的日志,我仔細(xì)看了一下,out of memory是在0卡和1卡上加載權(quán)重的時(shí)候發(fā)生的,not support modelName是在其他卡上發(fā)生的。我估算了一下,70B模型,分到8卡上,每個(gè)卡加載權(quán)重頂多用140G/8<20G,32G肯定夠夠的呀!至于not support modelName,一般就是模型調(diào)用的算子和算子庫里面的算子名字沒對上導(dǎo)致的,由于mindie 大模型推理使用的是ATB庫,所以我推測是MindIE和ATB版本沒對上。分析完后,心理差不多有底了,為了趕時(shí)間,而且對方是咱的VIP客戶,就直接約開發(fā)者開騰訊會議了。

3. 實(shí)操

上了會,我說,你再復(fù)現(xiàn)給我看一下。在他啟動之前,我說,執(zhí)行npu-smi info看一下有沒有卡被占用,結(jié)果看到,0卡和1卡的顯存被占得滿滿的,但開發(fā)者還是想繼續(xù)啟動任務(wù)。。。我說,停停!你這卡被占著呢,咋跑?先釋放掉。開發(fā)者哦了一聲,把占用顯存的進(jìn)程kill掉了。果然,啟動之后沒有out of memory了,只剩下not support modelName的錯(cuò)誤了。
我說,我看看你的CANN版本和MindIE版本以及ATB版本。開發(fā)者是在docker里面跑的,所以以docker里面的/usr/local/Ascend里面的版本為準(zhǔn)。看了一下,CANN和MindIE版本沒有問題,但是ATB的版本他沒有使用MindIE鏡像里面自帶的,而是自己下載了一個(gè)新版本的,我問為什么?他說,這個(gè)版本的測試用例可以多傳一個(gè)參數(shù)。好吧,我說你把ATB版本換成MindIE自帶的試試。結(jié)果換回去后,成功跑起來了。

4. 總結(jié)

所以,不管是幫忙他人排查問題,還是自己排查問題,先從基本的檢查開始,先檢查卡有沒有被占用,有的話就kill掉(如果是別人的任務(wù),先知會一下哈)!其次,不要自己隨意組合版本,否則會因?yàn)榻?jīng)驗(yàn)不足卡在莫名其妙的問題上。當(dāng)然,也可以從產(chǎn)品本身出發(fā),做得更好用一些,比如說,報(bào)錯(cuò)信息里面給出一些解決問題的提示、增加版本不匹配提示等等。好用的產(chǎn)品需要精雕細(xì)琢,任重而道遠(yuǎn)!

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容