🔥 L40s Server Is Now Live – Just 0.83 credits/hr!

如何在 Glows.ai 使用 SGLang,以多台機器與多張 GPU 執行 DeepSeek-R1

教學

本教學說明如何在 Glows.ai 租用 GPU,並在多節點、多 GPU 環境中使用 SGLang 執行 DeepSeek-R1。

步驟一:設定儲存空間

註冊並登入 Glows.ai 後,進入空間管理,分配用於儲存的 Datadrive 與用於儲存快照的 Snapshot。如果已購買空間,可跳過此步驟。

依照圖片中的操作順序設定:

  1. 在介面上點選 Upgrade,購買 5GB 空間。你也可以依實際需求購買更大的儲存空間。

Space Storage

  1. 購買儲存方案後,依圖片順序點選 Modify。本教學將 3GB 分配給 Snapshot,2GB 分配給「TW-01」的 Datadrive,再點選 Update。此配置僅供示範,請依專案需求調整容量。

Modify Quata

步驟二:建立執行個體

Create New 頁面選擇 Inference GPU -- NVIDIA GeForce RTX 4090,再選擇 SGLang 0.4.2 環境。你也可以依需求選用其他機器或環境。

本範例使用兩張 RTX 4090 GPU。每張 RTX 4090 有 24GB VRAM,足以執行 DeepSeek-R1-Distill-Qwen-14B。依測試結果,若要執行 DeepSeek-R1 671B,需要兩台各配備 8 張 H100 的機器,或一台配備 8 張 H200 的機器。設定過程若有問題,可以聯絡我們。

模型名稱建議 GPU 規格最少節點數說明
DeepSeek-R1-Distill-Qwen-14B1x RTX 40902每張 GPU 需要 24GB VRAM
DeepSeek-R1 671B8x H1002建議使用 2 台各配備 8 張 GPU 的機器
DeepSeek-R1 671B8x H2001多張高階 GPU 必須位於同一節點

CreateNew

在頁面底部點選 Mount,將自己的 Datadrive 掛載至執行個體。這樣可在多個執行個體之間共用檔案,也方便永久保存機器上的檔案,或稍後下載至本機。

完成後,點選 Complete Checkout 建立執行個體。

Mount Data Drive

若要透過 SGLang 在多台機器與多張 GPU 上執行大型模型推論服務,請重複以上步驟,再建立一個執行個體。兩個執行個體建立完成後,My Instances 頁面會顯示兩筆記錄。

My Instance

執行個體約需 30–50 秒啟動。狀態變成 Running 後即可使用。

步驟三:啟動程式

1. 下載模型

執行個體啟動後,頁面會顯示 SSH(SSH Port 22)、JupyterLab(HTTP Port 8888)與 HTTP Port 8000 連結。選擇偏好的遠端連線方式進入執行個體;建議使用 JupyterLab。

注意: 若需要對應其他連接埠,可點選 New Port Forwarding 新增。新增的連接埠若使用 HTTP 通訊協定,請勾選 HTTP 選項。

Port

點選 HTTP Port 8888 的 Open 開啟 JupyterLab。建立新的 Terminal,輸入以下命令,將模型下載到執行個體的 /home/DeepSeek-R1-Distill-Qwen-14B 目錄。模型約 28GB,預估下載時間為 5–10 分鐘。

注意: 兩個節點都要開啟 JupyterLab,並分別執行以下命令下載模型。

bash
huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-14B --local-dir /home/DeepSeek-R1-Distill-Qwen-14B

Download

2. 建立叢集

下載模型時,可以使用 Glows.ai 的 Mesh Clustering 功能,設定兩個執行個體之間的內部網路。

前往 Mesh Clustering 頁面,依畫面指示建立 Network Group。

必要設定:

  • Mesh Type:Network Group
  • Region:TW-01
  • Name:可自行命名,例如 SGLang。

Create Network Group

點選 Add Instance,把先前建立的兩個執行個體加入 Network Group。

Add Instance

加入後,Status 會變成 Connected,代表內部網路已連線。先前顯示的 IP CIDR 代表內部 IP 位址。例如下圖中,兩台機器的內部 IP 分別是 192.168.1.1 與 192.168.1.2。

Connected

3. 啟動服務

模型下載完成後,執行 ip -4 a,查看內部網路介面名稱與 IP 位址,如下圖所示:

  • 內部 IP:192.168.1.1
  • 內部網路介面:meth340

Internal Network

在兩個節點上依序執行以下命令:

bash
# On Instance 1, run the following commands in order
# Note: Replace the values of GLOO_SOCKET_IFNAME and NCCL_SOCKET_IFNAME with the network interface name you found using the ip -4 a command.
# Note: Replace the values of SGLANG_HOST_IP and HOST_IP with the internal IP address of your designated master node.
export GLOO_SOCKET_IFNAME=meth340
export NCCL_SOCKET_IFNAME=meth340
export SGLANG_HOST_IP=192.168.1.1
export HOST_IP=192.168.1.1
python3 -m sglang.launch_server --model /home/DeepSeek-R1-Distill-Qwen-14B --port 8000 --tp 2 --dist-init-addr 192.168.1.1:6379 --nnodes 2 --node-rank 0 --trust-remote-code --host 0.0.0.0

Instance1

bash
# On Instance 2, run the following commands in order
# Note: Replace the values of GLOO_SOCKET_IFNAME and NCCL_SOCKET_IFNAME with the network interface name you found using the ip -4 a command.
# Note: Replace the values of SGLANG_HOST_IP and HOST_IP with the internal IP address of your designated master node.
export GLOO_SOCKET_IFNAME=meth341
export NCCL_SOCKET_IFNAME=meth341
export SGLANG_HOST_IP=192.168.1.1
export HOST_IP=192.168.1.1
python3 -m sglang.launch_server --model /home/DeepSeek-R1-Distill-Qwen-14B --port 8000 --tp 2 --dist-init-addr 192.168.1.1:6379 --nnodes 2 --node-rank 1 --trust-remote-code --host 0.0.0.0

Instance2

下圖是正常執行時的畫面。模型通常可在 1 分鐘內載入完成。

Model Loading

步驟四:測試 API

My Instances 頁面複製主節點的 HTTP Port 8000 連結。連結中的 token 參數可以省略,例如:

bash
Copied link:https://tw-03.access.glows.ai:24516?token=hSFGABSM
Actual link:https://tw-03.access.glows.ai:24516

HTTP Port 8000

以下是測試程式碼。請將程式碼中的 base_url 改成剛才複製的連結。

python
import openai
client = openai.Client(
    base_url="https://tw-03.access.glows.ai:24516/v1", api_key="EMPTY")

# Chat completion
response = client.chat.completions.create(
    model="default",
    messages=[
        {"role": "system", "content": "You are a helpful AI assistant"},
        {"role": "user", "content": "What model are you and who developed it?"},
    ],
    temperature=0.6
)
print(response)

Demo

步驟五:資料儲存與快照

若要使用資料儲存與快照功能,請先在空間管理頁面購買儲存空間。

1. 資料儲存

如果程式在執行個體硬碟上產生大型輸出檔案,而你想在不持續啟動執行個體的情況下將檔案下載到本機,可以使用 cp/mv 將檔案移動或複製到 /datadrive,也可以在程式中直接將輸出路徑設為 /datadrive。 釋放執行個體後,你仍可從 Data Drive 頁面下載檔案,多個執行個體也能共用 /datadrive 中的資料。

以此大型模型為例,通常需要在每個執行個體上分別下載模型。若直接將模型下載到 /datadrive,或從本機上傳到該目錄,每個新建的執行個體都能直接存取,不必重複下載。

2. 快照

若在使用期間修改了系統環境,例如透過 pip 安裝新的 Python 套件,可以在確認環境設定完成後建立 Snapshot。前往 My Instances 頁面,點選 Take Snapshot。之後可直接從快照建立新的執行個體,不必重新安裝或設定環境。

如果沒有修改環境,則不需要建立快照。

Take Snapshot

步驟六:關閉執行個體

使用完畢並保存所需環境或資料後,前往 My Instances 頁面,點選 Release 關閉執行個體。釋放後即停止計費。 如果忘記釋放,系統會持續計費。點數歸零時,系統會自動建立快照,再釋放機器。

聯絡我們

使用 Glows.ai 時若有問題或建議,請透過以下信箱聯絡我們:

Email: support@glows.ai

Glows.ai
所有服務運作正常
ISO/IEC 27001:2022 Certified
  • Twitter
  • Github
  • Discord
© 2025 Glows.ai-版權所有