anaconda
- 下载anaconda并安装
wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh
chmod +x Anaconda3-5.3.0-Linux-x86_64.sh
./Anaconda3-5.3.0-Linux-x86_64.sh
- 创建虚拟环境
可能需要先conda init一下
conda create -n py310 python=3.10
conda activate py310
配置cuda (看情况配)
查看当前cuda版本
nvcc -V
查看显卡驱动版本与对应最高cuda版本
nvidia-smi
例如:
| NVIDIA-SMI 470.223.02 Driver Version: 470.223.02 CUDA Version: 11.4 |
去官网下载对应cuda
https://developer.nvidia.com/cuda-toolkit-archive
Installer Type选runfile,得到链接:
wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
sh cuda_11.4.0_470.42.01_linux.run
sh cuda_11.4.0_470.42.01_linux.run 很慢,要等一会。
具体操作参考https://zhuanlan.zhihu.com/p/198161777
依次做:
Continue,accept, 取消除Toolkit的其它所有,进options,修改Toolkit Options:取消选定所有、Change Toolkit Install Path 修改到自己文件夹下( /home/xxx/cuda-11.4/ ),修改Library install path ( /home/xxx/cuda-11.4/ ),done,install
很慢,要等一会。
ok
下载cuDNN:https://developer.nvidia.com/cudnn-archive
https://developer.nvidia.com/rdp/cudnn-archive
下载这个cuDNN Library for Linux (x86_64)
解压:等一会
tar -zxvf cudnn-11.4-linux-x64-v8.2.4.15.tgz
解压到了cuda文件夹下。
cp到cuda-11.4下。
cp cuda/include/cudnn.h cuda-11.4/include/
cp cuda/lib64/libcudnn* cuda-11.4/lib64/
加入.bashrc,问的GPT这么加:
export PATH=~/cuda-11.4/bin:$PATH export
LD_LIBRARY_PATH=~/cuda-11.4/lib64:$LD_LIBRARY_PATH
再nvcc -V看看。
装cuda对应pytorch
https://pytorch.org/get-started/previous-versions/
直接搜cu114发现没有,试试cu113对应最新pytorch(把113改成114行不通).
先转到要安装的python环境,conda activate py310
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
测试一下:
import torch
print(torch.cuda.is_available())
print(torch.cuda.device_count())
其他包如transformers直接安应该就行。
装peft(最后安这个)
参考https://github.com/huggingface/peft/issues/207,对于低版本的pytorch(torch <=1.12.1),peft安装需要(装好了还没试能不能用):
pip install peft --no-dependencies
装bitsandbytes
pip install bitsandbytes
运行时出现问题
/site-packages/bitsandbytes/libbitsandbytes_cpu.so: undefined symbol: cquantize_blockwise_fp16_fp4
参考https://github.com/TimDettmers/bitsandbytes/issues/156
前往bitsandbytes路径
cd ....../site-packages/bitsandbytes
cp libbitsandbytes_cuda117.so libbitsandbytes_cpu.so
可能不行,试试下面方法
pip install -i https://test.pypi.org/simple/ bitsandbytes #make sure to delete this package first if you already installed another version.
rm venv_1/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda117.so
cp venv_1/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda116.so venv_1/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cpu.so
conda install cudatoolkit
我是 conda install cudatoolkit + pip install -i https://test.pypi.org/simple/ bitsandbytes
就能正常用load_in_4bit去infer,但是warning不能保存模型。
ok