Deployment of dynamic quantization deepseek-r1

no alter data available

Deployment of dynamic quantization deepseek-r1

2025/02/01

quantizationLLMdeepseek-r1

最近DeepSeek-R1热度不减,由于其API处于不可用状态,故尝试私有化部署模型,本文采用1.73-bit动态量化部署。

本文主要参考snowkylinunsloth的工作。
感谢ollama, llama.cpp, deepseek等开源产品提供支持💕。感谢autodl-privatecloudpods提供私有云平台技术支持✨。

1. 准备工作

  1. 下载unsloth量化的1.73-bit模型, 该模型使用重要性矩阵(importance matrix)来校准量化过程,以允许较低位的表示。 dynamic-quantized-ds-r1
  2. 设备要求,本文使用两张RTX4090(24GB VRAM), 32vcore(Gold 6133), 238GB RAM。Dokcer容器环境

2. ollama安装

ollama是一个本地的AI模型服务,支持多种模型,包括LLM、文本生成、图像生成等。

手动安装ollama (Manually)

Reference: Manual install

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
# The download link can be replaced with the github mirror links.
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

启动ollama

本文由于ollama安装在docker容器内,无法使用systemctl,因此使用nohup手动后台运行ollama 创建ollama启动脚本

#!/bin/bash
/usr/bin/ollama serve
/etc/ollama-start.sh

启动ollama

nohup /etc/ollama-start.sh > ollama-service.log 2>&1 &

3.安装llama.cpp

llama.cpp是一个C++库,用于使用LLaMA模型进行推理。

# 手动下载llama.cpp预构建版本(pre-built versions)
curl -L https://github.com/ggerganov/llama.cpp/releases/download/b4610/llama-b4610-bin-ubuntu-x64.zip -o llama-b4610-bin-ubuntu-x64.zip
unzip llama-b4610-bin-ubuntu-x64.zip
cd build/bin

4. 合并模型

Usellama-gguf-split suggested here

./llama-gguf-split --merge DeepSeek-R1-UD-IQ1_M-00001-of-00004.gguf DeepSeek-R1-UD-IQ1_S.gguf

To change model directory, use OLLAMA_MODELS environment variable.

5. 创建ollama模型

创建modelfile, 该文件旨在描述模型信息,便于ollama创建模型。

 FROM /root/nfs_public/models/quantization/DeepSeek-R1-UD-IQ1_S.gguf
 PARAMETER num_gpu 14
 PARAMETER num_ctx 2048
 PARAMETER temperature 0.6
 TEMPLATE "<|User|>{{ .Prompt }}<|Assistant|>"
DeepSeekQ1_Modelfile

num_gpu参数是卸载到gpu的模型层数,据参考该模型有61层, 可以将7层卸载到每个RTX 4090 GPU(24GB VRAM)。我这里将14层卸载到两个RTX 4090 GPU(24GB VRAM)。

ollama create DeepSeek-R1-UD-IQ1_S -f DeepSeekQ1_Modelfile

6. 模型部署

ollama run DeepSeek-R1-UD-IQ1_S --verbose

Chen Xingyu

Hi! I am Chen Xingyu, a Tech enthusiast, problem solver and software engineer. Currently finishing my bachelor's degree in Geographic Information Science.

Connect With Me

I have a fair amount of knowledge of Javascript, Typescript, VueJs, and Nuxt. If you have an interesting idea, either open source or paid let's connect.

Sent Mail
© 2017-2025 All Right is reserved. 🤷‍♂️ It's open source anyway.