我们前面在4070笔记本上完成了vLLM环境的部署(桌面显卡RTX4070安装Ubuntu系统部署vLLM环境),电脑型号为机械革命极光X,处理器为12th Gen Intel(R) Core(TM) i7-12800HX,24核心;搭配32 GB(DDR5@4800 MHz)运行内存,500 GB系统盘(NVMe);显卡型号RTX4070,8 GB显存(8188MiB)。
已经安装好了Ubuntu 22.04 LTS系统,vLLM的当前最高版本为0.7.4,自动安装的版本为0.7.3;对应的,我们安装了显卡驱动的550.144.03版本,PyTorch的2.5.1版本,CUDA的12.4版本,cuDNN的9.8版本。
按照之前的经验(目前来看,ollama量化过的DeepSeek模型应该就是最具性价比的选择),8 GB显存要以BF16或FP16方式运行模型,也就只能跑一下1.5B模型,本次我们就以DeepSeek-R1:1.5b来演示一下。
正常来讲,官方建议通过huggingface来下载镜像,但是在国内更推荐使用ModelScope。模型文件链接如下:
https://www.modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B/files
开始之前,确认我们已经进入了虚拟环境。
source /root/deepseek/vllm_env/bin/activate
在下载模型之前,需要先通过如下命令安装ModelScope。
apt install python3-pip -y
pip install modelscope
然后下载完整模型库。
modelscope download –model deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B –local_dir /root/deepseek/
然后,我们使用vLLM启动模型服务:
vllm serve /root/deepseek \
–trust-remote-code \
–tensor-parallel-size 1 \
–max-model-len 4096 \
–gpu-memory-utilization 0.9 \
–served-model-name deepseek-1.5b \
–port 8000 \
–host 0.0.0.0
此时,vLLM进程会独占一个终端。
如果需要在后台运行,可以使用nohup命令搭配&使程序在后台运行,防止进程因终端关闭而终止,适合长期稳定运行的场景。
nohup vllm serve /root/deepseek \
–trust-remote-code \
–tensor-parallel-size 1 \
–max-model-len 4096 \
–gpu-memory-utilization 0.9 \
–served-model-name deepseek-1.5b \
–port 8000 \
–host 0.0.0.0 > vllm.log 2>&1 &
或者直接新开一个终端重新连接,方便观察运行情况。
根据模型的配置文件config.json中的torch_dtype字段,我们可以看到,DeepSeek模型明确指定模型精度为bfloat16(BF16)。
此时的显存占用为6248 MB,比ollama使用FP16精度运行的1.5B模型的3661 MB显存占用更高。
在启动时,我们通过–gpu-memory-utilization设置了显存占用比例,推荐范围为0.8-0.95;如果计算能力不足,还可以使用–dtype参数调整模型精度,如设置为half强制使用float16精度;而使用–trust-remote-code则允许加载自定义模型代码。还可以使用–max-num-batched-tokens参数设置单次请求的最大token处理量,通过–max-num-seqs参数设置并行请求数。
vLLM模型启动后,我们可以查看端口状态观察是否启动成功。
或者使用API接口发送测试请求:
curl http://localhost:8000/v1/completions \
-H “Content-Type: application/json” \
-d ‘{“model”: “deepseek-1.5b”, “prompt”: “Hello!”, “max_tokens”: 200}’
确认模型可用之后,我们开始部署AnythingLLM。AnythingLLM支持运行在桌面环境或者服务器环境,我们前面介绍了在桌面环境的安装与运行(用Anything LLM来一场关于SD-WAN的开卷考试,DeepSeek-R1和QwQ谁更胜一筹?)。当在服务器环境中时,目前仅支持运行在Docker环境中。
首先,确认安装了Docker环境(Ubuntu 22.04.4安装Docker引擎)。
apt install docker.io -y
然后,拉取AnythingLLM镜像。
docker pull mintplexlabs/anythingllm
接下来,我们创建一个AnythingLLM的存储目录并赋予权限,再手工创建一个配置文件。
mkdir anythingllm
cd anythingllm
touch .env
chmod 777 /root/deepseek/anythingllm -R
接下来,我们就可以启动AnythingLLM的Docker容器了。
docker run -d \
–network host \
–name anythingllm \
–cap-add SYS_ADMIN \
-p 3001:3001 \
-v /root/deepseek/anythingllm:/app/server/storage \
-v /root/deepseek/anythingllm/.env:/app/server/.env \
-e STORAGE_DIR=”/app/server/storage” \
mintplexlabs/anythingllm:latest
AnythingLLM的Docker容器启动后,我们可以查看端口状态观察是否启动成功。
启动成功之后,我们就可以通过浏览器访问AnythingLLM的WEB管理页面了(http://192.168.1.222:3001)。
点击【开始】之后,我们开始配置LLM偏好,本次,我们选择【Local AI】,并在Local AI Base URL处填入http://192.168.1.222:8000/v1,这样系统就能自动识别到存在的模型,再从Chat Model Selection选择对应的模型就可以了。
对于企业用户而言,用户设置界面可以选择【我的团队】使用此实例。此时,我们将创建一个管理员账号,配置完成后,我们就可以创建和邀请其他人成为用户或管理员了。
数据处理与隐私页面。
跳过AnythingLLM调查。
创建我们的第一个工作区并开始使用AnythingLLM。
进入到工作区中,我们先简单提问一个问题。
确实快,输出速率达到了69.57 tok/s。
然后我们尝试使用FP16精度重新运行一下DeepSeek-R1模型。
nohup vllm serve /root/deepseek \
–trust-remote-code \
–dtype half \
–tensor-parallel-size 1 \
–max-model-len 4096 \
–gpu-memory-utilization 0.9 \
–served-model-name deepseek-1.5b \
–port 8000 \
–host 0.0.0.0 > vllm.log 2>&1 &
此时的显存占用仍为6248 MB。
重新提问一下。
可以看到,相同的问题,DeepSeek认为再次提问是输出不够详细,需要更详细的回答。
从结果来看,输出速率变化不大,但是输出时长多了一倍多。
对应的,我们切换到Windows系统,还是使用AnythingLLM调用通过ollama运行的FP16量化的DeepSeek-R1:1.5b模型,用相同的问题再测试一下。
从长度和速率而言,跟第一次效果差不多,但是回答变成了英文回答。
要求用中文重新回答,可以看到回答的内容跟使用BF16精度时存在较大偏差。现在看来,后面可以使用AnythingLLM着手打造个人知识库了!
推荐阅读
桌面显卡RTX4070安装Ubuntu系统部署vLLM环境
DeepSeek-R1内卷把自己卷死了,QwQ模型的优势凸显出来了
简单测试一下DeepSeek和QwQ检索知识库的能力
用Anything LLM来一场关于SD-WAN的开卷考试,DeepSeek-R1和QwQ谁更胜一筹?
围观一下,QwQ真的能和DeepSeek-R1一较高下吗?
目前来看,ollama量化过的DeepSeek模型应该就是最具性价比的选择
哪怕用笔记本的4070显卡运行DeepSeek,都要比128核的CPU快得多!
帮你省20块!仅需2条命令即可通过Ollama本地部署DeepSeek-R1模型
离线文件分享了,快来抄作业,本地部署一个DeepSeek个人小助理
Ubuntu使用Tesla P4配置Anaconda+CUDA+PyTorch
Ubuntu磁盘空间不足或配置错误时,如何操作扩容?
没有图形界面,如何快速部署一个Ubuntu 24.10的Server虚拟机
openVPN不同加密算法性能对比
Debian系统配置网络的花样还是太多了
使用openVPN对比AES和SM4加密算法性能,国密好像也没那么差
安装Debian时千万不要使用网络镜像站点
OpenWrt如何配置WireGuard互联?
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/426031.html