當前位置: 妍妍網 > 資訊

ChatGPT 價格裏掩蓋的算力分布秘密 | 新程式設計師

2024-02-23資訊

【導讀】 當前,大語言模型的商業化持續進行,本文聚焦這一變革背景下的 ChatGPT 定價機制,深入剖析其核心技術內涵。透過細致研究 ChatGPT-3.5 turbo 采用的 Decode-Only 架構,作者系統地探討了模型在接收到輸入提示並生成相應輸出的過程中,如何差異化利用 GPU 算力資源,進而闡明了支撐該定價策略的獨特技術原理。

本文精選自【 007:大模型時代的開發者】,【新程式設計師 007】聚焦開發者成長,其間既有圖靈獎得主 Joseph Sifakis、前 OpenAI 科學家 Joel Lehman 等高瞻遠矚,又有對於開發者們至關重要的成長路徑、工程實踐及趟坑經驗等,歡迎大家 。

作者 | 李波

責編 | 王啟隆

出品 | 【新程式設計師】編輯部

2022 年 8 月,美國科羅拉多州舉辦藝術博覽會,【太空歌劇院】獲得數位藝術類別冠軍,此作品是遊戲設計師 Jason Allen 使用 AI 繪圖工具 Midjourney 生成;同年 11 月 30 日由 OpenAI 研發的一款聊天機器人程式 ChatGPT 釋出,生成式 AI( AIGC )概念開始極速式地席卷全球,逐漸深入人心,預示著一個新的 AI 時代。

現在回過頭來看這幅【太空歌劇院】,你有什麽感覺?

隨著 ChatGPT 使用者爆發式的增長,大型語言模型( Large Language Model,簡稱 LLM )受到企業、政府、大眾的廣泛關註。由於 ChatGPT 的閉源策略,開源大語言模型在 2023 年叠代頻繁,種類繁多。隨著語言模型研究的深入,大多數從業人員對語言模型的本質及其功能有了基本的了解,但在模型商業化方向上,不同的模型到底如何定義模型的服務成本,又為什麽該這樣的定義,常常無從下手。ChatGPT 作為 LLM 套用的開創者,自然有其答案,但是又如此的不明顯或讓人困惑。

本文試圖透過深入分析模型結構,了解成本成因,提煉 ChatGPT 的定價方法論,指導通用語言模型推理的基礎方向,其中涉及的技術分析均以 ChatGPT-3.5 turbo 采用的 Decode-Only 架構結構為基礎,重點討論宏觀邏輯方向,並不做精確指向。

令人困惑的價格

ChatGPT 是一個復雜的自然語言處理平台,利用先進的機器學習演算法來分析和建立類似人類的文本或說話方式。它的功能非常廣泛,包括文本推演、文本分類和語言轉譯等。針對這類模型,合理的定價方式會是一個有意思的問題。

對此,OpenAI 給出的答案非常新穎,其 ChatGPT 平台並沒有按呼叫次數定價,而是對數據處理進行定價,這讓人有點匪夷所思,甚至違反常識( 參見圖 1 )。更有特點的是,ChatGPT 定價針對輸入數據與輸出數據的差異,可見其不僅在套用層面帶來驚艷,定價也是與眾不同。

圖 1 ChatGPT 定價表

我曾與 Gartner 高級分析師就此問題展開過討論,對方的觀點更傾向於 OpenAI 是出於商業競爭考慮做出的定價策略,此策略對成本的相關性較弱,為了更快速的市場占有率而制定。我同意這樣的觀點。

由於 ChatGPT 的模型結構、部署卡數、限流策略、伺服器資源的水位控制、最大的並行能力以及首 token 的延遲標準等影響推理系統的重要資訊未被披露,我們無法計算出真實的推理成本以及他們的 API 毛利率。但作為世界上使用者人數增長最快的套用,先拉低初次使用費用,再利用規模效應,最佳化演算法與推理系統,以達到低成本的長尾收獲,不失為一種冷啟動的商業模式。只是,這種思路並沒有完整的回 答我內心的關於輸入與輸出定價不同的問題:它們之間的價格為什麽是成倍的?且大多為 2 倍?這似乎隱約對映著某種底層邏輯。

我們先回顧一下圖 1 中的幾處關鍵概念:

  • token

    token 是大語言模型的一個基本概念,它本質上是用於分析和處理的語言的構建塊。在像 ChatGPT 這樣的語言模型中,token 對於理解和生成自然語言文本方面起著至關重要的作用。

  • 上下文視窗

    上下文視窗是語言模型在處理文本時可以考慮的最大文本量。ChatGPT 系列的模型中都帶有一個上下文視窗,如 GPT-416K,GPT-432K 這類,其中的 16K 就是指的模型可以一次性處理的 token 數量;如果使用者輸入的提示超出了模型的上下文視窗限制,它就會忘記限制之後的內容。

  • 提示詞

    提示詞是大語言模型的輸入,是對話的開始,亦是一段指令、背景描述、幾個例子或任何使用者想告訴大語言模型的事情。

  • 我們再看一下通用模型的一般服務成本:

  • 推理成本 ,即呼叫 LLM 生成響應的成本。

    為硬性支出 成本 表現為 GPU 物理伺服器或雲 GPU 伺服器成本 高速網路成本 儲存成本等

  • 調整成 即調整客製的 LLM 預訓練/微調模型響應的成本。

    為軟性支出成本 主要表現為研發人力的投入, 對模型加速 服務化 監控等方面的投入成本

  • 托管成本 即部署和維護 API 背後的模型、支持推理或調優的成本。

    為硬性支持成本,私有化或雲的托管費用。

  • 也許還有更多成本與商業定價策略未包含其中,但是以上 3 點會在定價策略中優先考慮,其中推理成本占比最高,尤其是其中的 GPU 算力成本,為了便於討論,我們姑且將 ChatGPT 的定價策略都歸因到算力上。

    提示 Token 應該計費嗎?又為什麽更便宜?

    LLM 目前的主流模型為 Decoder-Only 型別中的 CausalLM( Causal Language Model,因果語言模型 ),它的算力釋放全過程如圖 2 表示。

    圖 2 CausalLM 的算力釋放全過程

    全流程中核心算力密度集中在 Decoder-Only 細化步驟如圖 3

    圖 3 細化步驟示意圖

    Decoder-Block 主要分 2 部份,Attention 和 FFN:

  • Attention,模型參數有 Q,K,V 的權重矩陣 W Q ,W K ,W V 以及 Bias,輸出權重矩陣 Wo 以及 Bias,4個權重矩陣的維度為 [hidden_size, hidden_size],4 個 Bias 的維度是 [hidden_size]。

  • FFN,由 2 個線性層組成,一般首層會將維度從 H 對映 到 3H 或者 4H,後層再將 3H/4H 對映回 H。

  • 我們繼續推演,窺探一下推理過程的算力分布,這裏僅列出過程中的關鍵操作,省略計算的詳細推導過程,同時忽略 embedding,位置編碼,logits 的計算。 下面先簡短回顧核心 公式以及計算張量的維度變化( 參見圖 4、圖 5、圖 6、圖 7 )。

    圖 4 Attention 計算量公式

    圖 5 QK^T 矩陣乘法的輸入和輸出形狀

    圖 6 Xout 輸入和輸出形狀

    圖 7 FFN 計算量公式

    embedding 維度 d 的情況下,提示 sqlen 在第一次推理時的單一 token 需要的算力分布大致如下,單位為 Flops( 見圖 8 ):

    圖 8 算力分布公式

    這裏重點解釋一下 Attention 的計算為什麽不是 Nl×4×sqlen×d,針對自回歸解碼器模型而言,token 只會關註先前的 token 序列,這意味著註意力分數矩陣 S 是一個下三角矩陣,不需要計算上三角部份,即 QKT 的計算只計算下三角,為 (sqlen+1)×d。另外,在 Attention 輸出變換時( 計算圖 2 的維度中, SOFTMAX 的返回值為下三角 ),也能減少一半計算,最後計算量為 Nl×2×s qlen×d。

    以上是在 Batch Size=1 的一次向前推理,後續的每一次推理理論上都需要相同的計算量。實際情況中,由於推理框架加速技術和 KVcache 的作用,實際計算量會顯著下降,但推理速度並不會顯著提升,這是因為還涉及到模型的計算需求與訪存需求的 限制或權衡。

    對於訪存密集型模型來說,其推理速度受限於 GPU 訪存頻寬,每種不同 GPU 的訪存頻寬不一,模型大小不一,其推理速度差別較大,這裏只從宏觀層面闡述一般性總結,忽略模型數據或中間結果的數據傳輸與訪存頻寬之間的關系。

    Decoder-Only Transformer 模型為訪存密集型模型,其推理過程分為 2 個階段,Stage 1( 階段 1 )是 Prefill,Stage 2( 階段 2 )為 Decode,Prefill 由於可以透過大 Batch Size 計算,使得這一階段為計算密集型,推理速度較快。

    Decode 為逐個 token 解碼,采用自回歸形式,期間需要在 HBM 和 SDRAM 中頻繁搬運數據,導致模型進入訪存密集型階段,推理速度較慢,GPU 視訊記憶體分布可見圖 9,從上到下,訪存頻寬指數級減少。

    圖 9 GPU 視訊記憶體分布示意圖

    圖 10 和圖 11 是 LLaMA-13B 在 A6000 上對輸入序列 1024 的測試表現,我們可以交叉來看,在 Batch Size 遞增時,Prefill 的推理時間幾乎不變,各類計算階段漲跌不大,但計算密度在增加;在 Decode 階段,Batch Size=1 的情況下 Decode 的延遲達到了 Prefill 的 200+ 倍,因為其計算密度幾乎為 0,隨著 Batch Size 遞增,計算密度緩慢提高,但(FFN+QKVO)的線性算子的延遲急劇下降到 20+ 倍以下。

    圖 10 測試表現圖其一

    圖 11 測試表現圖其二

    可以推斷,Decode 階段增大 Batch Size 可以提高計算密度,對整體延遲降低有較大幫助,在此例子中如果達到 256,Decode 會重新回到計算密集型,整體推理延遲會顯著下降,但在達到這個臨界 BatchSize 之前,相比 Prefill 是數量級的緩慢。

    在真實的生產場景,由於 GPU 視訊記憶體的限制,不可能直線增大 Batch Size,因為還要留給 KV Cache 一些空間。就本例而言,Batch Size=18 或許已經是最優選擇。這裏比較有意思的是 Attention 的計算延遲並沒有從大 Batch Size 中受益,幾乎沒 有變化。最後一句話總結,Decode 無論是否真實的占用了 GPU 算力,都是占用了 GPU 的使用時間,理論上 GPU 在單位時間內的價格是固定的,占用時長直接與使用費用成正比。

    回到我們的問題,我們很容易分辨出 Prefill 階段對應 API 輸入 prompt 處理,API 回復對應 Decode 階段的處理。由於對算力占用時長的不同,它們的定價有差異性才是正常,圖 1 定價 Prefill 階段幾乎是 Decode 階段的 2 倍,但是時長占比可能是 20 ~ 200 倍,似乎中間還有一個 scale 值;這或是因為我們只是考慮單卡單 session 的情況,在真實的 GPU 集群場景下,除了單卡加速外,TP/PP 的平行計算,在集群效能的極限並行情況下,scale 可能達到 10 ~ 100 倍。另外,由於 Prefill 的延遲極短,針對單 token 而言費用極低,從定價策略來說,可能只是象征性的,Decode 階段才是核心,內容是持續產生的,也是我們需要的。某種程度上可以理解為,API 的單一定價策略,即總體成本以輸出 Decode 階段為主。

    新勢力帶來的新趨勢

    ChatGPT 的 tokens 價格在業內是極具競爭力的,OpenAI 的 AI infra 能力起到了決定性的作用,透過量化、TT、模型分布式部署、算子融合、視訊記憶體管理和 CPU offload 等技術,再加之商業讓利,是可能達到這樣的定價水平。

    ChatGPT 在 2023 年的幾次降價都 說明了 OpenAI 演算法和工 程化能力的快速進步,向技術拿收益確實是實打實的,不斷降低模型推理成本是推動大語言模型廣泛套用及實作 AGI 目標的關鍵驅動力。2024 年所有的模型創新和推理加速技術創新一定會圍繞高效能低成本這個目標。

    基於 Decoder-Only Transformer 類似的 LLM,存在計算與儲存都與輸入成二次方的關系,對算力、視訊記憶體大小、訪存頻寬都有極高的要求,加上對上下文視窗的限制以及視窗內部份遺忘的問題,對 LLM 套用也產生了一定阻力,學術界因此也在不斷發展新的模型結構,試圖解決這些問題。

    目前比較有創新力的新模型結構有 Striped Hyena 和 Mamba,它們突破了隨著文本長度的增加,算力需求成二次方的要求,幾乎可以做到算力對輸入文本線性增長,並可以分段拆分輸入文本,平行計算,極大提高推理速度,使得推理成本會進一步大幅降低。

    另外,新的模型組合方式有 Mistral AI 釋出的 Mixtral-7B×8-MoE(

    混合專家模型

    ),由 8 個 7B 參陣列成的網路,這種方式不僅可以提高模型處理資訊的效率,提升模型效能(幾乎已超越 LLaMa-70B),更重要的是降低了執行成本。據官方說明,Mixtral-7B×8-MoE 實際參數並非 56B,而是 45B。該模型中只有前饋層是各專家獨有,其余參數與 7B 模型情況相同,各專家共享。每次推理過程,門控路由網路只會選擇 2 個專家進行實際推理,過程中只會使用其中 120 億參數,每個 token 會被 2 個模型處理。於是,MoE 模型的推理速度和成本與 12B 參數規模的模型是一樣的。當然,這暫時忽略了 45B 模型的部署成本,部署成本根據模型的量化程度所需要的啟動 GPU 視訊記憶體開銷是不同的,比如 FP16 精度下,至少需要 90GB 的空間才能啟動,這需要 2 張 A100/800-80GB 的卡,或者 3 張 A100-40GB 的卡。如果精度降到 4bit,只要大於 23GB 就滿足要求。MoE 開啟了用相對的低算力卻可以達到需要高算力才能產生的模型精度的新範式,以獨特的維度降低了大模型的服務成本。

    2024 年,新的模型結構與加速方式,配合新一代 GPU 硬體的發展,預計將對後續的模型研究產生積極的影響,並可能覆寫現行的計價模式——回歸傳統的按呼叫次數計費 。這種轉變不僅預期大幅降低使用成本,同時有利於簡化計費系統架構設計及其流量控制管理等方面的操作。然而,呼叫次數計費模式的核心在於揭示了一個趨勢:模型能力的價值在定價中的比重將顯著提升(

    當前這一比例接近個位數

    );與此同時,模型推理成本在定價中的比重則會大幅下降(

    當前幾乎占據了 100%

    )。

    隨著成本逐漸走低,商業價值得到提升,套用回歸商業底層邏輯,最終讓大語言模型真正走進千行百業,發揮推動產業變革,企業數位化升級的新手段。

    4 月 25 ~ 26 日,由 CSDN 和高端 IT 咨詢和教育平台 Boolan 聯合主辦的「 全球機器學習技術大會 」將在上海環球港凱悅酒店舉行,特邀近 50 位技術領袖和行業套用專家,與 1000+ 來自電商、金融、汽車、智慧制造、通訊、工業互聯網、醫療、教育等眾多行業的精英參會聽眾,共同探討人工智慧領域的前沿發展和行業最佳實踐。 歡迎所有開發者朋友存取官網 http://ml-summit.org、點選「閱讀原文」或掃描下方海報中的二維碼 ,進一步了解詳情。