AI 推理

  • AI 推理 > 最佳实践 > DeepSeek R1 蒸馏模型 GPU 主机部署教程

    DeepSeek R1 蒸馏模型 GPU 主机部署教程

    最近更新时间: 2025-02-11 23:32:44

    引言

    DeepSeek R1 是一款基于深度学习技术的先进模型,广泛应用于图像识别、自然语言处理等领域。为了提升模型推理效率,模型蒸馏技术被引入,将大型教师模型的知识迁移到更轻量化的学生模型 R1 上。本教程将详细介绍如何在七牛云 GPU 主机上高效部署 DeepSeek R1 蒸馏模型,并提供最佳实践建议。

    一、环境准备

    通过【七牛云市场】购买【专用云服务器】,您可以根据下方模型列表选购您所需要的云服务器。

    模型名称 模型大小 显存推荐 GPU推荐 主机型号推荐 适用场景
    DeepSeek-R1-Distill-Qwen-7B 5GB 8GB+ P4 8GB GPU计算型 gn5i 本地开发测试(中小型企业)
    中等复杂度 NLP 任务(文本摘要、翻译)
    轻量级多轮对话系统
    DeepSeek-R1-Distill-Llama-8B 5GB 8GB+ P4 8GB GPU计算型 gn5i 本地开发测试(中小型企业)
    中等复杂度 NLP 任务(文本摘要、翻译)
    轻量级多轮对话系统
    DeepSeek-R1-Distill-Qwen-14B 9GB 16GB+ P100 16GB
    T4 16GB
    GPU计算型 gn5
    GPU计算型 gn6i
    企业级复杂任务(合同分析、报告生成)
    长文本理解与生成(书籍/论文辅助写作)
    DeepSeek-R1-Distill-Qwen-32B 20GB 24GB+ P100 16GB *2
    T4 16GB *2
    GPU计算型 gn5
    GPU计算型 gn6i
    高精度专业领域任务(医疗/法律咨询)
    多模态任务预处理(需结合其他框架)
    DeepSeek-R1-Distill-Llama-70B 43GB 48GB+ P100 16GB * 4
    A10 24GB * 2
    GPU计算型 gn5
    GPU计算型 gn7i
    科研机构/大型企业(金融预测、大规模数据分析)
    高复杂度生成任务(创意写作、算法设计)
    DeepSeek-R1-671B
    (全参1.73bit量化)
    158GB 200GB+ V100 32GB * 8
    H20 96GB * 8
    H20 48GB * 8
    A100 80GB * 8
    GPU计算型 gn6e
    GPU计算型 gn8v
    GPU计算型 gn8i
    GPU计算型 A100
    全参数
    全能力
    全场景

    专属 GPU 主机限时优惠:立即前往活动页领取购买

    二、模型部署

    七牛云提供一键 docker(推荐)、ollama、vllm 部署,您可以根据需求部署 DeepSeek 7B / 8B / 14B / 32B / 70B 以及满血 671B 版本

    方式一、使用 docker 一键部署(推荐)

    # 镜像打开后 等待脚本自动下载、配置模型即可
    
    #7B模型
    docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek7b_ollama_lite:0.1.0
    
    #8B模型
    docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek8b_ollama_lite:0.1.0
    
    #14B模型
    docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek14b_ollama_lite:0.1.0
    
    #32B模型
    docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek32b_ollama_lite:0.1.0
    
    #70B模型
    docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek70b_ollama_lite:0.1.0
    

    方式二、使用 ollama 部署

    #STEP 1 安装ollama
    curl -fsSL https://ollama.com/install.sh | sh
    
    #STEP 2 运行模型
    ollama run deepseek-r1:8b
    # 执行命令后自动下载模型(4GB左右)
    # 查看ollama日志:
    journalctl -u ollama --no-pager
    # 或访问本地API
    curl -X POST http://127.0.0.1:11434/api/generate -d '{"model":"deepseek-r1:8b", "prompt": "hello"}'
    

    方式三、使用 vLLM 部署(多并发需求)

    #STEP 1 安装vLLM
    pip install vllm
    
    
    #STEP 2 模型下载
    # hfd下载方式:https://hf-mirror.com/
    bash hfd.sh deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --local-dir deepseekr1-distill-32B --exclude "*git*" "README.md" "figures" "LICENSE"
    
    
    #STEP 3 运行vllm服务
    cd MODEL/PATH/TO/DEEPSEEK/ 
    vllm serve deepseekr1-distill-32B --tensor-parallel-size 4 --max-model-len 32768 --enforce-eager --api-key deepseek-d-32B 
    
    
    #STEP 4 使用姿势
    # http 请求方式
    curl http://10.34.52.205:8000/v1/chat/completions \  # http://10.34.52.205:8000: 部署服务的ip地址与端口
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer deepseek-d-32B" \  # 根据--api-key参数值修改
        -d '{
            "model": "deepseekr1-distill-32B",  # 根据serve 后的 参数值修改
            "messages": [
                {"role": "system", "content": "You are a helpful assistant."},  # ai扮演的角色
                {"role": "user", "content": "Who won the world series in 2020?"}  # 提问的问题
            ]
        }'
    
    # python调用方式
    from openai import OpenAI
     
    # Modify OpenAI's API key and API base to use vLLM's API server.
    openai_api_key = "deepseek-d-32B" # 根据--api-key参数值修改
    openai_api_base = "http://10.34.52.205:8000/v1"   # 部署服务的ip地址与端口
    client = OpenAI(
        api_key=openai_api_key,
        base_url=openai_api_base,
    )
    chat_response = client.chat.completions.create(
        model="deepseekr1-distill-32B", # 根据--api-key参数值修改
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Tell me a joke."},
        ]
    )
    print("Chat response:", chat_response)
    

    DeepSeek-R1 满血 671B 全参数推理模型部署

    方式一、使用 docker 一键部署(推荐)

    # 镜像打开后 等待脚本自动下载、配置模型即可
    docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek_ollama_lite:0.2.0
    

    方式二、使用 ollama 部署

    # 1.通过脚本hfd.sh从国内huggingface镜像模下载型
    wget https://algorithm.qnaigc.com/DeepSeek/hfd.sh
        bash hfd.sh unsloth/DeepSeek-R1-GGUF --include "DeepSeek-R1-UD-IQ1_M" --tool aria2c -x 8
     
     
    # 2.安装llama.cpp用于模型合并
        下载zip压缩包:https://github.com/ggerganov/llama.cpp/archive/refs/heads/master.zip
        解压并命名为llama.cpp:mv llama.cpp-master llama.cpp
        执行如下指令:
        apt-get update
        apt-get install build-essential cmake curl libcurl4-openssl-dev -y
        cmake llama.cpp -B llama.cpp/build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
        cmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split
        cp llama.cpp/build/bin/llama-* llama.cpp
        合并模型:./llama.cpp/llama-gguf-split --merge ${PATH-TO-MODEL}/DeepSeek-R1-UD-IQ1_M-00001-of-00004.gguf DeepSeek-R1-UD-IQ1_M.gguf
         
    # 3.安装ollama用于模型运行
        curl -fsSL https://ollama.com/install.sh | sh
        (可能上面因为网络原因会失败,多尝试几次)
     
     
    # 4.编辑模型描述文件
        创建文件:vim DeepSeekQ1_Modelfile
        描述文件需要填写模型存放的路径,内容如下;
        FROM ${PATH-TO-MODEL}/DeepSeek-R1-UD-IQ1_M.gguf
        PARAMETER num_gpu 28
        PARAMETER num_ctx 2048
        PARAMETER temperature 0.6
        TEMPLATE "<|User|>{{ .Prompt }}<|Assistant|>"
     
     
    # 5.创建 ollama 模型
        ollama会创建一个新模型,且大小与原始模型一样,如果/usr/路径下空间不足,
        可以手动指定存储路径:vim /etc/systemd/system/ollama.service
        Environment="OLLAMA_MODELS=/disk5/ollama/model"
        配置完成后需要重启:
        sudo systemctl daemon-reload
        sudo systemctl restart ollama
        /usr/local/bin/ollama create DeepSeek-R1-UD-IQ1_M -f ${PATH-TO-MODEL}/DeepSeekQ1_Modelfile
     
     
    # 6.运行模型
        ollama run DeepSeek-R1-UD-IQ1_M --verbose
        查看ollama日志:journalctl -u ollama --no-pager
     
     
    # 7.本地API
        curl -X POST http://127.0.0.1:11434/api/generate -d '{"model":"DeepSeek-R1-UD-IQ1_M", "prompt": "helllo"}'
    

    三、最佳实践

    1. 优化模型推理速度:

    • 使用 TensorRT 或 ONNX Runtime 等工具对模型进行加速。

    • 使用混合精度推理提升推理速度,七牛云提供的 DeepSeek 蒸馏模型,采用 FP16 + FP32 混合精度计算,减少显存占用并提高运算效率。

    • 优化模型输入输出数据格式,减少数据传输时间。

    2. 提高模型推理精度:

    • 使用更高质量的蒸馏数据集训练模型,可参考七牛云 DeepSeek r1 蒸馏版。

    • 调整模型超参数,例如学习率、batch size 等。

    • 使用数据增强技术提升模型泛化能力。

    3. 监控模型运行状态:

    • 使用 GPU 监控工具 (例如 nvidia-smi) 监控 GPU 使用率、内存占用等指标。

    • 使用日志记录工具记录模型推理过程中的关键信息。

    4. 确保模型安全性:

    • 对模型文件进行加密处理,防止模型泄露。

    • 对模型输入数据进行合法性校验,防止恶意攻击。

    四、总结

    本教程详细介绍了七牛云 DeepSeek R1 蒸馏模型在 GPU 主机上的部署流程,并提供了最佳实践建议。通过遵循本教程,您可以高效地部署 R1 模型,并充分发挥其性能优势。

    五、附录

    相关链接:

    以上内容是否对您有帮助?
  • Qvm free helper
    Close