手上有 NVIDIA DGX Spark的話,先把 agent 安裝起來。叫它去讀
@MiaAI_lab 的 sparkDash,再叫它在機器上寫一個、或改一個 model switcher、service switcher。
Switcher 實際怎麼設
一份 registry。每個 serving stack 一張卡。現在七張。
每張卡帶:它在哪台機器、要探的 IP 加 port、它該回報的 model id、以及啟動跟關掉的兩支腳本。
四張在 head,`:8888`、`:8889`,loopback 探。三張在 worker,27B 在 `:8888`、TTS 在 `:8010`、MiniMax 在 `:8000`,走 CX7 探。啟動關掉走 ssh,因為腳本在 worker 上。
兩台都用 8888 這個 port。所以不能用 port 當鑰匙。要用 host 加 port,再加上它回報的 model id。Head 跟 worker 能同時掛在同一塊面板上、又不會認錯,就靠這對。
活著沒有,靠便宜的探針。OpenAI 那種 stack 打 models 那個端點。
沒有 id 清單的卡,就只看探針回不回。
切換順序是寫死的,不是聰明的。先停掉全部。兩台都把 page cache 丟掉。UMA 上這步不能省,否則下一包權重要進記憶體時,空閒檢查會過不了。再跑目標自己的 start 腳本。輪詢到 API 肯回答。Dashboard 不自己發明啟動參數。它叫操作員寫好的腳本。
畫面上一個 stack 一張卡。亮著的那張綠點。節點、host:port、現在活著的 model id。Start、Stop、Switch。連到它的 console。切換進行中,進度從 operation log 流下來。
旁邊那些附屬服務另開一區,不算進 UMA 預算。`:8814` 那個檔案上傳。普通的 node process,記住 pid。要開再開,要關再關。模型切走,它還在。
我們活在最好的時代,能想出來就可能創造出來.
我剛做完,現在在用。