Lumabri: 針對 Mixture-of-Experts 模型的 P2P Swarm 推論
Lumabri 透過將模型權重與實際運算分佈到對等網路 (P2P) swarm 中,實現了大規模 Mixture-of-Experts (MoE) 模型的執行。與傳統將 transformer 層拆分到不同裝置的分布式推論不同,Lumabri 是以專家 (expert) 為粒度進行拆分,這使得資源有限的節點——包括沒有 GPU 的節點——也能參與推論過程。
分佈式專家執行
Lumabri 針對 MoE 稀疏性進行了優化,僅在本地的 "chatter" 機器上保留密集權重、router 和 KV cache。當 token 需要某個專家時,chatter 會向持有該特定專家的 peer 發送一個 4 KB 的小型 activation。該 peer 會執行該專家並回傳結果。
這種架構確保了專家權重不需要到達 chatter,與權重串流 (weight-streaming) 方法相比,顯著降低了所需的頻寬。
由於 chatter 和 peers 都使用相同的引擎原始碼構建,其輸出與本地執行是完全一致的 (byte-for-byte identical)。為了防止因不同硬體指令集 (例如 -march=native) 造成的靜默錯誤,Lumabri 要求 peers 宣告其確切的構建版本,包括 source hash、ISA 和 compiler;若 chatter 發現 build 差異,將會拒絕該 peer。
P2P 模型分佈與延遲載入
Lumabri 透過 LD_PRELOAD shim (liblumabri.so) 為模型位元組實作了延遲載入 (lazy-loading) 機制。此 shim 會攔截標準的 libc calls (open, fopen, opendir, pread),使遠端模型檔案看起來像是稀疏的本地鏡像。
- 按需獲取 (On-demand fetching): 僅在推論引擎實際接觸到位元組時,才會從 peers 獲取位元組。
- 本地快取 (Local Caching): 一旦獲取,位元組會儲存在本地鏡像和一個在 checkpoint 之間共享的內容定址儲存 (CAS) 中。隨後對相同位元組的請求會以全速從本地磁碟提供服務。
- 完整性 (Integrity): 模型的每個 MiB 都會透過 sha256 進行驗證。來源端可以使用 ed25519 key 對模型根目錄進行簽名,讓 chatter 能夠根據信任的公鑰來驗證每個區塊。
在非信任 Swarm 中的信任與驗證
由於 peers 並非完全可信,Lumabri 採用了幾種機制來確保遠端運算的正確性:
- 副本驗證 (Replica Verification):
LUMABRI_VERIFY=N設定允許 chatter 在第二個副本上重新執行一定比例的專家呼叫。如果兩個誠實的 peers 產生了分歧,則執行會停止,因為這證明了錯誤或欺騙。 - 對沖請求 (Hedged Requests): 為了減輕慢速 peer 的延遲,
LUMABRI_HEDGE_MS=N可以在指定的超時時間後,向第二個副本發送重複的請求,並使用收到的第一個有效的確定性結果。 - 加密傳輸 (Encrypted Transport): 當啟用
LUMABRI_ENCRYPT=1時,token、模型區塊和 activation 會受到 X25519/Ed25519 handshake 和 ChaCha20-Poly1305 frames 的保護。
支援的引擎與模型
Lumabri 與 Colibri 引擎整合,支援多種 MoE 架構。每個引擎都需要一個從引擎原始碼構建的特定專家節點 (expert-node) binary,以確保輸出是確定性的。
| Engine | Supported Model | Expert Node Provenance |
| :--- | : :--- | :--- |
| olmoe | OLMoE | phase2_test.sh |
| colibri | GLM | phase2_glm_test.sh |
| inkling | Inkling | phase2_inkling_test.sh |
| kimi_k3 | Kimi K3 | phase2_kimi_test.sh |
| deepseek | DeepSeek V4 | phase2_deepseek_test.sh |
與其他 P2P 推論的比較
Lumabri 與 Petals 或 llama.cpp RPC 等專案的不同之處在於其分割點。雖然那些專案是將連續的 transformer 層拆分到不同裝置上——這通常需要高速 GPU interconnects 才能實用——但 Lumabri 是按專家進行拆分。這使得 swarm 可以即使在 CPU 和 SSD 的網路中有效運作,因為在網路中傳輸的是 4 KB 的 activation,而不是整個層的 activation。
社群洞察與使用案例
使用者之間的討論強調了 Lumabri 在區域網路 (LANs) 中使用的潛力,例如匯集低功耗裝置或 RAM 受限的 GPU 資源。
"The biggest benefit I see is to enable RAM constrained GPUs to perform inference of large parameter models with surprisingly high throughput... the memory to compute ratio over the network is limited only by the activations, not the weights."
其他使用者指出,這種架構可以作為防止雲端供應商進行中心化審查或監控的「保險政策」,將 LLM 推論回歸到更去中心化、社群驅動的文化。
Sources
相關
- Dispatch
- 專案
- 專案
- 專案
- 專案