我们实验室有2套环境
一套:4070ti。安装了cuda12.4
一套:3张4090.安装了cuda12.4
现在开始给第一套装能运行unsloth能运行的环境
第一步:开始创建虚拟环境
conda create -n test_env python=3.11
第二步:进入虚拟环境
conda activate test_env
第三步:直接开始下载unsloth
根据官方说的,这样很多依赖比如torch、transformers直接能用到最新的依赖
pip install unsloth
好了,第一套装好了
开始装4090的,也是cuda12.4
跟第一个相同操作,唯一不同虚拟环境名字改一下,我这里不规范,大家规范一下
第一步:开始创建虚拟环境
conda create -n unsloth-myenvs python=3.11
第二步:进入虚拟环境
conda activate unsloth-myenvs
第三步:直接开始下载unsloth
根据官方说的,这样很多依赖比如torch、transformers直接能用到最新的依赖
pip install unsloth
同样进行运行微调程序
搞笑的来了,他喵Transformers版本高了,对4090支持不好,会报错
ValueError: Pointer argument (at 2) cannot be accessed from Triton (cpu tensor?)
0%| | 0/200 [00:01<?, ?it/s]
降下版本,先看看Transformers有哪些版本
先看看4.48.3可以否
直接一手pip install transformers==4.48.3
不行,同样的错误,我就感觉很纳闷,我看unsloth和这个transformers版本关系看到有个关联
unsloth-zoo 2025.3.8 requires transformers!=4.47.0,>=4.46.1
那直接试了试pip install transformers= =4.46.3
到现在我终于明白,unsloth为了增加grop的功能、以及加速功能,很多驱动版本都对应不上
总结总结
能不装cuda12.4就别装,最好12.1很多驱动没跟上
能先用稳定版就用稳定版,最新bug太多
不单单和transformers有关,还和Triton这个新加的并行加速也有关
祝用unsloth的兄弟们好运