佈建輸送量中的每秒權杖範圍有何含義?
本文說明 Databricks 如何及為何針對基礎模型 API 的布建輸送量工作負載測量每秒的令牌。
大型語言模型 (LLM) 的效能通常以每秒的令牌來測量。 設定提供端點的生產模型時,請務必考慮應用程式傳送至端點的要求數目。 這樣做可協助您瞭解端點是否需要設定為調整規模,以免影響延遲。
為部署已布建輸送量的端點設定向外延展範圍時,Databricks 發現使用令牌進入系統的輸入比較容易。
什麼是令牌?
LLM 會以所謂的 令牌來讀取併產生文字。 令牌可以是單字或子字,而將文字分割成標記的確切規則會因模型而異。 例如,您可以使用在線工具來查看 Llama 的 Tokenizer 如何將 單字轉換成令牌。
為何以每秒令牌的方式測量 LLM 效能?
傳統上,服務端點是根據每秒並行要求數目(RPS) 來設定。 不過,LLM 推斷要求會根據傳入的令牌數目和產生多少令牌,而可能需要不同的時間,這在要求之間可能會不平衡。 因此,決定您的端點需要相應放大多少,需要根據要求的內容來測量端點規模 - 令牌。
不同的使用案例具有不同的輸入和輸出權杖比例:
- 輸入內容的不同長度:雖然有些要求可能只牽涉到幾個輸入令牌,例如簡短的問題,但有些要求可能會牽涉到數百個甚至數千個令牌,例如摘要的長檔。 這種變化使得僅根據 RPS 挑戰來設定服務端點,因為它不會考慮不同要求的不同處理需求。
- 視使用案例而定,輸出長度不同:LLM 的不同使用案例可能會導致截然不同的輸出令牌長度。 產生輸出令牌是 LLM 推斷中最耗費時間的部分,因此這可能會大幅影響輸送量。 例如,摘要涉及較短的 pithier 回應,但文字產生,例如撰寫文章或產品描述,可能會產生更長的答案。
如何? 選取端點的每秒令牌範圍嗎?
布建的輸送量服務端點會根據每秒可傳送至端點的令牌範圍來設定。 端點會相應增加和減少,以處理生產應用程式的負載。 您每小時會根據端點調整為的令牌範圍,以每小時計費。
瞭解布建輸送量端點上每秒哪些令牌範圍最適合您的使用案例,就是使用代表性數據集執行負載測試。 請參閱 進行您自己的 LLM 端點基準檢驗。
需要考慮兩個重要因素:
Databricks 如何測量 LLM 每秒的令牌效能
Databricks 會針對代表擷取增強產生使用案例時常見的摘要工作工作負載,對端點進行基準檢驗。 具體而言,工作負載包含:
- 2048 輸入令牌
- 256 個輸出令牌
所 顯示的令牌範圍會結合 輸入和輸出令牌輸送量,而且根據預設,會針對平衡輸送量和延遲進行優化。
Databricks 基準檢驗,使用者可以以每個要求 1 的批次大小同時將每秒許多令牌傳送至端點。 這會模擬多個同時叫用端點的要求,這更準確地表示您在生產環境中實際使用端點的方式。
自動調整的運作方式
模型服務具有快速自動調整系統,可調整基礎計算,以符合應用程式每秒的令牌需求。 Databricks 會以每秒令牌區塊的方式相應增加布建的輸送量,因此只有在您使用布建輸送量時,才會向您收取額外的布建輸送量費用。