• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 3 月 19 日下午 2 點,鎖定 NVIDIA AI 網絡中文專場。立即注冊觀看
    數據中心/云端

    揭開萬億參數大型語言模型 AI 推理部署的神秘面紗

    人工智能(AI)正在改變各行各業,解決精準藥物發現、自動駕駛汽車開發等重大人類科學挑戰,并解決自動創建電子商務產品描述和從法律合同中提取見解等商業問題。

    如今,每家企業都在探索大語言模型(LLMs),以創造競爭優勢。NVIDIA 云合作伙伴正在介入,為企業的人工智能之旅提供支持。例如,NexGen Cloud 為客戶提供通過其按需云平臺 Hyperstack 運行proofs-of-concept(PoCs)的機會,然后再致力于大規模的 supercloud 合同。您可以立即試用新一代 NVIDIA GPUs,從而快速采用其他服務層,例如 NVIDIA AI 平臺。

    在試點項目取得成功后,許多企業正在將這些計劃投入生產,以提高利潤。這就提出了一個重要問題:企業如何在提供出色用戶體驗的同時保持強勁的投資回報?

    大語言模型(LLM)生成的 tokens 將被映射到自然語言并發送給用戶。提高 LLM 部署的 token throughput 可以為更多用戶提供服務,從而最大限度地提高 ROI。但是,高 token throughput 部署可能會導致用戶交互性降低,關鍵詞語在用戶面前的顯示速度較慢,從而導致用戶體驗不佳。

    隨著 LLM 的發展,在吞吐量和用戶交互之間取得適當平衡變得越來越具有挑戰性,就像在干草堆中找到一根針一樣。

    在本文中,我們討論了不同的部署考慮,例如批處理、parallelization 和 chunking。我們分析了這些不同的部署如何影響混合專家(MoE)模型的推理。例如,GPT MoE 1.8T 參數模型的子網絡可以獨立執行計算,然后組合結果以生成最終輸出。我們還強調了NVIDIA Blackwell 架構和 NVIDIA AI 推理軟件,包括NVIDIA NIM,相比上一代 GPUs,可以提高性能。

    在生產環境中部署 LLM 的平衡作用

    在生產環境中部署 LLM 的企業旨在通過集成類似虛擬助理的功能來創造新的收入來源或增強其產品的吸引力。但是,他們還必須優先考慮投資回報率,并確保提供引人入勝的用戶體驗。

    最大限度地提高投資回報率(ROI)意味著要滿足更多用戶請求,而不會產生額外的基礎設施成本。為了實現這一目標,需要批處理不同的用戶請求,并同時處理這些請求。此設置可最大限度地提高 GPU 資源利用率(tokens per GPU per second),使組織能夠在盡可能多的用戶上充分發揮其 AI 投資。

    另一方面,用戶體驗由用戶等待 LLM 回復的時間決定。這是以每位用戶每秒的令牌數衡量的。

    為了最大限度地提高用戶交互性,系統會將較小批量的用戶請求提供給 Graphics Processing Unit(GPU),以便更好地分配每個請求的 GPU 資源量。批量越小,分配給每個請求的 GPU 資源就越多。這種方法可以實現計算操作的并行化,加速輸出令牌的生成,但可能會導致 GPU資源的利用率不足。

    顯而易見,這兩個目標需要作出權衡。最大限度地提高 GPU 吞吐量會降低用戶交互性,反之亦然。

    GIF compares the impact of using a batch of multiple user requests to using only one request on GPU utilization during AI inference on a single GPU.
    圖 1.LLM 部署在更大限度地提高 GPU 吞吐量和更大限度地提高用戶交互性之間進行權衡

    LLM 模型演變使權衡問題更加復雜

    新一代 LLM 具有更多參數和更長的上下文窗口,使其能夠在更大的知識庫中執行更復雜的認知任務,因此這種權衡變得更加困難。

    2018 年 10 月推出的首個 Transformer 模型 (BERT) 具有 3.4 億個參數、包含 512 個令牌的簡短上下文窗口和單個前饋網絡。這使其能夠適應單個 GPU。

    然而,一些最新模型的參數超過 1T,具有超過 128K tokens 的上下文窗口,并且具有可以獨立運行的多個 feedforward networks(experts)。這些模型無法在單個圖形處理單元(GPU)上運行,這意味著必須將模型分割成較小的塊,并跨多個 GPUs 并行化。

    探索萬億參數 MoE 模型的推理空間

    以包含 16 位專家的 GPT 1.8 T MoE 模型為例,假設固定預算為 64 個 GPU,每個 GPU 都有 192 GB 顯存。

    使用 FP4 量化時,您需要 0.5 字節來存儲每個參數,至少需要 5 個 GPU 來存儲參數。但是,為了獲得更好的用戶體驗,您必須在更多 GPU 上分擔工作,因此運行工作負載所需的 GPU 數量超過最小值。

    以下是為無法在單個 GPU 上運行的大型模型并行推理的主要方法,每種方法都會對 GPU 吞吐量和用戶交互產生不同的影響:

    • 數據并行
    • 張量并行性
    • 管道并行
    • 專家并行

    數據并行

    數據并行 (DP) 方法在不同的 GPU 或 GPU 集群上托管 LLM 模型的多個副本,并在每個模型副本上獨立處理用戶請求組。

    這種方法要求在每個 GPU 或 GPU 集群上復制模型,這不會影響 GPU 吞吐量或用戶 interactivity 體驗。由于 request groups 之間不需要通信,因此所服務的用戶請求數量與所分配的 GPU 資源之間存在 linear scaling 關系。

    僅使用 DP 通常不足以處理新一代 LLM,因為其模型權重不適合單個 GPU 顯存,并且需要同時使用其他并行方法。

    GIF shows how user request groups are channeled to four different GPUs.
    圖 8.在深度神經網絡上應用數據并行性

    張量并行性

    借助 Tensor Parallelism (TP) 方法,模型的每一層被分割為多個 GPU,用戶請求在 GPU 或 GPU 集群之間共享。每個請求的 GPU 計算結果在 GPU 到 GPU 網絡上進行分層重新組合。

    對于基于 Transformer 的模型 (例如 GPT),TP 可以改善用戶交互性,因為每個請求都會分配更多的 GPU 資源,從而加快處理時間。

    但是,如果在沒有超高帶寬 GPU 到 GPU 網絡結構的情況下將 TP 擴展到大量 GPU,則可能會導致網絡瓶頸對用戶交互產生負面影響。

    GIF showing how user request groups are channeled to four GPUs.
    圖 3.在深度神經網絡上應用張量并行性
    Diagram shows that Increasing tensor parallelism increases user interactivity but results in a decline in GPU throughput.
    圖 4.張量并行度增加的影響

    管道并行

    管線并行 (PP) 方法的工作原理是將模型層組分配到不同的 GPU 上。處理管線從一個 GPU 開始,然后通過點對點通信繼續到下一個 GPU,按順序處理集群中所有 GPU 之間的請求。

    此方法會降低處理效率,并且無法顯著優化用戶交互。它有助于分配單個 GPU 無法滿足的模型權重。

    GIF shows user requests being channeled to four GPUs.
    圖 5.在深度神經網絡上使用管道并行
    Chart shows that increasing pipeline parallelism helps with model weight distribution but offers modest improvements to user interactivity.
    圖 6.管道并行性增加對 GPT 1.8 T MoE 模型從 PP8 到 PP64 的影響

    Expert Parallel

    專家并行 (EP) 方法將請求路由到 Transformer 塊中不同的專家,從而減少參數交互。每個請求都會路由到一組不同的專家。

    這極大地減少了每個請求必須與之交互的參數數量,因為跳過了一些專家。在專家處理通過 GPU 到 GPU 互聯結構生成高網絡多對多通信后,必須將請求重新構建回其原始 GPU。

    此方法可能比 TP 更高效,因為您不必將操作拆分成較小的塊。

    GIF showing user requests being channeled to four GPUs.
    圖 7.在由四位專家組成的深度神經網絡上使用專家并行機制

    EP 受模型中專家的數量限制。GPT1.8 T 擁有 16 名專家。鑒于我們只考慮專家并行性和數據并行性,有兩種可能的配置:

    • EP8DP8:在單個 GPU 上加載兩名專家,并使用 DP 復制配置八次。
    • EP16DP4:在每個 GPU 上加載單個專家,并使用 DP 復制配置 4 次。
    Chart shows that increasing expert parallelism increases both throughput and user interactivity without tradeoffs but is bound by the number of experts in the model.
    圖 8.增加 GPT 1.8 T MoE 模型的專家并行度對從 EP8 到 EP16 的影響

    結合并行技術

    并行化方法也可以組合使用,這會使權衡問題更加復雜。

    您可以使用 64-GPU 預算構建 73 種并行配置來為模型提供服務,每種配置都有不同的吞吐量和用戶交互性權衡。

    Diagram shows number of GPU options for each parallelism method, which leads to the 73 unique configurations. For example, data parallelism could use 1, 2, 4, or 8 GPUs.
    圖 9.萬億參數 MoE 模型的張量、管線、專家和數據并行性的可能配置
    Chart shows that changing how models are parallelized significantly affects the tradeoff between throughput and user interactivity.
    圖 10.使用塊大小為 384 個令牌的 GPT 1.8 T MoE 上所有可能組合的 GPU 吞吐量和用戶交互性

    但是,結合使用不同的并行技術可以顯著提高性能,而無需進行重大權衡。

    例如,與僅使用專家并行性 (EP16DP4 或 EP8DP8) 相比,使用專家并行性和管道并行性 (EP16PP4) 并行化模型可將用戶交互性提高 2 倍,GPU 吞吐量僅損失約 10%。

    按照同樣的思路,使用張量、專家和管線并行 (TP4EP4PP4) 并行化模型可提供比僅使用張量的并行 (TP64) 高 3 倍的 GPU 吞吐量,且不會造成任何用戶交互損失。

    Chart shows combinations that deliver higher GPU throughput and better user interactivity without significant tradeoffs.
    圖 11.比較吞吐量和交互性以優化并行性組合

    更大限度地提高吞吐量:用于管理預填充和解碼階段要求的策略

    當用戶向模型提交請求時,模型會經歷兩個不同的操作階段:預填充和解碼。每個階段對系統資源的使用方式都各不相同。

    在 prefill 期間,系統會處理請求的所有 input tokens,以計算 intermediate states,這對于構建對請求的整體上下文理解至關重要。然后,這些 intermediate states 用于生成第一個 token。此階段的 computational requirements 非常高,可以 parallelized,從而提高 resource utilization 和 throughput。

    在 decode 階段,系統按順序生成輸出 tokens,并更新在 Prefill 階段為每個新 token 計算的中間狀態。由于中間狀態計算的密集型計算已在 Prefill 階段完成,因此此階段僅處理上一階段新生成的 token。因此,計算密集程度較低,而內存帶寬密集程度更高,這可能會導致 GPU 計算資源的利用率不足。

    GIF shows that the prefill phase is slower than the generation phase but uses GPU resources more efficiently.
    圖 12.預填充階段和生成階段對 GPU 資源使用的影響

    傳統的推理方法,稱為 static batching,需要先按順序完成所有請求的預填充和解碼階段,然后再進入下一批。由于在解碼階段 GPU 利用率不足,以及在當前所有請求完成之前新請求一直處于停滯狀態,用戶體驗不佳,因此這種方法效率低下。

    機上批處理和分塊等技術可用于解決以下問題:

    • 機上批處理:即使當前批量未完全完成,您也可以動態插入和移除請求。
    • 分塊:您可以將具有長輸入序列的請求的預填充階段分解為較小的塊。這有助于防止這些請求的處理成為持續請求令牌生成率的瓶頸。

    機上批處理和分塊可提高 GPU 利用率,同時提供良好的用戶體驗。

    Chunk size 將影響用戶交互性權衡決策。使用 large chunk size 可以減少處理 prefill sequences 所需的迭代次數,從而縮短 time to first token(TTFT)。然而,它也會增加完成正在進行的請求的 decode phase 所需的時間,從而降低 tokens per sec(TPS)。

    相反,較小的塊大小可以更快地推出令牌,從而提高 TPS,同時也增加 TTFT。

    One diagram shows a large rectangle representing chunk size, with an upward arrow (improving time to first token) and a downward arrow (reducing tokens per second). The other diagram shows a smaller chunk size rectangle, with the upward and downward arrows reversed.
    圖 13.更改塊大小會影響 GPU 吞吐量與第一個令牌的時間之間的權衡

    回顧先前的使用 64 個 GPU 的 GPT 1.8T 示例,您可以分析 chunking 對 trade-off 問題的影響。首先檢查小至 128 個 tokens 的 chunks,然后以 128 或 256 個 tokens 為增量,逐步將其增加到 8192 個 tokens。這將搜索空間從先前的 73 種配置顯著擴展到超過 2.7K 種 parallelism 和 chunk-length 組合的可能性。

    Scatter plot shows different chunking sizes and parallelism combinations.
    圖 14.使用 64 個 GPU 的 GPT 1.8 T MoE 的并行性和 40 種不同塊大小的所有可能組合

    為了更好地了解各種數據塊大小對 GPT 1.8 T MoE 模型的 GPU 吞吐量和用戶交互性的影響,我們選擇了幾種不同的數據塊大小和并行度配置,并分別對其進行了繪制。

    GIF shows 6 charts sequentially. Each chart shows a specific chunk size for 6 different parallelism configurations. The charts correspond to chunk sizes 256.896, 2048, 4096, 6144, and 8192 and display a yellow line that represents a human reading speed of 5-6 words per second.
    圖 15.更改數據塊大小對 GPU 吞吐量和用戶交互的影響

    給定的平均閱讀速度約為每秒 5 – 6 個詞 (相當于每秒 15 – 18 個令牌),您可以清楚地看到,使用 TP2EP16PP2 的配置,您可以最大限度地提高 GPU 吞吐量 (塊大小為 896 個令牌):

    • 兩個 GPU 上的張量并行性
    • 基于 16 個 GPU 的專家并行性
    • 兩個 GPU 上的管道并行性

    NVIDIA Blackwell:為萬億級參數 LLM 提供支持的新平臺

    NVIDIA Blackwell是一種采用新變革性技術的 GPU 架構。它簡化了萬億參數 LLM (例如 GPT 1.8 T MoE) 優化干擾吞吐量和用戶交互的復雜性。

    Chart shows that NVIDIA Blackwell delivers orders of magnitude higher throughput gains compared to NVIDIA Hopper without any trade off in user interactivity.
    圖 16.NVIDIA Blackwell、NVIDIA H100 和 NVIDIA H200 不同并行和分塊配置的峰值吞吐量

    NVIDIA Blackwell 配備 208B 個晶體管和第二代 transformer 引擎。它支持 NVIDIA 的第五代 NVLink,可以將每個圖形處理單元(GPU)的雙向吞吐量提高到 1.8TB/s。NVLink 支持多達 72 個 NVIDIA Blackwell GPUs 的域,為在具有并行性組合的 trillion-parameter 模型的多 GPU 部署中發生的 GPU 到 GPU 運算提供無與倫比的加速。

    與上一代 NVIDIA H100 Hopper GPU 相比,NVIDIA Blackwell 能夠結合使用這些功能,為各種可能的用戶交互需求提供高 throughput gains。更具體地說,使用 TP2EP16PP2 和 chunk size 為 896 tokens 的情況下,NVIDIA Blackwell 能以每秒 20 tokens per user per second(5–6 words per second)的速度將 throughput 提高 30 倍。

    NVIDIA NIM是易于使用的推理微服務的集合,用于快速生產部署最新的 AI 模型,包括開源社區模型和 NVIDIA AI Foundation 模型。它被許可為 NVIDIA AI Enterprise

    NIM 基于 NVIDIA 推理軟件構建,包括 TensorRT-LLM 支持先進的多 GPU 和多節點基元。TensorRT-LLM 還提供先進的分塊和機上批處理功能。

    將 LLM 部署為自定義 AI 工作流一部分的企業可以使用NVIDIA Triton 推理服務器是 NVIDIA NIM 的一部分,用于創建模型集合,將多個 AI 模型和自定義業務邏輯連接到單個工作流中。

    后續步驟

    現在,組織只需幾行代碼,即可在模型編譯階段使用數據、張量、流程和專家并行技術并行化萬億參數模型。

    結合NVIDIA BlackwellTensorRT-LLM以及NVIDIA Triton Inference Server,無論期望的吞吐量和用戶交互組合如何,組織都可以自由探索萬億參數 MoE 模型的整個推理搜索空間,并確定理想的吞吐量和用戶交互組合,以滿足其服務級別協議。

    ?

    +1

    標簽

    人人超碰97caoporen国产