推論與服務部署

鍵值快取(KV cache)

注意力機制讓每個新詞元都能回看先前的所有詞元,方法是用一個查詢去比對歷史的鍵與值。如果不快取,每個解碼步驟都要把整段過去的鍵和值重算一遍——純粹是浪費,因為一旦某個詞元固定,這些向量就再也不會變。鍵值快取做的就是把它們存起來。

預填充之後,模型把每一層、每一個過去詞元的鍵向量與值向量都留在 GPU 記憶體裡。要產生下一個詞元時,它只計算新詞元的查詢、鍵、值,再對快取裡的 K 和 V 做注意力。這把每步成本從隨序列長度平方成長變成線性成長,也是互動式生成能夠負擔得起的最大功臣——代價是記憶體會隨你保留在脈絡裡的每個詞元而增長。

又称
key-value cache