化實戰(zhàn):把單位 Token 成本降下來的六條路徑)
LLM 推理成本優(yōu)化實戰(zhàn)把單位 Token 成本降下來的六條路徑一、成本問題為什么是生產(chǎn)落地的頭號敵人很多團隊在 Demo 階段從不擔心成本一旦進入生產(chǎn)環(huán)境賬單會教做人。大模型服務的成本結(jié)構(gòu)里輸入 token 常常占總消耗的 80% 以上——而這部分大部分是幾乎不變的系統(tǒng)提示詞、知識庫片段和對話歷史。與此同時不同請求對模型能力的需求差異極大簡單問答和復雜推理用同一個模型等于為 80% 的簡單請求支付了 100% 的算力。本文整理六條經(jīng)過驗證的成本優(yōu)化路徑從不換模型就能省到換架構(gòu)才能省按實施難度排序你可以根據(jù)自己的階段逐步落地。二、路徑一前綴緩存Prompt Caching——性價比最高的第一刀真實在線推理請求通常長這樣System Prompt800 token 多輪歷史2000 token 新消息50 token。多輪對話的后續(xù)輪次、RAG 場景的文檔問答、模板批處理任務都存在大量共享前綴。如果每次都從頭重算這些前綴的 KV Cache浪費巨大。vLLM 的自動前綴緩存APC把 token 序列切成固定大小的塊默認 16 token每個塊用鏈式哈希唯一標識維護全局哈希表新請求到達時逐個查哈希命中的塊直接引用物理塊只計算未命中的部分。實測效果多輪對話同會話前綴命中率 80%-95%后輪 prefill 時間趨近于零RAG 文檔問答命中率 60%-85%模板批量處理 1000 個相同模板請求只算一次前綴命中率 90%。實踐要點靜態(tài)內(nèi)容放前面系統(tǒng)指令、文檔放在 prompt 開頭動態(tài)的用戶消息放后面避免前綴里有動態(tài)元素時間戳、隨機數(shù)會讓整條緩存鏈失效放到 prompt 末尾調(diào)大 gpu-memory-utilization 讓緩存池更大、LRU 淘汰更少。開啟方式–enable-prefix-cachingV1 引擎默認開啟、–enable-prompt-tokens-details 可在 usage 里返回 cached_tokens 字段。云廠商同樣提供 prompt cachingDeepSeek 的上下文硬盤緩存、OpenAI 的自動緩存緩存命中價格約為 1/10——命中部分按緩存價計費長期穩(wěn)定前綴的成本可以降到十分之一。三、路徑二模型分層路由——讓合適的模型干合適的活一個被嚴重低估的杠桿80% 的請求可能只需要小模型大模型只處理復雜子集。生產(chǎn)實踐中按任務復雜度路由到不同模型綜合成本能再降 40%。落地方式在網(wǎng)關(guān)層加一個路由決策器先讓一個小模型或規(guī)則對請求做分類——簡單查詢天氣、FAQ、格式轉(zhuǎn)換走小模型復雜推理代碼生成、長文分析、多步任務走大模型。也可以用級聯(lián)模式先小模型嘗試置信度低再升級到大模型。模型分層 前綴緩存組合成本可以降到原來的 1/10 以下。實測原則先統(tǒng)計你線上請求的分布——如果 60% 是短輸入短輸出的事實性問題換小模型的收益立竿見影。注意小模型選型要匹配任務中文場景 DeepSeek、Qwen 系列小模型效果已經(jīng)很能打。四、路徑三量化——顯存和帶寬雙降量化把權(quán)重從 FP16/BF16 壓到 INT8、INT4 等格式減少顯存占用和內(nèi)存帶寬。以 Qwen2.5-7B 為例FP16 約 14GBINT8 約 8GB精度損失極小INT4 約 4.5GB精度損失可接受。70B 級別模型 4-bit 量化把顯存需求從 140GB 降至 35GB。量化不是免費午餐精度和兼容性要實際測試不要只看顯存下降。vLLM 原生支持 AWQ、GPTQ、FP8社區(qū)反饋 AWQ 略快于 GPTQ差距 5% 以內(nèi)。本地部署跑不動完整精度模型時量化是最直接的方案量化后同樣的 GPU 能承載更多并發(fā)單位 token 成本隨之下降。五、路徑四KV Cache 優(yōu)化——長上下文的隱形殺手KV Cache 是推理顯存占用的大頭大小和序列長度成正比。越長的對話、越大的并發(fā)KV Cache 越恐怖。優(yōu)化方向有三個KV Cache 量化對 KV Cache 做低比特量化FP8、INT8幾乎不損失精度的情況下把顯存占用降低一半支持更長上下文或更高并發(fā)。KV Cache 共享多個請求共享相同前綴system prompt、few-shot 示例時可以物理共享同一塊顯存——這正是 vLLM PagedAttention 的核心能力配合前綴緩存大幅降低重復計算。上下文管理應用層的長上下文不一定要全量傳給模型。生產(chǎn)經(jīng)驗保留 system 消息和最近幾輪對話中間部分讓模型生成摘要既省 token 又不丟關(guān)鍵信息。RAG 場景更要控制送入的片段數(shù)量和長度避免上下文窗口溢出和 token 浪費。六、路徑五批處理與調(diào)度優(yōu)化——把 GPU 喂飽GPU 是成本的大頭喂飽 GPU 就是省錢。vLLM 的連續(xù)批處理Continuous Batching在 token 級別動態(tài)調(diào)度請求生成完立刻釋放資源、新請求馬上補進來GPU 幾乎一直在算有效 token。實測吞吐相比 HuggingFace Transformers 提升 24 倍同樣的 GPU 資源承載數(shù)倍請求量。Chunked Prefill 把長 prompt 拆成小塊避免一個超長輸入獨占 GPU 數(shù)百毫秒卡住其他請求在線服務的延遲和吞吐同時受益。離線批處理按輸入長度分組分批避免長輸入讓 batch 里短輸入的 padding 變多max_tokens 按業(yè)務分開設置不要統(tǒng)一設很大。七、路徑六評估驅(qū)動的成本治理成本優(yōu)化最怕省了錢丟了質(zhì)量。必須建立量化評估體系任務成功率、工具調(diào)用準確率、答案忠誠度、延遲P50/P95在優(yōu)化前后都要對比。沒有評測集就上線等于裸奔??捎^測性必須埋點每條請求記錄 trace_id、調(diào)用的模型、輸入/輸出 token 數(shù)、延遲和成本。用 LangSmith、Langfuse、Phoenix 追蹤完整鏈路。建立 token 成本預算和告警按天/按用戶/按場景統(tǒng)計成本異常突增時能定位到具體功能。RAG 應用里輸入 token 常常占總消耗的 80% 以上其中大部分是幾乎不變的系統(tǒng)提示詞和知識庫片段——前綴緩存 模型分層是優(yōu)先級最高的兩刀。八、計費與監(jiān)控的實操細節(jié)自托管推理的計費有深坑緩存命中 token 你的實際成本是正常價的 1/10 甚至更低但用戶按全量 prompt_tokens 計費——prompt_tokens 是用戶計費基礎cached_tokens 是你的實際成本基礎中間差價就是自托管服務的利潤空間。中間件應該同時記錄兩個字段。監(jiān)控指標前綴緩存命中率用 PromQLrate(vllm_prefix_cache_hits[5m]) / rate(vllm_prefix_cache_queries[5m])、KV Cache 內(nèi)存塊命中率90% 為優(yōu)、批處理效率有效 token 占比、單位請求成本。命中率偏低時檢查前綴是否被動態(tài)內(nèi)容污染、緩存池是否太小、模板是否沒放在 prompt 開頭。九、綜合案例一個 RAG 應用的降本路徑一個典型的企業(yè) RAG 問答應用優(yōu)化前每請求約消耗 4000 輸入 token 200 輸出 token成本大頭在知識庫片段和系統(tǒng)提示詞。降本路徑第一步開前綴緩存系統(tǒng)提示詞 高頻文檔片段命中后輸入成本降到原來的 1/10第二步模型分層簡單 FAQ 走小模型復雜分析走大模型綜合再降 40%第三步控制檢索數(shù)量Top-K 從 8 收到 3-5減少無效片段第四步上下文壓縮長片段先生成摘要再拼接。四步疊加單位請求成本通常能降到原來的 1/20 以內(nèi)而評測指標答案忠誠度、相關(guān)性保持不降。十、寫在最后成本優(yōu)化的核心不是摳門而是讓每一分算力都產(chǎn)生價值。優(yōu)先做不換架構(gòu)就能生效的優(yōu)化前綴緩存、上下文壓縮、檢索數(shù)量控制再逐步引入架構(gòu)級優(yōu)化模型分層、量化、批處理調(diào)優(yōu)。每一步優(yōu)化都要用評估數(shù)據(jù)驗證防止省了錢丟了質(zhì)量。記住推理成本的可控性本身就是企業(yè)級 LLM 應用的競爭力之一。