Ubuntu22.04 +魔搭社区大模型安装

in 默认分类 with 0 comment

2025-05-22T10:27:44.png

本次实验使用ubuntu 22.04版本从魔搭社区下载Qwen2-0.5B-Instruct-AWQ部署并运行。(此处必须使用ubuntu 22.04版本,因为下面所用CUDA 12.4.0最高支持版本为ubuntu 22.04)
实验中所用机器硬件为:
(1)显卡:英伟达RTX 2080 spuer 8G ;
(2)CPU:i7-10700K;
(3)内存:40G内存;
(4)所用模型:此机器显卡配置较低,所以安装模型为小体量模型Qwen2-0.5B-Instruct-AWQ。模型链接

总过程可分为五个部分:
一、安装显卡驱动及CUDA:英伟达显卡驱动选择550版本,CUDA选择12.4.0版本,此搭配较为稳定,在真实环境中安装;
二、安装anaconda,作用为隔离环境,在真实环境中安装;
三、部署python及模型所需依赖,使用在conda中运行python版本选择3.9或3.10,需严格安装模型及魔搭社区所支持的环境版本,版本兼容性:PyTorch、CUDA、vLLM 版本需严格匹配,否则可能报错(如 xFormers 加载失败),全部操作均在虚拟环境中安装;
四、下载模型并调用,此处使用模型为Qwen2-0.5B-Instruct-AWQ,在虚拟环境中安装。
五、可能遇到的的问题

PS:以上所有操作建议使用科学上网方式进行部署。

一、安装显卡驱动及CUDA(真实环境中安装)
1.英伟达显卡驱动安装
1)如在Ubuntu图形化界面中,可在【设置】->【关于】->【软件更新】->【附加驱动】中找到【nvidia-driver550(专有)】->点击【应用更改】,当安装完成后点击【重新启动】;(此处可使用命令行方式安装,但较为复杂,此方式也可正常安装显卡驱动)
2025-05-22T10:28:18.png
2025-05-22T10:28:31.png
2)安装后可通过nvidia-smi 查看是否安装成功; (PS:下面的CUDA 是支持最高版本而不是已经安装了CUDA,此出需特别注意)

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#nvidia-smi

2025-05-22T10:28:45.png

2.CUDA安装
1)安装g++(必装,不安装后续运行CUDA安装程序将报错),gcc和make(如此下图所示)

yorick@yorick-OMEN-25L-Desktop-GT12-0xxx:~/桌面$ sudo -i
[sudo] yorick 的密码: 
root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#apt install g++
root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#apt install gcc
root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#apt install make

2025-05-22T10:29:03.png
2025-05-22T10:29:37.png

2)可使用nvidia-smi查看显卡驱动支持的CUDA,根据此为依据安装,此次实验CUDA 12.4.0链接:CUDA 12.4.0下载链接
安装时需根据所使用系统版本下载runfile,复制下面的两句命令运行(12.4.0版本最高只支持ubuntu22.04,所以系统安装时选择ubuntu22.04)
2025-05-22T10:30:11.png

wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.runsudo sh cuda_12.4.0_550.54.14_linux.run
sudo sh cuda_12.4.0_550.54.14_linux.run

运行以下命令:

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.runsudo sh cuda_12.4.0_550.54.14_linux.run

2025-05-22T10:30:25.png

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#sudo sh cuda_12.4.0_550.54.14_linux.run

2025-05-22T10:30:39.png
3)运行后将进入安装程序
点击【continue】
2025-05-22T10:30:50.png
输入【accept】
2025-05-22T10:30:57.png
将Driver(显卡驱动)取消后选择【Install】
2025-05-22T10:31:06.png
4)等待程序安装完成,完成后输入以下命令:

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#echo 'export PATH=/usr/local/cuda/bin:$PATH' | sudo tee /etc/profile.d/cuda.sh
root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#source /etc/profile

最后使用nvcc -V查看是否输出CUDA版本信息,如输出如下图所示则证明安装成功

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#nvcc -V 

2025-05-22T10:31:17.png

二、安装anaconda(真实环境中安装)
1)获取anaconda

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

2025-05-22T10:31:33.png
2)运行所下载anaconda文件,所有操作如下图所示:

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#bash Anaconda3-2024.10-1-Linux-x86_64.sh

2025-05-22T10:31:41.png
2025-05-22T10:31:48.png

PS:此处选择yes会少很多麻烦。

2025-05-22T10:31:54.png

3)PS:按照上述安装完anaconda后,当输入sudo -i进入管理员模式,将默认进入虚拟环境(base),可使用conda deactivate 退出。

yorick@yorick-OMEN-25L-Desktop-GT12-0xxx:~/桌面$ sudo -i
[sudo] yorick 的密码: 
(base)root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#conda deactivate

2025-05-22T10:32:11.png

4)从base 使用conda deactivate 退出后,创建名为yorick的虚拟环境,此虚拟环境需使用python 3.9或以上版本

yorick@yorick-OMEN-25L-Desktop-GT12-0xxx:~/桌面$ sudo -i
[sudo] yorick 的密码: 
(base)root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#conda deactivate
root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#conda create -n yorick python=3.9

2025-05-22T10:32:21.png

5)当虚拟环境创建成功后,可使用conda activate 进入虚拟环境,如可正常进入则成功,此时真实环境中的所有设置均已完成。

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#conda activate yorick
(yorick)root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#

2025-05-22T10:32:33.png

三、安装模型所需环境及依赖
1)安装PyTorch和torchvision。PyTorch是一个开源的机器学习框架,可以帮助用户构建和训练深度神经网络。torchvision是PyTorch生态系统的一部分,专门为计算机视觉研究提供支持;

root@yorick-OMEN-25L-Desktop-GT12-0xxx:~# conda activate yorick
(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~# sudo apt update
(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~# conda install pytorch torchvision   //此步所花时间较长

2025-05-22T10:32:41.png

2)安装numpy、transformers、accelerate、sentencepiece。(此步摸索时间最长,因为各个包版本不同,报错不同。根据模型安装对应版本,各个包之间版本需相互适配,不适配则在运行模型时出现报错)

这些包的组合常见于 NLP 模型训练/推理(如使用 Transformers 库加载预训练模型):
(1)numpy 用于数据预处理和数值计算;
(2)transformers 提供模型架构和预训练权重;
(3)accelerate 加速训练过程;
(4)sentencepiece 处理输入文本的分词。

(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~# pip install "numpy<2" transformers==4.39.0 accelerate sentencepiece

2025-05-22T10:32:54.png

3)bitsandbytes 是一个专注于 深度学习模型内存优化和计算加速 的 Python 库。它通过 量化技术(Quantization)和 高效矩阵运算,显著降低模型训练和推理时的显存占用,同时提升计算效率,尤其适合资源受限的场景(如单卡 GPU 运行大模型);

(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~# pip install "bitsandbytes>=0.43.0"
2025-05-22T10:33:04.png

4)安装modelsope,用于在魔搭社区拉取模型;

(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~# pip install modelscope

2025-05-22T10:33:16.png

5)‌VLLM(Very Large Language Model Inference)是一个高性能、优化显存管理的大模型推理引擎,旨在最大化推理吞吐量并降低显存消耗,使大语言模型(LLMs)在单卡或多GPU服务器上运行得更高效‌‌。

(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#  pip install vllm

2025-05-22T10:33:25.png

四、模型下载、调用和使用
1)拉取Qwen2-0.5B-Instruct-AWQ模型至指定Qwen0.5文件夹中;

(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~/models# modelscope download --model Qwen/Qwen2-0.5B-Instruct-AWQ --local_dir '/root/models/Qwen0.5'

2025-05-22T10:33:34.png

2)进入/models文件夹,使用vllm serve 运行;(请勿进入至Qwen0.5文件夹中)

(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~# cd /root/models
(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~/models# vllm serve Qwen0.5

2025-05-22T10:33:43.png
2025-05-22T10:33:56.png

3)如模型加载成功后,在虚拟环境中运行nvidia-smi则会出现模型进程

(yorick) root@yorick-OMEN-25L-Desktop-GT12-0xxx:~#nvidia-smi

2025-05-22T10:34:05.png

4)打开open-webui,点击管理员头像;
2025-05-22T10:34:14.png

5)选择【设置】->【外部连接】->点击【+】
2025-05-22T10:34:22.png

6)输入【http://ubuntu ip:端口号/v1】(端口号默认为8000),点击刷新键,如显示【已验证服务器连接】,则为成功,此时点击【保存】
2025-05-22T10:34:32.png

7)在open-webui页面中中可选此模型并谈话。
2025-05-22T10:34:41.png

五、可能会遇到的问题:
1)建议显卡驱动及CUDA选本文指定版本,此搭配是稳定版本,不是越新越好;
2)请按照安装显卡驱动后再安装CUDA的顺序。显卡驱动安装号后使用nvidia-smi中显示的CUDA version 是此显卡驱动支持的CUDA最高支持版本,而不是CUDA已安装版本,装完显卡驱动后需安装CUDA;
3)各个依赖,库和环境需互相兼容,使用稳定的版本,也不是越新越好;(此步是重中之重)
4)根据显存找模型,否则将出现显存溢出发生报错无法加载模型;
5)在此文档中,模型下载至/root/models/Qwen0.5中,此时需在/root/models 文件中运行vllm serve,而不是在/root/models/Qwen0.5中运行;
6)在使用vllm serve 启动模型时可指定端口号等信息,此处不多赘述自行搜索;
7)在open-webui中添加模型时需添加端口号,否则将提示 【OpenAI:Netword Problem】;
8)在魔搭社区选择模型时建议下载框架为【pytorch】 和 【transformers】 的模型,否则可能报错。(此说法待验证)
2025-05-23T02:25:53.png

Responses