《裴瑞光-端上大模型推理.pdf》由會員分享,可在線閱讀,更多相關《裴瑞光-端上大模型推理.pdf(20頁珍藏版)》請在三個皮匠報告上搜索。
1、演講嘉賓:裴瑞光文件密級:機密背景基于Transformer架構的大模型由于其在文本理解,語言生成,任務推理與以及多模態上展現出極強的能力;在這個過程中,考慮到個性化,隱私,網絡以及成本問題個性化,隱私,網絡以及成本問題,相對于云端大模型推理,端上大模型推理逐漸扮演越來越重要的角色。端側大模型市場將逐步增長個性化場景下,用戶更偏向于使用端側模型能力端側大模型需有強需求場景12024年中國端側大模型行業研究:算力優化與效率革命2On-Device Language Models:A Comprehensive Review文件密級:機密為什么需要端上大模型?無網絡仍可工作隱私保護強大的模型能力更
2、成熟的技術架構端側幾乎無負載端云協同端LLM云LLM成本更低端和云LLM推理互有互補;可以通過協同的方式進行能力補足1Apple intelligence2華為AI白皮書文件密級:機密端上SLM模型發展2023年前2023全年2024年中Megatron-LM-1.3bTiny-BERT-14.5mT5-3bGPT-Neo-2.7bGemma-2bFox-1.6bQwen2-1.5bOpenELM-3.04bPhi-3-3.8bOLMo-1bMobile LLMs-250mGemma2-2bMobiLlamma-0.5bStable LM 2-1.6bTinyLlama-1.1bGemini-
3、Nano-3.25bStable LM 2-3bOpen LM-3bPhi-2-2.7bPhi-1-1.3bRWKV-3bCerebras-GPT-3bOPT-2.7bLamini-LM-1.5bQwen-1.8b4B 模型最高評分27,快速提升vs.云側模型最高評分36-47,由70b左右模型主導SLM模型發展迅速,為端側大模型推理發展打下堅實基礎Pythia-2.8bGalactica-1.3bBLOOM-3bMobileBERT-25.3mBART-0.4bDistilBERT-66m模型數量各大公司持續投入推進SLMs演進,學術界SLMs模型也大量涌出Decoder-only架構主導E
4、ncoder-DecoderEncoder-onlyDecoder-only1Huggingface leaderboard文件密級:機密端上大模型面臨的困難與關鍵指標端上面臨的大模型推理困難有:1.耗電 2.計算能力不強:處理多任務,首字時延3.模型能力不夠關鍵指標:Acc TTFT TBT J/token(電量)內存峰值在系統優化與端云協同方面,大模型因為其特性會帶來更多挑戰。文件密級:機密文件密級:機密長文本問題:KVcache重用prefillKV first token predictorpromptcache通過將prompt轉換為schema的結構化形式,并預計算大量kvcach
5、e,只需將單次變化的query計算新的kv并填入即可獲取當前attentionstate。顯然,較適合agent場景。該方案可將時延降低至1335%,但需要提前計算模板kvcache通過微調過的同系小模型生成代理kv,并通過預測器(MLP)來預測大模型每層的kvcache,提供了一種可以加速首字推理的方案。該方案可將時延降低50%左右,但需要訓練代理模型以及精度會稍有下降。1Prompt Cache:Modular Attention Reuse for Low-Latency Inference 20242KV Prediction for Improved Time to First To
6、ken.apple 2024文件密級:機密KVcache重用decodeLLMaaSLLM作為一個服務獨立于其他app而運行;app被掛起和恢復時可進行相關session kvcache的存儲與恢復,支持快速session切換;通過swap-recompute復合的方式載入kvcache。prefixcache考慮到多輪對話,TOT等prompt的形式,將前綴kvcache保存下來,是一種樸素的優化方案已經應用大絕大多數推理引擎之中。1LLM as a Service on device.20242SGLang:Efficient Execution of Structured Languag
7、e Model Programs文件密級:機密KV量化觀察到K帶來的損失要明顯高于V,K因為對Q進行了一次乘積以及softmax兩個算子,而V僅對softmax結果進行乘積。同時觀察到LLM層的重要性不同,靠近輸入層重要性會更高;整體以層和KV的不同分步實施不同量化位寬的量化操作:層越深,量化壓縮比越高;K的壓縮步速要慢于V1 AsymKV:Enabling 1-Bit Quantization of KV Cache with Layer-Wise Asymmetric Quantization Configurations文件密級:機密KVcache稀疏化1較早期的kv稀疏化通過觀察每層的
8、attention state分布發現其遵循一定的分布模式,并將其總結為上圖方案(固定size頭+滾動尾部);作者后續發現不同的計算頭的attention重要性不同,少量的頭需要進行全量attention計算,其他的頭使用streamingLLM可以獲取更高的精度;1Efficient Streaming Language Models with Attention Sinks.20232DUOATTENTION:EFFICIENT LONG-CONTEXT LLM INFERENCE WITH RETRIEVAL AND STREAMING HEADS.2024文件密級:機密KV稀疏化2稀疏
9、算法逐漸細粒度化使用全量attention使用windowattention使用fix-pos attention使用fix-length attention不同layer使用不同attention稀疏度不同的頭使用不同稀疏度full KVstreamingLLM snapKV pymiadKV 對attention的分布有了逐漸深入和細粒度的了解,目前認為不同層和不同頭都可能表現出不同的稀疏性,需要采取不同的稀疏性策略。壓縮策略也逐漸從靜態轉向動態壓縮。1PYRAMIDKV:DYNAMIC KV CACHE COMPRESSION BASED ON PYRAMIDAL INFORMATION
10、 FUNNELING文件密級:機密模型稀疏化FFM層權重稀疏Dejavu是一種基于參數稀疏化的特GPU-centric offloadingGPU-centric offloading方案,大量實驗發現OPT模型有85%稀疏性,通過二次前向實驗驗證發現每次輸入都可能帶來不同的神經元激活具有context sparse性;設計predictor,通過前一層結果預測下層attention以及FFN的稀疏性;可以帶來內存峰值和時延的顯著收益;Powerinfer則在Dejavu的基礎上推出了GPU-CPU offloadingGPU-CPU offloading方案,基于發現每次將預測得到的激活元素
11、都loading到gpu中在預測批量較小時并不劃算;于是提出兩階段方案:offline階段,通過一個較大的數據集先進行預熱,并將經常激活元素loading進GPU,推理時通過預測器預測激活神經元后,進行CPU-GPU協同推理。通過優化方案將解碼速率提升了2-4倍。1 Deja Vu:Contextual Sparsity for Efficient LLMs at Inference Time2 PowerInfer:Fast Large Language Model Serving with a Consumer-grade GPU文件密級:機密端云協同方案校準分布以及LLMCAD1Hybr
12、id SLM and LLM for Edge-Cloud Collaborative Inference2LLMCad:Fast and Scalable On-device Large Language Model Inference類似投機采樣,采用端側小模型生成,云上大模型校準,云上變為prefill模式,更好利用算力。同時發現端上SLM生成的token經過云側判斷是否準確置信度都很高,這種方式是很有效的。主要在于通過memory-resident model再根據計算成本以及生成的confidence,去生成包含次優結果的token tree,將token tree提交給Server
13、大模型進行驗證,可以更快速地驗證端側生成結果。若驗證結果包含退出符,則直接產生最終結果。文件密級:機密端云協同方案模型選擇與路由1ComplexityNet:Increasing Language Model Inference Efficiency by Learning Task Complexity2LLM CASCADE WITH MULTI-OBJECTIVE OPTIMAL CONSIDERATION創建一個復雜度評估數據集,通過對數據集預測正確性來對每組任務進行打標簽(標簽例如為level1-level5問題難度);標記后的數據用于微調一個小參數語言模型。,根據輸入的prompt
14、判定問題的復雜程度,然后將任務分配到不同能力的大模型上去進行推理多目標表示端云系統有多個優化目標例如:整體精度以及隱私,性能等??梢杂卸嘀囟嗄繕薼ogits的輸出方案:(1)通過提示詞(2)通過指令微調(3)通過Server模型蒸餾學習的方案整體調整SLM。損失函數是多目標損失以及整體精度損失的累加和。其中,隱私泄露的一個評判方式以平均隱私字符泄露為指標。文件密級:機密端上推理困難的解決方案1.耗電量2.計算能力不強:處理多任務,首字時延3.模型能力不夠我們的解決方案 端云協同+端側計算優化(算力+算法)文件密級:機密端云一體的LLM推理引擎AAL interfaceapp profileco
15、mplexity controllermulti object lossdevice apiAIPCapicloudapiprivacycontrollerapp profile:app配置描述,例如是否需要調用端側工具;模型需求能力描述等。complexity controller:模型復雜度評估net,對單次query任務在端云兩側任務的精度表現;privacy controller:評判該任務隱私程度,輸出評分;multi object loss:通過上述三種信息進行多目標損失評判,最終決定將任務路由至收益更高的推理服務上(端或云)。Dynamic routerStatic router
16、文件密級:機密端云協同任務調度開發者(用戶)可以選擇開發云側的agents或者端側對話式創建agent云repo本地repo13B/34B/70B.3B/7B/13B.我想把這些人臉照片批量編輯笑臉。我想給這些code做codereviewagent相關應用repoapp development kit云側端側AAL請求結果返回核心推理引擎能力app下載包括描述文件,資源等文件密級:機密端云協同資源端云多級緩存request managerresource managerinference engineprompt cacheSession KV-CacheApp resources in D
17、RAMApp resources in Flashinput processorLoRAsrequestoutputApp resources in Cloud Repoprompt cacheSession KV-CacheLoRAsapp及相關資源下載用戶在云端進行app創建與調試產生的prompt、kvcache、以及loras等都可以視為app資源,在端側的Dram,flash甚至遠程存儲進行多層緩存,并進行復用。kvcache應用 過程中集成稀疏化等功能。舉例:system prompt為1000tokens時,qwen2.5 3B模型產生的kvcache在4bit壓縮下約為10M,
18、網絡傳輸正常情況下僅需1-2s,但如果使用端側cpu計算,計算時間將長達50s左右。云側LLMapp調試app存儲開發者用戶文件密級:機密端側計算優化任務數越多越能節省時間,補充npu,cpu性能對比圖計算資源充足計算資源充足情況下異構計算設備調度:優先使用npu進行prefil;對于長文本生成任務(decode時長遠大于prefill)進行異構計算流水線調度計算資源緊張計算資源緊張情況下:kv first token預測+稀疏模型layerMlayer1.Aux kvpredictordecode modelkvprefill aux modeldecode sparse model通過kv first token代理模型預測顯著降低首字時間與功耗;通過稀疏模型降低decode時間、內存峰值占用以及功耗;適應于端側計算資源緊張(npu暫不可用狀態)npu prefillnpu decodecpu decodetime saved演講嘉賓:裴瑞光