大模型系列课程学习-基于Vllm/Ollama/Ktransformers完成Deepseek推理服务部署

1.机器配置及实验说明

基于前期搭建的双卡机器装机教程,配置如下:

硬件名称参数备注
CPUE5-2680V42 *2(线程28个)
GPU2080TI-22G 双卡魔改卡
系统WSL Unbuntu 22.04.5 LTS虚拟机

本轮实验目的:基于VLLM/Ollama/ktransformers框架完成Deepseek大模型私有化部署,了解如何搭建大模型推理服务。

2.大模型推理框架介绍及实战

2.1 推理框架介绍

目前大模型推理框架主要包含VLLM/SGLang/ollama/ktransformer等框架,如下是各个框架的介绍:

  • VLLM:是UC Berkeley大佬Ion Stoica组开源的大模型推理引擎。其在2023.6.20首次发布,为了实现快速推理,经过特别优化,具有高服务吞吐量,使用pagedAttention的有效注意力内存管理。连续批处理和优化的CUDA内核,此外还支持各种解码算法、张量并行和流式输出,支持huggingface模型格式,提供兼容OpenAI的API接口官网链接
    在这里插入图片描述

  • SGLang:是一个对标vLLM的大语言模型推理框架, 系统的整体架构如下图,分为前端和后端。 前端是对调用大语言模型的一些常用操作的抽象,提供一系列原语。 后端是具体的对推理过程的优化。 SGLang的两点主要的优化是RadixAttention和Structured output。在此基础之上,作为大模型推理的基础框架, 后续也有很多其他的系统优化工作是在SGLang框架上的。官网链接
    在这里插入图片描述

  • ollama:是一个简明易用的本地大模型运行框架,只需一条命令即可在本地跑大模型。开源项目,专注于开发和部署先进的大型语言模型(LLM)官网链接,支持guff模型格式
    在这里插入图片描述

  • KTransfomers:是一个由清华大学KVAV.AI团队开发的开源项目,旨在优化大语言模型(LLM)的推理性能,特别是在有限显存资源下运行大型模型。支持huggingface模型格式和guff的格式。
    在这里插入图片描述

2.2 VLLM部署Deepseek大模型

为了方便快速部署,本轮实验采用Deepseek蒸馏模型(DeepSeek-R1-Distill-Qwen-1.5B),可以从huggingface社区或者modelscope进行下载
步骤一:模型下载

  • 国外下载链接:https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B/tree/main
  • 国内下载链接:https://hf-mirror.com/deepseek-ai
  • git方式下载:
git clone https://hf-mirror.com/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

步骤二:安装VLLM
需要注意的是,安装vllm有比较多的依赖,例如torch环境、cuda版本等
(1)nvcc -V 版本和nvidia-smi版本保持一致:
在这里插入图片描述
驱动报错:
在这里插入图片描述
cmake报错:

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5c66a146185f4ad8947bc6b1c0c827a3.png)

(2)torch版本依赖:安装vllm之前,虚拟环境中一定要有pytorch环境,否则会报错,这里建议部署的时候,新建环境,python和torch都安装最新版本,出错概率会小一些,否则会报如下错误:
```python
 Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-sa81j1_y/xformers_5701c77d28094ba6bffdabe8c9ba5779/setup.py", line 24, in <module>
          import torch
      ModuleNotFoundError: No module named 'torch'

【错误分析】环境中未安装pytorch,按照驱动版本安装相应pytorch版本即可:
在这里插入图片描述
有时候还会遇到如下错误:

Please install it with "pip install transformers[torch]'

在这里插入图片描述
【错误解析】python的版本较老,对于一些新的模型不兼容,建议重建虚拟环境进行最新版本安装
(3)Xformer版本的依赖

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
torchvision 0.20.1+cu124 requires torch==2.5.1, but you have torch 2.6.0 which is incompatible.

【错误解析】Xformer版本与torch有强烈依赖关系,安装之前需要下载对应版本
在这里插入图片描述
对应关系可以参考xfomers官网链接
(4)安装VLLM
在这里插入图片描述
步骤三:配置模型,启动服务
(1)配置启动模型及配置sh 脚本

#启动时需要将注释内容删除,且对空格比较敏感
python -m vllm.entrypoints.openai.api_server \
--model /mnt/e/NLP/deepseek/DeepSeek-R1-Distill-Qwen-1.5B \  #模型存放绝对路径
--served-model-name deepseek-qwen-1.5b \ # 配置的服务名称
--dtype=half \ #精度
--tensor-parallel-size 1 \ # 并行tensor
--max-model-len 1000 \ #最大模型长度
--trust-remote-code \ 
--gpu-memory-utilization 0.9 #gpu的利用率

(2)启动脚本 sh start.sh
在这里插入图片描述
在这里插入图片描述
模型占用显存:
在这里插入图片描述

(3)调用模型服务:

curl -X POST "http://localhost:8000/v1/chat/completions"      -H "Content-Type: application/json"     --data '{
                "model": "deepseek-qwen-1.5b",
                "messages": [
                        {
                                "role": "user",
                                "content": "你是谁?"
                        }
                ]
        }'

返回结果
在这里插入图片描述

2.3 ollama部署Deepseek大模型

步骤一:下载ollama
(1)网络下载:
curl -fsSL https://ollama.com/install.sh -o ollama_install.sh
在这里插入图片描述
(2)安装ollama
在这里插入图片描述
在这里插入图片描述
步骤二:下载Deepseek模型

ollama run deepseek-r1:1.5b

在这里插入图片描述
步骤三:模型测试
在这里插入图片描述

2.4 Ktransformer部署Deepseek大模型

步骤一:克隆仓库

git clone https://github.com/kvcache-ai/ktransformers.git

在这里插入图片描述

步骤二:安装ktransfomers库

 pip install  KTransformers -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplesome-package

步骤三:启动模型

ktransformers --type transformers --model_path /mnt/e/NLP/deepseek/DeepSeek-R1-Distill-Qwen-1.5B

在这里插入图片描述
在这里插入图片描述
步骤四:测试模型接口

curl -X POST "http://localhost:10002/v1/chat/completions"      -H "Content-Type: application/json"     --data '{
                "model": "deepseek-qwen-1.5b",
                "messages": [
                        {
                                "role": "user",
                                "content": "你是谁?"
                        }
                ]
        }'

返回结果:
在这里插入图片描述

### DeepSeek 私有化部指南 #### 一、概述 DeepSeek 是一种先进的开源大型语言模型 (LLM),支持多种场景下的应用开发。为了满足不同用户的个性化需求,北京大学发布的《DeepSeek私有化部和一体机》报告提供了详细的部方法和技术细节[^1]。 #### 二、个人用户部方式 对于希望在本地环境中运行 DeepSeek 的个人用户,可以通过以下方式进行部- **硬件配置推荐**: 报告中提到,针对不同的模型大小和个人用途,需配备相应的 GPU 或 CPU 资源。例如,较小规模的模型可以在单张 NVIDIA RTX 3090 显卡上顺利运行,而更大规模的模型则可能需要多张 A100 显卡的支持[^2]。 - **工具链介绍**: - 使用 Ollama 命令行工具完成基础环境搭建。通过简单的几条命令即可快速启动服务。 ```bash ollama install deepseek/7b ollama run --model=deepseek/7b ``` - 配合 Open WebUI 和 Chatbox 工具进一步提升用户体验,允许更直观地与模型互动并调整参数设置。 - **常见问题解决**: 如果遇到显存不足等问题,可以尝试启用动态量化技术来减少内存占用;或者降低批量处理尺寸(batch size)以适应现有设备条件。 #### 三、企业级解决方案 面向企业的 DeepSeek 私有化部更加复杂但也更为灵活,通常涉及以下几个方面: - **高性能计算平台构建** 利用 Transformers 库验证模型效果的同时引入 vLLM 提升推理效率。具体来说就是先加载预训练权重文件再微调至特定任务之上。 - **专业推理服务器设计思路** 结合实际测试数据表明,在大规模生产环境下采用专用推理架构能够显著提高吞吐量和服务稳定性。比如选用具备高带宽互联特性的集群节点作为核心组件之一。 - **成本控制措施** 推荐使用 Unsloth R1 动态量化模块以及其他轻量化框架(如 llama.cpp, KTransformersOllama 自身功能扩展版本)实现资源节约目标而不牺牲太多精度表现。 #### 四、行业定制实例分析 – 医疗领域 AI 助手创建流程 除了通用说明外,《如何利用 DeepSeek 打造医疗领域专属 AI 助手?》文章还特别强调了垂直行业的实践案例[^3]: - 设定清晰的目标群体画像及其痛点描述; - 收集整理高质量语料库用于后续迁移学习过程; - 经过多轮迭代优化最终形成贴合业务逻辑的产品形态。 --- ### 总结 无论是个体开发者还是商业机构都可以依据上述资料找到适合自己的实施路径。值得注意的是整个过程中始终要关注最新研究成果进展以便及时更新升级所使用的算法框架等内容^.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值