推論最佳化是指提升 AI 模型在正式環境中的執行效能和效率。隨著大型語言模型 (LLM) 的參數數量增至數百億或數千億,推論架構也變得更加複雜,設計和維護應用程式的難度也隨之增加。最佳化是指管理、監控及更新這些耗用大量運算資源的工作負載,以較低的成本實現不到一秒的回應時間和更高的處理量。
這套技術包括模型壓縮和進階記憶體管理等,可將重點從「執行模型」轉移至「擴充智慧服務」。開發人員可藉此打造互動性更高的應用程式,同時維持永續的基礎架構資源占用情況。
基礎架構層級最佳化:著重於模型在硬體上的執行方式。包括使用最佳化執行階段 (例如 NVIDIA NIM 或 vLLM)、運用 PagedAttention 等技術管理 GPU 記憶體,以及使用同步批次處理來同時處理多個要求。對於使用開放原始碼或專屬模型的開發人員來說,這通常是最實際的做法。
模型層級最佳化:修改模型本身,縮減大小或降低複雜度。量化 (將精確度從 16 位元降至 4 位元)、蒸餾 (訓練較小的「學生」模型來模仿較大的「教師」模型) 和稀疏度 (修剪不重要的參數) 等技術,可大幅減少每個詞元所需的記憶體和運算資源。
如要有效最佳化,必須瞭解 LLM 推論的兩個不同階段:
階段 | 說明 | 主要特色 |
預先填充 | 模型會處理整個輸入提示詞,計算出中繼狀態。 | 高度平行處理;受運算限制 (充分使用 GPU)。 |
解碼 | 模型會以自迴歸方式,逐一生成輸出詞元。 | 循序;受記憶體限制 (受資料移轉速度限制)。 |
階段
說明
主要特色
預先填充
模型會處理整個輸入提示詞,計算出中繼狀態。
高度平行處理;受運算限制 (充分使用 GPU)。
解碼
模型會以自迴歸方式,逐一生成輸出詞元。
循序;受記憶體限制 (受資料移轉速度限制)。
以下是最佳化推論與傳統「簡單」提供模型的比較:
功能 | 標準部署項目 | 最佳化推論 |
處理量 | 受限於靜態批量和閒置時間。 | 高;採用同步批次處理和持續疊代。 |
延遲時間 | 隨序列長度線性成長;第一個詞元生成時間 (TTFT) 較長。 | 經過最佳化調整;採用預先填充加速和推測解碼。 |
記憶體管理 | 靜態分配 (為長度最大值過度佈建)。 | 動態 (分頁);透過 PagedAttention 減少浪費。 |
硬體效率 | 通常無法充分發揮 GPU/TPU 的運算能力。 | 最大化;使用最佳化核心 (TFE-IE、XLA)。 |
單次要求費用 | 較高;相同負載需要更多硬體。 | 較低;在相同基礎架構中處理更多要求。 |
功能
標準部署項目
最佳化推論
處理量
受限於靜態批量和閒置時間。
高;採用同步批次處理和持續疊代。
延遲時間
隨序列長度線性成長;第一個詞元生成時間 (TTFT) 較長。
經過最佳化調整;採用預先填充加速和推測解碼。
記憶體管理
靜態分配 (為長度最大值過度佈建)。
動態 (分頁);透過 PagedAttention 減少浪費。
硬體效率
通常無法充分發揮 GPU/TPU 的運算能力。
最大化;使用最佳化核心 (TFE-IE、XLA)。
單次要求費用
較高;相同負載需要更多硬體。
較低;在相同基礎架構中處理更多要求。
Google Cloud 提供多種工具,可滿足不同技能程度的使用者和架構需求。
工具 | 起點 | 技能等級 | 做法 | 主要功能 |
搭載 GPU 的 Cloud Run | 輕量的事件導向 AI 服務 | 新手 | 無伺服器 | 將推論工作負載的資源調度率降至零,以因應突發的低延遲工作負載 |
OSS 模型 (例如 Llama 3) | 適合初階至中階使用者 | 代管/低程式碼 | 一鍵部署,搭配最佳化的 vLLM 或 NVIDIA NIM 執行階段 | |
高效能正式環境工作負載 | 適合中階至進階使用者 | 加速推論 | 預先建構的微服務,採用最先進的 TensorRT-LLM 最佳化 | |
自訂多模型基礎架構 | 進階 | 雲端原生/自訂 | 可完整控管 GPU sharding、自動化調度管理和自訂推論伺服器 | |
大規模 TPU 優先開發 | 進階 | TPU 最佳化/XLA | 專為 XLA 量身打造,在 Cloud TPU 上採用持續批次處理和 PagedAttention |
工具
起點
技能等級
做法
主要功能
Model Garden 是部署 Llama、Gemma 和 Mistral 等頂尖的開放式模型最佳化版本的捷徑。
前往 Model Garden 並尋找支援的 OSS 模型。按一下「部署」。在設定中,選取最佳化執行階段,例如 vLLM 或 NVIDIA NIM。
選擇模型的量化版本 (例如 4 位元或 8 位元),以減少記憶體用量。這樣一來,您就能在同一個 GPU 上處理較大的批量,直接提高處理量。
確保提供容器已設定為使用 PagedAttention。這項技術可讓模型將「記憶」(鍵/值快取) 儲存在不連續區塊中,避免浪費記憶體,並擴大脈絡窗口。
部署後,Vertex AI 會自動處理同步批次,並在現有要求完成一個詞元後,立即處理新要求。使用 Vertex AI 模型監控來追蹤延遲時間,確保輸出內容的「感覺」維持高品質。
如要精細控管自動化調度管理作業和自訂推論核心,GKE 是業界標準選擇。
佈建具備專用 GPU 節點 (例如 L4 或 H100) 的 GKE 叢集。安裝 NVIDIA GPU Operator,自動處理驅動程式管理和效能調整作業。
使用容器化推論引擎,例如 vLLM 或r Triton Inference Server。這些伺服器支援連續批次處理和張量平行處理,可讓您將大型模型分割到多個 GPU。vLLM 也讓您能輕鬆在 TPU 和 GPU 之間切換,只需極少的額外編碼作業。
如需滿足對業務至關重要的延遲需求,請設定推測解碼。這項技術會使用較小且速度較快的「草稿」模型來預測詞元,然後由較大的「目標」模型平行驗證,通常可將速度提升 2 至 3 倍。
GKE Inference Quickstart 就像預先設定的資料庫,收錄經過測試的推論堆疊設定。只要指定模型、延遲時間需求和成本優先項目,這項工具就會根據最佳做法和最新基準,提供一系列建議。您可以監控推論專屬的成效指標,並動態微調部署作業,確保一律採用最佳化技術。
GKE Inference Gateway 現已正式發布,推出兩項進階功能,可管理複雜的生成式 AI 應用程式。
Anywhere Cache 是全新的完全一致讀取快取,可與現有的 Google Cloud Storage (GCS) bucket 搭配使用,快取與加速器相同的可用區中的資料。這項功能可將讀取延遲時間縮短多達 96%,並盡量降低讀取密集型工作負載的相關網路成本。
Cloud WAN 是全代管的全球網路,建構於 Google 的全球規模基礎架構,可將整個基礎架構連結在一起。Cloud WAN 可連結不同區域、雲端和地端部署環境的 AI 運算資源,與傳統 WAN 解決方案相比,推論應用程式體驗提升 40%,TCO 降低 40%。