如何為推論應用程式進行最佳化?

推論最佳化是指提升 AI 模型在正式環境中的執行效能和效率。隨著大型語言模型 (LLM) 的參數數量增至數百億或數千億,推論架構也變得更加複雜,設計和維護應用程式的難度也隨之增加。最佳化是指管理、監控及更新這些耗用大量運算資源的工作負載,以較低的成本實現不到一秒的回應時間和更高的處理量。

這套技術包括模型壓縮和進階記憶體管理等,可將重點從「執行模型」轉移至「擴充智慧服務」。開發人員可藉此打造互動性更高的應用程式,同時維持永續的基礎架構資源占用情況。

推論最佳化通常有兩種主要的實際應用方式:

基礎架構層級最佳化:著重於模型在硬體上的執行方式。包括使用最佳化執行階段 (例如 NVIDIA NIM 或 vLLM)、運用 PagedAttention 等技術管理 GPU 記憶體,以及使用同步批次處理來同時處理多個要求。對於使用開放原始碼或專屬模型的開發人員來說,這通常是最實際的做法。

模型層級最佳化:修改模型本身,縮減大小或降低複雜度。量化 (將精確度從 16 位元降至 4 位元)、蒸餾 (訓練較小的「學生」模型來模仿較大的「教師」模型) 和稀疏度 (修剪不重要的參數) 等技術,可大幅減少每個詞元所需的記憶體和運算資源。

瞭解推論程序的運作方式

程式碼層級工作流程

如要有效最佳化,必須瞭解 LLM 推論的兩個不同階段:

階段

說明

主要特色

預先填充

模型會處理整個輸入提示詞,計算出中繼狀態。

高度平行處理;受運算限制 (充分使用 GPU)。

解碼

模型會以自迴歸方式,逐一生成輸出詞元。

循序;受記憶體限制 (受資料移轉速度限制)。

階段

說明

主要特色

預先填充

模型會處理整個輸入提示詞,計算出中繼狀態。

高度平行處理;受運算限制 (充分使用 GPU)。

解碼

模型會以自迴歸方式,逐一生成輸出詞元。

循序;受記憶體限制 (受資料移轉速度限制)。

  1. 說明目標:首先,部署未經最佳化的模型
  2. 套用量化:減少模型權重 (例如降至 4 位元),讓記憶體能容納較大的批次
  3. 最佳化注意力機制:使用 FlashAttention 或分組查詢注意力 (GQA),將記憶體移動成本降至最低
  4. 管理記憶體:實作 PagedAttention,將 KV 快取儲存在不連續區塊,消除分割
  5. 執行及監控:使用同步批次處理功能來部署,在其他要求完成時,立即啟動新要求

推論最佳化與標準部署的比較

以下是最佳化推論與傳統「簡單」提供模型的比較:

功能

標準部署項目

最佳化推論

處理量

受限於靜態批量和閒置時間。

高;採用同步批次處理和持續疊代。

延遲時間

隨序列長度線性成長;第一個詞元生成時間 (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

工具

起點

技能等級

做法

主要功能

搭載 GPU 的 Cloud Run

輕量的事件導向 AI 服務

新手

無伺服器

將推論工作負載的資源調度率降至零,以因應突發的低延遲工作負載

OSS 模型 (例如 Llama 3)

適合初階至中階使用者

代管/低程式碼

一鍵部署,搭配最佳化的 vLLM 或 NVIDIA NIM 執行階段


高效能正式環境工作負載

適合中階至進階使用者

加速推論

預先建構的微服務,採用最先進的 TensorRT-LLM 最佳化

自訂多模型基礎架構

進階

雲端原生/自訂

可完整控管 GPU sharding、自動化調度管理和自訂推論伺服器

大規模 TPU 優先開發

進階

TPU 最佳化/XLA

專為 XLA 量身打造,在 Cloud TPU 上採用持續批次處理和 PagedAttention

如何使用 Vertex AI Model Garden 來最佳化推論

Model Garden 是部署 Llama、Gemma 和 Mistral 等頂尖的開放式模型最佳化版本的捷徑。

步驟 1:選取並設定模型

前往 Model Garden 並尋找支援的 OSS 模型。按一下「部署」。在設定中,選取最佳化執行階段,例如 vLLM 或 NVIDIA NIM。

步驟 2:套用量化

選擇模型的量化版本 (例如 4 位元或 8 位元),以減少記憶體用量。這樣一來,您就能在同一個 GPU 上處理較大的批量,直接提高處理量。

步驟 3:啟用進階記憶體管理

確保提供容器已設定為使用 PagedAttention。這項技術可讓模型將「記憶」(鍵/值快取) 儲存在不連續區塊中,避免浪費記憶體,並擴大脈絡窗口。

步驟 4:部署及監控

部署後,Vertex AI 會自動處理同步批次,並在現有要求完成一個詞元後,立即處理新要求。使用 Vertex AI 模型監控來追蹤延遲時間,確保輸出內容的「感覺」維持高品質。

如何使用 GKE 最佳化推論作業

如要精細控管自動化調度管理作業和自訂推論核心,GKE 是業界標準選擇。

步驟 1:使用 NVIDIA GPU 或 Cloud TPU,初始化叢集

佈建具備專用 GPU 節點 (例如 L4 或 H100) 的 GKE 叢集。安裝 NVIDIA GPU Operator,自動處理驅動程式管理和效能調整作業。

步驟 2:部署最佳化的推論伺服器

使用容器化推論引擎,例如 vLLM 或r Triton Inference Server。這些伺服器支援連續批次處理和張量平行處理,可讓您將大型模型分割到多個 GPU。vLLM 也讓您能輕鬆在 TPU 和 GPU 之間切換,只需極少的額外編碼作業。

步驟 3:實作推測解碼

如需滿足對業務至關重要的延遲需求,請設定推測解碼。這項技術會使用較小且速度較快的「草稿」模型來預測詞元,然後由較大的「目標」模型平行驗證,通常可將速度提升 2 至 3 倍。

步驟 4:使用 GKE Inference Quickstart 簡化部署作業

GKE Inference Quickstart 就像預先設定的資料庫,收錄經過測試的推論堆疊設定。只要指定模型、延遲時間需求和成本優先項目,這項工具就會根據最佳做法和最新基準,提供一系列建議。您可以監控推論專屬的成效指標,並動態微調部署作業,確保一律採用最佳化技術。

步驟 5:使用 GKE Inference Gateway 調度資源

GKE Inference Gateway 現已正式發布,推出兩項進階功能,可管理複雜的生成式 AI 應用程式。

  • 前置字元感知轉送:對於多輪對話或文件分析等應用程式,這項功能會將要求轉送至已快取內容的相同加速器,進而縮短回應時間。
  • 分散式提供程序:這項技術會將初始「預先填充」階段 (提示詞處理) 與「解碼」階段 (詞元生成) 分開。由於這些階段的資源需求不同,因此您可以在個別的最佳化機器集區中執行,以發揮最大效率。

步驟 6:使用 Anywhere Cache 加快資料存取速度

Anywhere Cache 是全新的完全一致讀取快取,可與現有的 Google Cloud Storage (GCS) bucket 搭配使用,快取與加速器相同的可用區中的資料。這項功能可將讀取延遲時間縮短多達 96%,並盡量降低讀取密集型工作負載的相關網路成本。

步驟 7:使用 Cloud WAN 連結全球工作負載

Cloud WAN 是全代管的全球網路,建構於 Google 的全球規模基礎架構,可將整個基礎架構連結在一起。Cloud WAN 可連結不同區域、雲端和地端部署環境的 AI 運算資源,與傳統 WAN 解決方案相比,推論應用程式體驗提升 40%,TCO 降低 40%。

透過 Google Cloud 解決業務難題

新客戶可以獲得價值 $300 美元的免費抵免額,盡情試用各項 Google Cloud 功能。

後續行動

運用價值 $300 美元的免費抵免額和 20 多項一律免費的產品,開始在 Google Cloud 建構產品與服務。