手上剛好有幾張算力還算可以的顯卡經過一系列折騰終于完成了完整版Deepseek-r1 671B滿血版生產級的部署,本來就來詳細講一下。本人水平有限,部署過程中對各種設備、模型、網絡等內容的理解有限,還望各位高手指正。

一、準備工作

1.1 模型文件

生產級滿血版的Deepseek-r1,我們應該直奔他的原版倉庫。

  1. huggingface的Deepseek-r1倉庫地址:https://huggingface.co/deepseek-ai/DeepSeek-R1

    image

  2. 魔塔社區(modelscope)的Deepseek-r1倉庫地址:https://modelscope.cn/models/deepseek-ai/DeepSeek-R1

    image

因為網絡的問題,我們可以通過魔塔社區去下載可能會比較快,畢竟這個模型還是很大的。這里可能需要澄清一下,網絡上各種文章說Deepseek-r1的文件大小有600G、700G還有1T以上可能都不是非常準確。實際在linux下載后的完整版是642G。

image

還需要注意的是,可能大家看到的更多的是ollama官網的671b寫的是404G,如下圖。

image

這個并非不準確,而是ollama提供的是一個4bit的量化版本,并非真正的滿血非量化版本。

1.2 服務器/顯卡

在這里我們準備2臺8 * NVIDIA H100 80GB HBM3的服務器,并且顯卡之間用Nvlink進行連接。當然如果有H200可能效果會更好,但是畢竟那玩意還是太稀有了。按照英偉達官網安裝好顯卡驅動、cuda、以及nvidia-fabricmanager,這里列出我使用的版本。

顯卡驅動版本:

image

cuda版本:

image

nvidia-fabricmanager:

image

這里值得注意的是,上述三個軟件版本一定要相互匹配,不然是運行不起來的。

1.3 推理引擎

模型、硬件都準備好了,接下來就是軟件了。在這里我選擇了vllm作為推理引擎,地址:https://github.com/vllm-project/vllm

image

它與ollama類似,但是具有更高性能的特點,社區也比較活躍,有關他的詳細介紹也可以看看其他的文章。為了簡化部署和統一環境,我們只需要下載vLLM的docker鏡像即可。在兩臺服務器上分別執行命令。

如果網絡不太好,在阿里云上也有相應的鏡像。

到此我們所有的準備工作就都做完了,接下來就可以進入部署階段了。

image

二、開始部署

根據vllm的部署文檔https://docs.vllm.ai/en/latest/serving/distributed_serving.html,我們首先要找到一個腳本用來做分布式推理。腳本地址:https://github.com/vllm-project/vllm/blob/main/examples/online_serving/run_cluster.sh然后在兩個不同的節點上分別執行命令。

兩個節點均完成啟動之后,找到其中一個節點,使用

進入容器,這時候就可以執行vllm的啟動命令了。

如果順利的話,在漫長的等待之后,就可以看到模型所有的safetensors被一個一個的加載起來。

image

這時我們再去找一個Chatbox、Open WebUI等圖形化工具進行一些簡單的配置,就可以對話了。

image

2.1 但是

但是總會有但是,部署的過程肯定不會那么順利,尤其是在多機多卡的推理場景上。用上述腳本只能勉強把模型跑起來,跑起來之后,跟官網上那種流暢的速度比起來簡直是千差萬別,基本上就是一個字一個字在蹦非常的慢。我們在后臺看到token的生成速度,好一點的時候可能有20+tokens/s,稍微問多一點的時候可能會掉到只有不到1tokens/s,非常的慘。

image

到了這里可能會懷疑為什么這么多H100還是會這么慢?因為實際上這里的瓶頸已經不在于顯卡的算力,即使不是16張H100而是16張4090的話,算力也不是阻礙。搞過多機多卡訓練的大佬可能就會知道,在這種場景下網絡帶寬才是真正限制推理速度的最大阻礙。

2.2 超高性能網絡-Infiniband

InfiniBand?(以下簡稱IB網絡)是一種專為高性能計算(HPC)和超大規模數據中心設計的網絡技術,以亞微秒級超低延遲和超高帶寬為核心優勢。這里的帶寬,不是指家里的千兆網或者機房中的萬兆網(10G/s)就那么簡單,而是有接近400G/s的超高速顯卡互聯網絡。

image

在保證系統上安裝且啟用了IB網卡的情況下,我們用命令

可以看到IB網口的狀態。

image

當確認了IB網絡是通暢的時候,我們需要對上述的啟動腳本進行修改,在兩個節點上分別執行以下命令。

新增的環境變量配置,主要用于啟用IB網絡通信,而非使用以太網進行通信,詳細的每一個參數的具體含義,可以在英偉達NCCL的官方網站上找到說明。https://docs.nvidia.com/deeplearning/nccl/archives/nccl_2215/user-guide/docs/env.html

在完成配置之后,重新啟動vllm,就可以看到如下的效果了。

三、下一步

部署到這里,我們就得到了一個跟官網不卡的時候速度類似的滿血版Deepseek-r1,希望這個文檔對你有所幫助。下一步,我會對已經完成部署的模型進行壓測,來探索系統的性能極限在哪里,以及如何在生產環境中何如進行進一步的性能優化,期待你的關注。個人水平有限,有誤的地方望指正。

附錄

一些折騰過程中遇到的問題

原文轉載自:https://mp.weixin.qq.com/s/iyYap5ciQd3JtpgBNnld8Q

上一篇:

生產級滿血版Deepseek-r1 671B部署后續問題、調優以及壓測

下一篇:

別再苦等Manus邀請碼,Flowith——超棒的平替之選
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費