4*A100 部署 deepseek-r1-671B

embedded/2025/2/26 14:15:50/

671B_0">部署deepseek-r1-671B

使用 4*A100 部署 deepseek-r1-671b-1.58bit 大模型。

环境

  • ubuntu22.04LTS
  • cuda 12.2.0

要求

  • 内存: 256GB及以上
  • 显存: 256GB及以上(160G可以跑起来,但对于长上下文容易oom),这里是A100 80G * 4

vllm

CUDA_VISIBLE_DEVICES=0,1,2,3 /data/miniconda3/envs/llm_py311-8/bin/python -m vllm.entrypoints.openai.api_server \
--port 8001 --served-model-name Qwen2-7B-Instruct \
--model /your/671B/model/path.gguf

失败,提示错误:

python3.11/site-packages/transformers/modeling_gguf_pytorch_utils.py", line 399, in load_gguf_checkpointraise ValueError(f"GGUF model with architecture {architecture} is not supported yet.")
ValueError: GGUF model with architecture deepseek2 is not supported yet.

github上面看到vllm暂不支持deepseek-r1-671B,有各种问题,暂时放弃

llama.cpp

准备阶段

cuda需要12.0及以上,我的cuda版本是12.2.0(用docker了),我在11.5上面编译失败(可能和GPU的驱动编译方式有关,没细研究),GPU 是 A100 * 4

模型下载参考:https://www.ollama.com/SIGJNF/deepseek-r1-671b-1.58bit
或者下载:https://hf-mirror.com/unsloth/DeepSeek-R1-GGUF/tree/main/DeepSeek-R1-UD-IQ1_M

  • 拉取容器
    docker pull nvcr.io/nvidia/cuda:12.2.0-cudnn8-devel-ubuntu22.04 # 可能网络会有点问题

  • 运行容器

    docker run -it -d --name  llama_cpp --gpus all \-v /data/work/Star/.ollama/:/work/ollama/ \-v /data/work/Star/llama.cpp:/work/llama.cpp/ \-p 28000:8000 \-p 27860:7860 \-e TZ='Asia/Shanghai' \nvcr.io/nvidia/cuda:12.2.0-cudnn8-devel-ubuntu22.04
    
  • 进入容器
    docker exec -it llama_cpp env LANG=C.UTF-8 /bin/bash

##拉取代码
git clone https://github.com/ggml-org/llama.cpp

编译GPU版本

cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j16

运行服务

cd build/bin/
CUDA_VISIBLE_DEVICES=0,1,2,3  ./llama-server \
-m /path_to_model.gguf \
--port 7860 \
--cache-type-k q4_0  --threads 64  --prio 2  --temp 0.6 \
--ctx-size 8192 \
--seed 3407 \
--n-gpu-layers 1600

或者:

CUDA_VISIBLE_DEVICES=0,1,2,3 ./llama-server \
-m /path_to_model.gguf \
--port 7860 \
--host 0.0.0.0 \
-c 16384 \
-np 4 \
--n-gpu-layers 15000

更多参数配置参考:
https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md

并发测试

5个并发:

curl --request POST     --url http://localhost:17861/completion     --header "Content-Type: application/json"     --data '{"prompt": "Building a website can be done in 10 simple steps:","n_predict": 12}' &
curl --request POST     --url http://localhost:17861/completion     --header "Content-Type: application/json"     --data '{"prompt": "Building a website can be done in 10 simple steps:","n_predict": 102}' &
curl --request POST     --url http://localhost:17861/completion     --header "Content-Type: application/json"     --data '{"prompt": "Building a website can be done in 10 simple steps:","n_predict": 112}' &
curl --request POST     --url http://localhost:17861/completion     --header "Content-Type: application/json"     --data '{"prompt": "Building a website can be done in 10 simple steps:","n_predict": 42}' &
curl --request POST     --url http://localhost:17861/completion     --header "Content-Type: application/json"     --data '{"prompt": "Building a website can be done in 10 simple steps:","n_predict": 32}' &

这里测试了不同输入长度及上下文长度。

参考

  1. https://github.com/ggml-org/llama.cpp
  2. https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md
  3. https://hf-mirror.com/unsloth/DeepSeek-R1-GGUF
  4. https://www.ollama.com/SIGJNF/deepseek-r1-671b-1.58bit

http://www.ppmy.cn/embedded/167280.html

相关文章

嵌入式硬件篇---阶跃函数冲激函数

文章目录 前言一、阶跃函数(Unit Step Function)1.定义2.数学定义3.性质时移性质与其他信号的乘积积分与微分 4.应用场景系统测试信号建模构建复杂信号 二、冲激函数(Dirac Delta Function)1.定义2.性质抽样性质缩放性质与阶跃函数…

网络层(IP)

基本概念 子网和局域网是一个概念主机: 配有 IP 地址, 也能进行路由控制的设备;路由器: 即配有 IP 地址, 又能进行路由控制;节点: 路由器和主机的统称。 背景 两主机并不是直接连接的,路径选择问题?为什么? 由网络层&#xff08…

order by 布尔盲注与时间盲注

背景:因为order by ,limit无法使用预编译,所以有可能存在sql注入漏洞 以靶场第46关为例子 用python布尔盲注 import requests from lxml import htmldef get_id_one(URL,paload):res requests.get(urlURL,paramspaload)tree html.fromst…

【形式化】Coq 中的函数式编程基础(长文)

引言 函数式编程风格建立在简单且日常的数学直觉之上:如果一个程序或方法没有副作用,那么(忽略效率问题)我们只需要了解它如何将输入映射到输出——也就是说,我们可以把它看作是计算一个数学函数的具体方法。这就是“…

ubuntu 20.04系统离线安装nfs

前提 OS:ubuntu 20.04 LTS 1,下载对应安装包 下载地址: https://ubuntu.pkgs.org/20.04/ubuntu-updates-main-amd64/nfs-common_1.3.4-2.5ubuntu3.7_amd64.deb.html 也可以采用我整理好的资源: https://download.csdn.net/download/m0_624…

“零信任+AI”将持续激发网络安全领域技术创新活力

根据Forrester的报告,到2025年,AI软件市场规模将从2021年的330亿美元增长到640亿美元,网络安全将成为AI支出增长最快的细分市场。当前,零信任供应侧企业已经开始尝试使用AI赋能零信任,未来,零信任与AI的结合…

【MySQL | 四、 表的基本查询(增删查改)】

目录 表的增删查改Create(创建)表数据的插入替换 Retrieve(读取)1. 全列查询2. 指定列查询3. 表达式查询4.为查询结果指定别名5.去重查询 WHERE 条件查询排序筛选分页查询 Update(更新) Delete(删除)删除整张表数据 插入查询结果聚合函数group byhaving和where的区别1. 作用范围…

JavaAPI(lambda表达式、流式编程)

Lambda表达式 本质上就是匿名内部类的简写方式(匿名内部类见:JAVA面向对象3(抽象类、接口、内部类、枚举)-CSDN博客) 该表达式只能作用于函数式接口,函数式接口就是只有一个抽象方法的接口。 可以使用注解…