Lucebox:讓 RTX 3090 重回戰場的不是新硬體,而是重寫推論軟體
Lucebox 是 Luce-Org 開源的 hand-tuned LLM inference hub,主張針對特定 consumer hardware 與模型家族重寫 kernel、speculative decoding、prefill 路徑。Megakernel、DFlash、PFlash 都指向同一件事:local AI 的瓶頸不一定是硬體太舊,而是通用 inference stack 沒有榨乾晶片。
這篇 Threads 介紹 Lucebox,一個把 LLM inference 針對特定 consumer hardware 手寫最佳化的開源專案。它的口號很直白:Open LLM inference, rewritten by hand for one specific chip at a time。換句話說,不等下一代硬體,而是把現有硬體的軟體堆疊重寫,榨出晶片本來就有、但通用框架沒有吃滿的能力。
官方 repo 是 Luce-Org/lucebox-hub。查 GitHub API 時的狀態:
- Repo:Luce-Org/lucebox-hub
- 描述:Lucebox optimization hub: hand-tuned LLM inference, built for specific consumer hardware.
- 授權:MIT
- 建立時間:2026-04-03
- stars:約 1,513
- forks:約 131
- 主要技術:CUDA 12+、C++17、PyTorch 2.0+(部分 build / benchmark)
- Reference target:NVIDIA RTX 3090(Ampere sm_86, 24GB)
Lucebox 的核心論點是:過去十年通用框架主導推論,是因為「替每顆晶片、每個模型家族手寫 kernel」太貴。大家選擇一套通用 stack,雖然到處能跑,但通常不是任何一張卡上的極限效能。AI-assisted development 改變了這個成本結構:以前要一季的重寫,現在可能在一個 release cycle 內完成。
這是這個專案最值得記錄的地方。它不只是又一個 inference repo,而是在押一個趨勢:
AI 讓專用最佳化的開發成本下降,所以「針對特定硬體 + 特定模型 + 特定 workload」重寫推論路徑,可能重新變得划算。
目前 lucebox-hub 裡三個主要子專案:
- Megakernel:把 Qwen3.5-0.8B 的 24 層合成單一 persistent CUDA kernel
以往 LLM 推論每一層、每個 op 都會牽涉 kernel launch、CPU/GPU round trips、framework overhead。Megakernel 的做法是把 Qwen3.5-0.8B 的 24 層 forward pass fused 到單一 CUDA dispatch。
README 數據:
- Target:RTX 3090
- 模型:Qwen 3.5-0.8B
- Method:82 blocks、512 threads、one persistent kernel
- Prefill pp520:21,347
- Decode tg128:413
- tok/J:1.87 @220W
- llama.cpp BF16 @350W:Prefill 11,247、Decode 267、tok/J 0.76
- PyTorch HF:Prefill 7,578、Decode 108
官方說法是:No CPU round-trips between layers、cooperative grid sync instead of ~100 kernel launches per token。這代表瓶頸不只在 FLOPS,而是在 launch overhead、memory movement、framework dispatch 與 power efficiency。
- DFlash 27B:把 DFlash speculative decoding 搬到 GGUF / RTX 3090
Speculative decoding 的基本精神是:小模型先草擬多個 token,大模型批次驗證,降低自回歸逐 token 生成的等待成本。Lucebox 的 DFlash 是 GGUF port,針對 Qwen3.5 / Qwen3.6 27B,在 RTX 3090 上跑。
README 數據:
- Qwen3.5-27B / Qwen3.6-27B
- Q4_K_M target + BF16 draft
- DDTree budget=22
- demo 最高 207.6 tok/s,對比 autoregressive 38.0 tok/s,約 5.46×
- HumanEval 10-prompt bench 平均 129.5 tok/s
- 比 autoregressive 快 3.43×
- 比 chain speculative decoding 多 15%
- 比同硬體上的 SGLang AWQ 快 2.8×
- 搭配 TurboQuant TQ3_0 KV cache,可在 24GB 下做到最高 256K context
這裡要保守看:這些是專案自己的 benchmark,且模型、量化、prompt、硬體功耗、context、batch 設定都會影響結果。但方向很明確:對 consumer GPU 來說,演算法 + kernel + memory layout 的改動,能把同一張卡的有效吞吐拉開很大差距。