推論與服務部署
預填充與解碼(prefill vs. decode)
推論有兩個性格迥異的階段。預填充負責讀提示——把所有詞元當成一個大型矩陣乘法平行處理,屬於算力密集。解碼接著一個詞元一個詞元地寫出答案;每一步的算術都很小,時間卻幾乎都花在等記憶體上。
預填充時 GPU 是真正忙碌的(算力受限):它把幾百到幾千個提示詞元一起運算,一次就把鍵值快取填好。解碼時它每一步只處理一個詞元,算術微不足道,卻必須在每一步都把整個快取和所有權重從記憶體重讀一遍——使解碼變成記憶體頻寬受限。這個分裂正是為什麼長提示配短答案感覺很快,短提示配長答案卻每個詞元都很慢,也是為什麼這兩個階段常被分開排程、甚至放到不同硬體上。
又称
另见