研究與評測
jitllm 據報可在生成途中搬移模型層與 KV cache:兩張 T4 間切換暫停 8.1 毫秒且免重算
Reddit r/LocalLLaMA單一來源
核實資料不足
目前依單一來源整理,這是來源數量描述,不是對消息真假的判定。
本次未取得足夠原文證據
Reddit r/LocalLLaMA 一名作者展示推理引擎 jitllm,宣稱可在模型生成回覆途中重新安排模型層與 KV cache,且不必重新 prefilling;目前這項說法僅有單一 Reddit 來源,尚未獲其他來源或官方驗證。作者表示,jitllm 會依現有硬體生成核心,並將模型層視為可由引擎配置與搬移的工作單位。
展示影片包含兩種情境:雲端 VM 以兩張 T4 執行 Llama-3.2-3B Q4_K_M,生成途中將全部模型層從 GPU 0 移到 GPU 1,再移回 GPU 0;筆電則將模型拆分至 CPU、CUDA 與 Vulkan(iGPU),並在生成期間重新安排。作者稱 KV cache 採分頁設計並與模型層一同移動,因此不需重新處理提示詞,搬移後輸出也與未搬移的執行結果一致。
作者列出的測試數據為:兩張 T4 上的 Llama-3.2-3B Q4_K_M 從 GPU 0 移至 GPU 1,暫停 8.1 毫秒、重算 0 個 token;反向移動則暫停 8.4 毫秒、重算 0 個 token。兩張 V100 執行含 1.8K-token 對話的 Llama-3.2 時,GPU 0 至 GPU 1 的搬移暫停 20–21 毫秒、重算 0 個 token;RTX 3050 Ti 筆電執行 Llama-3.2-1B Q4_K_M,從 CUDA 移至 Vulkan 時暫停 91 毫秒、重算 0 個 token。作者已提供 jitllm 的 GitHub 程式碼連結,但材料未提供正式評測或獨立查證。
讀原始報導背景
在 LLM 推論中,KV cache 會為批次中的每個請求個別配置,可能占用大量記憶體。這使得如何管理與搬移 KV cache,成為在有限 GPU 記憶體中執行模型時的重要考量。