CUDA+torch+flash-attn安裝
微調(diào)全家桶: CUDA+torch+flash-attn安裝
之前安裝環(huán)境一般只針對安裝torch、pandas這種常用包,沒有自己從頭到尾來過。近期因為有微調(diào)需求,服務器需要安裝flash-attn,對環(huán)境要求比較苛刻。折騰了好半天,將經(jīng)驗總結(jié)出來分享。其中包括cuda、nvcc、torch、flash-attn等。
CUDA
我們所說的CUDA實際上指的是**cuda-toolkit**,是一整個完整的包,包含了cuda、nvcc等工具,但可能由于前人偷懶,沒有裝好toolkit,那么你就用不了nvcc工具(flash-attn必須要有nvcc工具)。你可以先輸入nvcc -V查看你有沒有安裝完整的toolkit,如果輸出了對應版本信息,則可以跳過本章去下一章。
如果沒有輸出相關信息,建議/use/local/cuda-*/bin中去檢查一下有沒有nvcc這個可執(zhí)行文件。因為可能你已經(jīng)安裝了toolkit,但是并沒有把安裝文件夾放入環(huán)境變量中,導致系統(tǒng)無法識別到。這里的cuda-*是因為/use/local/下可能存在多個cuda開頭的文件夾,這一般是因為有前人安裝了cuda ,建議逐個檢查。
CUDA安裝前,記得去nvidia-smi檢查一下顯卡驅(qū)動所支持的最高CUDA版本。nvidia-smi上看到的CUDA Version是能支持的最高cuda版本,而不是目前已有的cuda版本。假設你的/usr/local中存在著cuda-11.8的文件夾,只要cuda-11.8不超過你GPU的最高支持版本,那么你可以只去安裝cuda-11.8的toolkit,不需要再按照最高的版本來選擇。(你想升級的話當然也可以)

選擇你剛剛看到的cuda版本。你也可以選擇更低版本的信息,穩(wěn)定性會好些 cuda下載:https://developer.nvidia.com/cuda-toolkit-archive
按照你的環(huán)境來選擇,最后一步installer type我選擇runfile
下載后,使用sudo bash ./cuda_12.0.0************linux.run 來運行這個文件(這里要寫好你自己的包名)。運行后:

輸入accept后:

這一步需要仔細點!看看你到底有沒有提前預裝好dirver(如果能使用nvidia-smi那么就裝好了)
安裝過了:不要安裝第一個,并且這里的cuda tool kit和上面提到的/use/local/cuda-*的最高版本要一致;
沒有安裝:選擇第一個和第二個,然后install
等你安裝完成后,重新打開終端,此時應該可以使用nvcc了。
如果還是不能,回到/usr/local/下找到你剛剛安裝的版本,進去bin文件夾。例如,如果你安裝了12.0版本的cuda文件,那么應該會有一個/usr/local/cuda-12.0/bin ,進去后執(zhí)行./nvcc -V看看有沒有輸出內(nèi)容(一般會彈出nvcc版本信息,如果提示command not found,或者no such file,則代表安裝失?。H绻鸼in文件夾中沒有nvcc文件沒有說明你安裝失敗了,或者你自己選擇安裝到了其他文件夾地址(按照我的教程的話是不會的,這個選項在Options中)。
如果有的話,把你當前的文件夾目錄(在我的例子中,是:/usr/local/cuda-12.0/bin)加入到環(huán)境變量中
torch torch下載:https://pytorch.org/get-started/previous-versions/
pytorch的版本安裝比較玄學,版本低了可能torch找不到對應的gpu,太高了當然也安裝不上。
我的cuda為12.1,選擇了2.5.3版本的torch。具體的torch版本可以在這里找到對找關系:Previous PyTorch Versions | PyTorch。
安裝分為有cuda和沒有cuda兩種方式,沒有cuda的話需要使用pip以及對應的pytorch官方index。但這個index國內(nèi)環(huán)境連接很慢,可以在這個鏈接里找到解決方式:https://docs.infini-ai.com/posts/download-pytorch-from-mirror.html
flash-attn
flash-attn的安裝速度很慢,因為它需要根據(jù)你的環(huán)境進行編譯,在安裝前,最好安裝ninja ,可加速編譯。不推薦直接使用uv或者pip來安裝,你可以從https://github.com/Dao-AILab/flash-attention/releases?page=1這里找到flash-attn的包,注意,需要找到對應cuda、torch、python版本的flash-attn。雖然很麻煩,但能夠彌補你使用pip安裝的時間。
例如,我的cuda是12.1,torch是2.5.3,python是3.11版本,我選擇了下面版本的flash-attn:

如果你能夠訪問github ,wget下載+pip install下載好的包名即可。不能訪問的話,只能點擊名字下載wheel文件,再進行上傳到服務器,然后pip install。
- 這里的包建議也不要選擇太高版本的,選擇最低的、能夠適配你的服務器環(huán)境的包即可
這樣就結(jié)束了
————————————————
版權聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
原文鏈接:https://blog.csdn.net/weixin_45404652/article/details/147739794


浙公網(wǎng)安備 33010602011771號