推論與服務部署
大型語言模型的 GPU 記憶體(GPU memory for LLMs)
一張 GPU 有一池固定的快速記憶體,也就是它的顯示記憶體,而一個大型語言模型必須把兩樣大東西塞進去:模型權重,以及每個作用中請求的鍵值快取。塞不下,模型就根本無法在那張裝置上運行——只能改成切分到好幾張 GPU 上。
權重主宰了靜態佔用——大約是參數量乘以每個參數的位元組數,所以一個七百億參數的模型在 fp16 約需 140 GB、在 int4 約需 35 GB——再加上一些激活的暫存空間。其上是鍵值快取,它隨脈絡長度與批次大小成長,在服務時把剩下的記憶體吃光。當模型超過單張 GPU 的顯示記憶體時,就用張量平行或管線平行切分到多張裝置。比起純粹的算力,記憶體更常是那個決定你究竟能服務多大模型、多長脈絡的關鍵約束。
又稱
另見