关于RTX 4090 微调llama2模型时出现nvcc fatal : Unsupported gpu architecture 'compute_89'的解决办法

RTX 4090是现在普通人可以轻松获取的最好的显卡了。运算速度仅次于专业图形卡Tesla A100,A800,H100

RTX4090显卡是可以单卡推理llama2 7b和13b模型的,7b模型占用缓存14G左右,13b模型单卡推理显存占用在23G多点(只是运行一段时间容易爆显存),所以普通人都是可以使用llama2大语言模型。

RTX 4090单卡推理llama-2-13b-chat-hf

因为llama2在训练的时候,中文语料较少,加上没有针对中文做专门的训练,导致不能使用中文来回答,

这时候需要使用大量中文语料对llama2进行微调。

但是rtx 4090在微调时容易出现如下报错:

nvcc fatal : Unsupported gpu architecture 'compute_89'

ninja: build stopped: subcommand failed.

AttributeError: 'DeepSpeedCPUAdam' object has no attribute 'ds_opt_adam'

原因是conda环境下cuda编译器nvcc不支持compute_89导致安装失败,运行项目的requirement.txt安装环境往往会默认安装低版本的cuda环境。

可以在conda环境下使用nvcc --list-gpu-arch来查看

如果没有compute_89(nvcc --version版本是11.5或者以下),就需要重新安装cuda和nvcc

ubuntu22.04为例,依次运行一下代码:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin 
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda-repo-ubuntu2204-12-2-local_12.2.0-535.54.03-1_amd64.deb 
sudo dpkg -i cuda-repo-ubuntu2204-12-2-local_12.2.0-535.54.03-1_amd64.deb 
sudo cp /var/cuda-repo-ubuntu2204-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/ 
sudo apt-get update 
sudo apt-get -y install cuda

安装完成后,可以查看cuda 12.2版本安装位置

sudo find / -name cuda-12.2

一般在/usr/local/cuda-12.2下

修改.bashrc

vim ~/.bashrc

增加新cuda环境变量

export CUDA_HOME=/usr/local/cuda-12.2 
export PATH=/usr/local/cuda-12.2/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH

更新环境变量

source ~/.bashrc

再次查看nvcc --list-gpu-arch是否有compute_89

如果没有的话,可以用which nvcc查看nvcc目录

which nvcc

如果nvcc目录不是/usr/local/cuda-12.2 ,需要重新配置,先备份下原环境,然后重新配置

sudo mv /usr/bin/nvcc /usr/bin/nvcc.bak 
sudo ln -s /usr/local/cuda-12.2/bin/nvcc /usr/bin/nvcc

这样就可以了。

posted @   jasonzhangxianrong  阅读(569)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
历史上的今天:
2022-09-11 基于进化计算的灰箱模型辨识
点击右上角即可分享
微信分享提示