> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# DeepSeek-R1 671B本地运行指南
- URL: https://www.hubwiz.com/blog/deepseek-r1-671b-local-run-guide/
- Published: 2025-02-04T01:52:54.000Z
- Updated: 2025-02-04T01:52:54.000Z
- Description: 原始的 DeepSeek R1 是一个 6710 亿参数的语言模型，由 Unsloth AI 团队进行了动态量化，大小减少了 80%（从 720 GB 减少到 131 GB），同时保持了强大的性能。
- Author: admin
- Tags: MODEL-ZOO, DEEPSEEKR1, UNSLOTH, LLAMA.CPP, #Import 2026-10-14 14:41

原始的 DeepSeek R1 是一个 6710 亿参数的语言模型，由 Unsloth AI 团队进行了动态量化，大小减少了 80%（从 720 GB 减少到 131 GB），同时保持了强大的性能。当添加模型卸载时，该模型可以在 24GB VRAM 下以低令牌/秒的推理速度运行。

> 为什么大小对大型语言模型很重要

大型语言模型本质上需要大量存储和计算资源。为所有参数保持全精度表示（通常为 FP16 或 FP32）变得不切实际，尤其是对于局部推理，因为它需要内存。量化（减少权重表示的位宽）通过大幅减少模型大小和内存占用提供了一种解决方案。然而，整个网络的简单、统一的量化可能会导致严重的性能下降，表现为不稳定的输出或重复的 token 生成。

> 动态量化：一种量身定制的方法

Unsloth AI 团队的方法涉及动态量化，其中根据不同网络组件的敏感度分配可变位精度。关键技术见解包括：

- 选择性精度分配：初始密集层和向下投影（down\_proj）矩阵对于设置稳定的表示和管理 SwiGLU 激活中的缩放属性至关重要，它们保持在更高的精度（4 位或 6 位）。相反，大部分参数（主要是混合专家 (MoE) 层中的参数，约占模型的 88%）被积极量化为 1.5-2 位。
- 重要性矩阵校准：在量化过程中加入重要性矩阵允许该方法动态调整每层的精度水平。此校准可防止常见的陷阱，例如通常由均匀量化引起的无限循环或无意义的输出。
- 层特定的敏感性分析：技术评估表明，虽然 MoE 层可以容忍较低的精度，但注意机制、嵌入层和最终输出头等组件需要更多位来保留激活分布。这种细致入微的策略可确保计算图中的关键路径保持足够的保真度。

## 1、量化模型变体和性能

Unsloth AI 发布了多个动态量化变体，每个变体都平衡了模型大小和输出质量：

![](https://www.hubwiz.com/blog/content/images/2025/02/image-54.png)

例如，在受控测试中，模型的任务是生成 Flappy Bird 游戏的 Python 实现，即使是最小的 1.58 位变体也能保持实质性的功能。相比之下，所有层的统一量化会导致重复输出或完全无法生成连贯的代码。

## 2、本地部署 DeepSeek R1

动态量化模型旨在在常见的推理引擎（如 llama.cpp）上运行，它支持 Unsloth AI 版本使用的 GGUF 文件格式。以下是部署过程的概述：

### 2.1 构建推理引擎

在启用 GPU 支持的情况下克隆和编译 llama.cpp：

```
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
cmake . -B build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split
```

### 2.2 下载模型

使用 Hugging Face Hub 检索所需的模型变体：

```
from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="unsloth/DeepSeek-R1-GGUF",
    local_dir="DeepSeek-R1-GGUF",
    allow_patterns=["*UD-IQ1_S*"],  # For the 1.58-bit version
)
```

### 2.3 GPU 卸载注意事项

![](https://www.hubwiz.com/blog/content/images/2025/02/image-55.png)

根据可用的 VRAM，使用以下命令确定要卸载到 GPU 的层数：

```
n_offload = floor((GPU_VRAM_GB / Model_FileSize_GB) * (Total_Layers - 4))
```

使用类似以下命令执行模型运行推理：

```
./build/bin/llama-cli \
    --model DeepSeek-R1-GGUF/DeepSeek-R1-UD-IQ1_S/DeepSeek-R1-UD-IQ1_S-00001-of-00003.gguf \
    --cache-type-k q4_0 \
    --threads 16 \
    --prio 2 \
    --temp 0.6 \
    --ctx-size 8192 \
    --seed 3407 \
    --n-gpu-layers 7 \
    -no-cnv \
    --prompt "<|User|>Create a Flappy Bird game in Python.<|Assistant|>"
```

## 3、我的经验

我想亲自尝试一下这种动态量化。为了测试该模型，我在 VastAI 上租用了一个 80 GB 的 GPU，每小时仅需 2.7 美元。考虑到原始模型的庞大规模，我对量化版本的性能和效率非常满意。以下是我进行的一些示例测试：

### 3.1 Flappy Bird 游戏生成

该模型成功生成了经典 Flappy Bird 游戏的 Python 实现。尽管激进量化存在一些典型的小问题，但核心功能完好，代码只需进行少量修改即可运行。

![](https://www.hubwiz.com/blog/content/images/2025/02/image-57.png)

此演示来自 unsloth.ai，但我使用 1.58bit 版本获得了类似的结果

### 3.2 运动检测

![](https://www.hubwiz.com/blog/content/images/2025/02/image-58.png)

### 4、常见陷阱和技术考虑

- 标记化细微差别：

注意特殊标记（例如，<|User|>、<|Assistant|>、<|begin\_of\_sentence|>、<|end\_of\_sentence|>）。处理不当可能会导致 BOS 标记重复或 EOS 屏蔽错误等问题。

- 参数敏感性：

有时，动态量化可能会在长序列中产生孤立的错误标记。调整推理参数（例如 min\_p）（例如，调整为 0.1 或 0.05）可以帮助缓解这些细微差异。

## 5、结束语

Unsloth AI 对 DeepSeek R1 的动态量化体现了模型压缩技术的重大进步。通过在各个网络层之间智能地分配位精度，此方法保留了基本的计算保真度，同时将模型的存储空间减少了多达 80%。这意味着最先进的大型语言模型现在更容易访问，从而能够在以前不足的硬件上进行实验和部署。

如果你有兴趣进一步探索这一点，我鼓励你查看[ Hugging Face 上的模型](https://huggingface.co/unsloth/DeepSeek-R1-GGUF?ref=hubwiz.com)和 [llama.cpp的GitHub 存储库](https://github.com/ggerganov/llama.cpp?ref=hubwiz.com)。也请查看他们的原始文章：[运行 DeepSeek-R1 Dynamic 1.58 位](https://unsloth.ai/blog/deepseekr1-dynamic?ref=hubwiz.com)

---

原文链接：[DeepSeek R1 in 24GB GPU : Dynamic Quantization by Unsloth AI for a 671B-Parameter Model](https://medium.com/@sonamshrish1618/deepseek-r1-in-24gb-gpu-dynamic-quantization-by-unsloth-ai-for-a-671b-parameter-model-6b0cf85f9065?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处