在wsl下python3.10.16 torch2.4.0 cuda12.1 微调笔记
在wsl下python3.10.16 torch2.4.0 cuda12.1微调笔记
0.屏蔽wsl中windows的环境变量
1 | #屏蔽wsl中的windows环境变量 |
1.环境配置
1.1安装nvidia驱动,最新版即可
https://www.nvidia.cn/geforce/drivers/ ,选择自己的型号,这次安装了NVIDIA Studio 驱动程序 - WHQL
驱动程序版本: 572.60 - 发行日期: 2025-2-27
安装后运行nvidia-smi,这里在windows下安装完,wsl中也可以执行
(u2) zk@baize:~/ai$ whereis nvidia-smi
nvidia-smi: /usr/bin/nvidia-smi /usr/lib/wsl/lib/nvidia-smi /usr/share/man/man1/nvidia-smi.1.gz
1 | (u2) zk@baize:~/ai$ nvidia-smi |
1.2conda开虚拟环境
1 | conda create --name u2 \ |
1.3安装xformers 0.0.27.post1版本
1 | pip install -U xformers==0.0.27.post1 |
安装0.0.27.post1对应python310的torch版本为2.4.0,安装后cuda12.1也跟着装好了。
检查xformers情况
1 | (u2) zk@baize:~/ai$ python -m xformers.info |
这里可以看到pytorch.version: 2.4.0+cu121,build.torch_version: 2.4.0+cu121,这两个必须一致,前期安装好几次都不一致。
1.4检查cuda安装,nvcc
1 | (u2) zk@baize:~/ai$ nvcc -V |
1.5检查cuda激活
1 | (u2) zk@baize:~/ai$ python |
1.6安装unsloth
unsloth官网example,根据cuda和torch版本选择
1 | pip install "unsloth[cu121-ampere-torch240] @ git+https://github.com/unslothai/unsloth.git" |
这里要注意,有坑。找到pip install “unsloth[cu121-torch240] @ git+https://github.com/unslothai/unsloth.git"符合版本,下载过程中发现他去下载xformers-0.0.28.post1,这会把torch和cuda又改变版本,需要加参数--no-deps
1 | pip install "unsloth[cu121-torch240] @ git+https://github.com/unslothai/unsloth.git" --no-deps |
安装unsloth所需其他依赖
1 | pip install --no-deps trl peft accelerate bitsandbytes |
1.7预先编译好llama.cpp
调用gpu编译llama.cpp
1 | #官方帮助文档:https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md |
编译后,在/home/zk/ai/llama.cpp/build/bin下要有llama-quantize和llama-cli这两个主要文件。
2.微调
2.1微调主代码
这里把基础模型和数据集都改写成本地调用
1 | import os |