AI News HubLIVE
站內改寫2 分鐘閱讀

AirLLM:單張4GB GPU推理2.8T引數的Kimi K3

AirLLM 是一個開源推理框架,透過逐層載入權重讓超大模型也能在低視訊記憶體 GPU 上執行。最新版本支援 2.8T 引數的 Kimi K3,在約 3.72GB 視訊記憶體下完成推理;同一套 AutoModel API 也可執行 DeepSeek-V3(671B)、Qwen3-235B 等模型,並支援 4bit/8bit 壓縮加速。

來源Hacker News AI作者: maxloh

AirLLM 是一個開源推理框架,核心理念是打破“視訊記憶體必須裝下整個模型”的限制。它並非把完整模型常駐 GPU,而是在推理過程中逐層載入,每次只把一層放到視訊記憶體中,因此所需視訊記憶體主要由單層大小決定,而不是模型總引數量。專案最新更新(2026 年 7 月)加入了對 Kimi K3(2.8T 引數)的支援,成為目前最大的開源模型,並可在單張 RTX 6000 Ada 上以約 3.72GB 視訊記憶體完成端到端推理。K3 使用了“按專家流式載入”機制,只載入當前 token 實際路由到的專家,進一步降低視訊記憶體佔用。

K3 的接入也帶來一些額外要求:需要安裝 compressed-tensors 和 flash-attn,因為 K3 的模型程式碼強制要求 flash attention;需要使用 CUDA 12 版本的 PyTorch,因為目前還沒有為 CUDA 13 預編譯的 flash-attn wheel;transformers 版本需使用 4.56.x,因為該模型的 remote code 無法在 5.x 上載入。使用方式非常簡潔,安裝 airllm 後,只需透過 AutoModel.from_pretrained() 傳入 Hugging Face 模型 ID 或本地路徑,就能像普通 transformer 模型一樣生成。示例中,Qwen/Qwen3-32B 可直接執行,同一條程式碼也可切換到 Qwen3-235B-A22B(約 3GB 視訊記憶體)或 deepseek-ai/DeepSeek-V3(671B,約 12GB 視訊記憶體)。首次推理時,原始模型會被拆分並按層儲存,因此 Hugging Face 快取目錄需要有足夠磁碟空間。

AirLLM 還提供基於塊級量化的模型壓縮,開啟後可帶來最高約 3 倍推理加速,且精度損失幾乎可忽略。啟用方法是安裝 bitsandbytes,並在初始化時傳入 compression='4bit' 或 compression='8bit'。與常規量化不同,AirLLM 的瓶頸主要在磁碟載入,因此只量化權重、不需要處理啟用值,更容易保持精度。配置方面,AirLLM 支援 compression、profiling_mode、layer_shards_saving_path、hf_token、prefetching、delete_original 等選項。prefetching 預設開啟,可將模型載入與計算重疊,提升約 10% 速度;delete_original 可在拆分後刪除原始模型以節省約一半磁碟空間。MacOS 使用者也可以在 Apple Silicon 上執行,需安裝 mlx 和 torch,並能用同樣的 Python 程式碼跑 70B 級別模型。

在模型相容性上,AirLLM 基本覆蓋主流開源模型,包括 Llama 2/3/3.1/3.3/4、Qwen 1/2/2.5/3(含 MoE 和 FP8)、DeepSeek V2/V3/R1、Mistral 與 Mixtral、Phi、Gemma、ChatGLM、Baichuan、InternLM、Yi 等。按官方示例,約 8B 模型只需 1–2GB 視訊記憶體,Qwen3-235B 約 3GB,Llama 3.1 405B 約 8GB,DeepSeek-V3 約 12GB。AirLLM 的版本迭代也記錄了它的擴充套件路徑:2023 年 11 月釋出初始版本;12 月加入 safetensors 支援、ChatGLM/QWen/Baichuan/Mistral/InternLM 支援、AutoModel 自動檢測、Mixtral 支援以及 MacOS 上執行 70B 模型的能力;2024 年 4 月原生支援 Llama3 70B 在 4GB 單 GPU 上執行,7 月加入 Llama3.1 405B 和 8bit/4bit 量化;2024 年 8 月加入 Qwen2.5 和 CPU 推理;2026 年 6 月的 v3.0 增加 FP8 模型支援並可執行 DeepSeek-V3 與 Qwen3-235B;2026 年 7 月則加入 Kimi K3 支援。

常見問題方面,如果遇到 MetadataIncompleteBuffer 錯誤,通常是磁碟空間不足,因為模型拆分過程非常消耗磁碟;如果載入 QWen 或 ChatGLM 時出現 ValueError,應改用 AutoModel 而不是 AirLLMLlama2;受門控模型需要傳入 hf_token;tokenizer 缺少 padding token 時,可以關閉 padding 或手動設定。專案目前已有 25.1k stars、2.8k forks,採用 Apache-2.0 協議,並歡迎社群貢獻。