aiDAPTIV TM

更快速的 AI 推論效能與更大規模的 LLM 訓練,全程於本地部署(On-Prem)私有環境完成

KV 快取擴充與重複使用

保留更多上下文。減少重建 

KV 快取是什麼 

LLM 推論分成兩個主要階段: 

模型處理每個 Token 時,其注意力層會為該 Token 建立key 與 value表示。 下一個 Token 進來時,模型會使用那些已儲存的 key/value,不必重新計算先前所有 Token。 這些被儲存下來的注意力狀態,就是 KV 快取。

KV 快取並非來源文件、聊天記錄、RAG 索引或Agent計畫本身。這些仍然是應用程式資料。KV 快取是模型針對其已處理 Token 的內部工作狀態。 

Inference - KV cache explodes memory use

Inference - aiDAPTIV offloads KV cache to flash

為什麼 KV 快取會成為記憶體問題

每個保留的 Token 都會使用 KV 快取記憶體。總需求隨著下列情況增加: 

模型架構與注意力層數 

上下文長度

KV 快取精度

生成的輸出長度

作用中的序列或使用者數量

長文件、大型 RAG 輸入內容、工具密集型Agent、大量的程式碼上下文與長時間的專案工作階段,都會讓使用中的 KV 快取超出可用 GPU 或統一記憶體的容量。 

挑戰

KV 快取擴充

代表的意義

即時工作負載需要保留的 KV 快取容量,超出高速記憶體所能容納

挑戰

KV 快取重複使用

代表的意義

相關任務重複預填充相同的輸入內容

挑戰
代表的意義
KV 快取擴充
即時工作負載需要保留的 KV 快取容量,超出高速記憶體所能容納
KV 快取重複使用
相關任務重複預填充相同的輸入內容

Pascari aiDAPTIV™ 協助支援的工作負載跨 GPU 記憶體、系統記憶體與快取記憶體保留符合條件且較少使用的KV 快取狀態,而不是在高速記憶體容量受限時立即將其捨棄。 

GPU 或統一記憶體仍然是作用中運算層。較低層級增加了保留的容量;它們無法讓快閃記憶體達到像 GPU 記憶體一樣的效能。 

重複使用採精確比對,而非語意比對

KV 快取能否重複使用, 取決於 Token 是否完全一致。 

共用的 Token 序列,從提示開頭到重複使用的部分都必須相符。一旦出現第一個不相符,後面就無法再重複使用。 

即使兩個提示語義相似,但如果其 Token 順序、標點符號、格式設定、工具定義、文件順序或系統提示有所不同,仍無法重複使用快取。 

這使得提示結構變得非常重要。穩定的系統提示、固定的工具定義、長來源文件、固定的上下文欄位,或是可重複使用的Agent設定,都能打造可重複使用的實用前綴。

重複使用降低預填充工作量。但無法完全省略 

可重複使用的前綴相符時,系統可避免重新運算已處理過的上下文內容。 

新問題、變更後的後綴、工具回應或下一個Agent步驟仍須處理。 

重複使用取決於執行階段支援與相容的輸入。應用程式必須以穩定的順序保留共用內容,並將變更的輸入附加於後方。 

Exact-prefix KV reuse

Reuse stops at the first change

To maximize reuse, keep shared instructions, tools, and documents at the beginning and place changing input (questions, tasks, or steps) at the end.

RAG 預先快取

當每次查詢都以不同順序組合檢索到的區塊時,傳統 RAG 的重複使用空間有限。 

具備快取感知能力的 RAG 工作流程,會將相關資料整理成固定的上下文區塊。它可以保留每個區塊的 KV 快取狀態,為新問題檢索相關資料,選擇相容的區塊作為穩定前綴,然後將即時問題附加於後方。 

檢索或推理並未隨之消失。當相關問題依賴相同的基礎資料時,這種方式可以減少重複工作。 

Prepare stable context blocks ahead of time, then add the live question later

1

Documents / knowledge base

2

Stable context blocks

3

Precompute KV cache

4

Store in aiDAPTIV Cache Memory

5

Live question

6

Less repeat prefill work

Still retrieves and reasons; reduces repeat work.

Agent工作流程並非單一提示與一個答案

Agent通常以循環機制運作:

規劃

行動

觀察

重複

每個步驟都可以新增系統指令、工具結構描述、搜尋結果、資料庫回應、檢索的文件、中介輸出、工作產出,以及子Agent的輸出。 

開頭是適度上下文視窗的任務,在您看到最終結果之前,可能會演變成長期的記憶體問題。 

擴充與重複使用最能發揮作用的情況

有意義的上下文在相關工作維持穩定時,KV 快取擴充與重複使用最能發揮作用: 

長文件工作流程

私有或企業 RAG 系統

具有可重複專案上下文的程式設計工具

在多個步驟間維持相同指令、工具與任務狀態的 Agent

若每個提示從第一個 Token 就不同、共享前綴很短、上下文很少重複使用,或者執行階段不支援所需的快取行為時,比較無法發揮作用。

深入了解KV 快取

了解 aiDAPTIV 可如何擴充符合條件的 KV 快取保留容量,並且跨文件、RAG、程式設計與Agent工作流程重新使用相容的共享輸入。 

SEAMLESS INTEGRATION

  • Optimized middleware to extends GPU memory capacity
  • 2x 2TB aiDAPTIVCache to support 70B model
  • 低延遲

HIGH ENDURANCE

  • 業界領先,高達100次的五年內每日寫入次數(DWPD)
  • 採用業界先進NAND 糾錯算法的SLC NAND

aiDAPTIV+ BENEFITS

  • 隨插即用,無縫整合
  • 無需修改現有 AI 應用
  • Reuse existing HW or add nodes

aiDAPTIV+ MIDDLEWARE

  • 模型自動分割與 GPU 資源調度
  • Hold pending slices on aiDAPTIVCache
  • Swap pending slices w/ finished slices on GPU

FOR SYSTEM INTEGRATORS

  • Access to ai100E SSD
  • Middleware library license

  • Full Phison support to bring up