解决AutoDL服务器上使用LLamaFactory微调大模型cuda/pytorch/python/auto-gptq/vllm/版本冲突的问题

概要

` 使用LLamaFactory微调大模型时,很多依赖的版本关系复杂,很容易出现版本冲突的问题,这里主要涉及到cuda/pytorch/python/auto-gptq/vllm/版本的选择,我在查看了很多博客和技术资料后在autoDl上进行多个版本的组合实验,特此记录一下

一、硬件配置

采用租用云算力服务器方式:由于是基于大于1B的大模型需要硬件配置较高,租用算力服务器比如AutoDL算力云一小时也就1-2元左右,主要是图方便,当然也比自购显卡省钱.关于购买云服务网上较多教程,也不复杂,可自行购买不过每次记得要人走关机,不然会继续扣费
AutoDL服务器租用的时候一定要点"查看详情"查看一下红框内的参数选择,参数务必严格选择,若不一样一定要点击"更换"使之一样(这很重要!否则后续会很麻烦).
我选择的是:RTX4090 ,PyTorch 2.1.0 ,Python 3.10(ubuntu22.04) ,Cuda 12.1
` 提示:这里尽量选RTX4090的显卡,同样的版本我在RTX的RTX3080显卡上还是会出现版本不兼容的问题:为此我特地查了一下两个显卡的架构,RTX4090的架构采用了Ampere架构,而采用的是RTX3080Turing架构‌


二、环境配置

` 环境配置很容易出现各种版本冲突,以下是已验证的(高,低)两种组合,可以按需要取其一安装.

高配组合:尽量往高版本靠,忽略官方要求.能正常运行(推荐安装).


>        版本组合:cuda12.4/pytorch2.5.1/python3.10/auto-gptq 0.7.1/vllm0.6.5
> 
>        安装方法:
> 
>                pip install auto-gptq== 0.7.1  #一定要指定安装版本  
> 
>                pip install vllm==0.6.5# 注意:vllm安装的同时,CUDA 12.1将被自动安装覆盖为                                    12.4版本,pytorch2.1.0将被自动安装覆盖为2.5.1版本,无须理会!!!
> 
> 保守组合:均严格按照官方要求的支持的稳定版本.稳定性可能高些但性能可能低些.
>         版本组合:cuda12.1/pytorch2.1.0/python3.10/auto-gptq0.5.1/vllm0.5.4
>         安装方法: 
> 
>                pip install auto-gptq==0.5.1 #一定要指定安装版本    
> 
>                pip install vllm==0.5.4  # 注意:vllm安装的同时,CUDA 12.1和pytorch将被自
>                                                         动再安装一次,无须理会!!!

` 这样cuda /pytorch /python /auto-gptq /vllm 基本环境就安装完了,且没有任何报错.
注意:你可以在安装后检查cuda版本,建议用以下方式查看.

import torch
print(torch.__version__)

不要用nvcc –version和 nvidia-smi查看,否则你看到的版本不一样.
因为在运行PyTorch时,实际使用的CUDA版本通常是PyTorch编译时所依赖的版本。例如,PyTorch显示的版本为2.5.1+cu124,但nvcc –version显示的却是CUDA 12.1版本即即CUDA Toolkit的版本。而PyTorch在运行时并不直接依赖nvcc,而是依赖于CUDA的动态链接库。只要系统上存在与PyTorch所依赖的CUDA 12.4版本兼容的动态链接库,PyTorch就能够正常运行。
此外,nvidia-smi显示的是GPU驱动程序能支持的CUDA运行时最高版本比如12.6。只要PyTorch的运行版本小于nvidia-smi显示的版本即就ok,比如12.4。

还可以查看vllm的版本:pip show vllm 应该显示Version: 0.6.5或者0.5.4
以下是2个版本中的保守组合的依据,当然你忽略以下1,2,3,4的解释:
1、AutoDL服务器的参数

2、vLLM 中文站的资料 https://vllm.hyper.ai/docs/getting-started/installation/
3、auto-gptq官网资料(科学上网): https://blog.csdn.net/qq_42755230/article/details/144427660

4、其它资料:
auto-gptq最高支持pytorch2.2.1,cuda12.1,后来没更新了.
vllm最高支持pytorch2.5.1版本v
vLLM 包含预编译的 C++ 和 CUDA (12.1) 二进制文件 Python:3.9 – 3.12
vLLM 的二进制文件默认使用 CUDA 12.1 和公共 PyTorch 发行版本进行编译。
vLLM在v0.5.2、v0.5.3和 v0.5.3.post1中,存在由 zmq 引起的错误.

作者:设计如此

物联沃分享整理
物联沃-IOTWORD物联网 » 解决AutoDL服务器上使用LLamaFactory微调大模型cuda/pytorch/python/auto-gptq/vllm/版本冲突的问题

发表回复