建構大型語言模型應用與前沿

成本與延遲優化(cost and latency optimization)

一個出色卻太慢或太貴的功能,永遠上不了線。每一次 LLM 呼叫都按詞元收費,也要花時間才能吐出每一個字,於是當使用量增長,這兩個數字就決定了你的產品是否站得住腳。優化它們,是任何認真的 LLM 應用持續不斷的背景工程:用更少的詞元、更少的呼叫,或更小的模型,換到同樣的品質。

最大的施力點,是挑出能通過你評測的最小模型、修剪提示與檢索脈絡好讓你為更少的輸入詞元付費,以及為輸出長度設上限。除此之外:快取重複或相似的請求、把簡單的查詢路由到便宜模型而只把難的送給旗艦、在伺服器端做批次、串流詞元好讓使用者即使完整答案很慢也能立刻看到輸出,並把較短的提示平行處理。許多團隊在有了資料之後,也會蒸餾或微調一個小模型,來取代昂貴的少樣本提示。

這些優化都要拿品質與複雜度去換,因此靠量測而非猜測來引導——你只在評測仍能通過的範圍內砍詞元。成本與延遲也彼此牽動:串流在不改變帳單的情況下改善了體感速度,而較小的模型則同時改善兩者,但冒著一點品質風險。把這個平衡拿捏好,往往正是把一個有潛力的原型,變成一個能以可負擔的成本擴展到眾多使用者的產品的關鍵。

\text{cost} = (n_{\text{in}}\,p_{\text{in}} + n_{\text{out}}\,p_{\text{out}}) \times \text{requests}

一次請求的成本,等於輸入與輸出詞元數乘上各自的單價;削減任一項,或減少請求次數,都能降低帳單。