AI News HubLIVE
站內改寫2 分鐘閱讀

使用 NVIDIA srt-slurm、SLURM 配方、參數掃描和帕累託分析驗證分佈式 LLM 服務基準測試

本教程探討了 NVIDIA 的 srt-slurm 框架,學習如何使用 srtctl 將聲明式 YAML 配置轉換為可重複的 SLURM 基準測試工作流,用於分佈式 LLM 服務。在 Google Colab 中設置項目,檢查內部架構,定義集羣配置,試運行內置和自定義配方,併為 DeepSeek-R1 建模分離的預填充和解碼部署。還生成參數掃描,與類型化 Python API 交互,驗證擴展配置,並通過吞吐量與延遲的帕累託前沿分析模擬的基準測試結果。

來源MarkTechPost作者: Sana Hassan

在本教程中,我們深入探索 NVIDIA 的 srt-slurm 框架,並學習如何使用 srtctl 將聲明式 YAML 配置轉換為可重複的 SLURM 基準測試工作流,用於分佈式 LLM 服務。我們在 Google Colab 中設置項目,檢查其內部架構,定義集羣配置,試運行內置和自定義配方,併為 DeepSeek-R1 建模一個分離的預填充和解碼部署。我們還生成參數掃描,與類型化 Python API 交互,驗證擴展配置,並通過吞吐量與延遲的帕累託前沿分析模擬的基準測試結果。儘管 Colab 不提供真實的 SLURM 環境,我們仍將其用作實用的開發工作空間,以理解、驗證和準備生產級基準測試配方,然後將其提交到實際的 GPU 集羣。

首先,我們準備 Colab 環境,導入必要的模塊並定義用於命令執行和部分格式化的可重用輔助函數。我們克隆 NVIDIA srt-slurm 倉庫,以可編輯模式安裝,並將其源目錄暴露給活躍的 Python 運行時。然後切換到倉庫目錄,驗證 srtctl 命令行界面已正確安裝。

接下來,我們檢查倉庫結構,瞭解 srtctl 如何組織其命令行工具、模式、後端、模板、配方和分析組件。然後創建一個本地的 srtslurm.yaml 文件,包含模擬的集羣默認值、容器別名、GPU 設置和模型路徑。我們使用此配置在 Colab 中解析配方引用,無需訪問實際的 SLURM 集羣。

我們試運行內置的模擬器配方,檢查 srtctl 如何驗證配置並生成 SLURM 提交工件,而無需執行真實的基準測試。然後,我們定義了一個高級的 DeepSeek-R1 配方,將預填充和解碼工作負載分離到獨立的節點和工作線程池中。通過另一次試運行驗證此分離的 SGLang 配置,並檢查服務參數如何轉換為作業腳本。

我們執行示例參數掃描,並檢查從其笛卡爾搜索空間創建的各個作業配置。通過類型化 Python API 加載自定義配方,檢查其模型、精度、GPU 拓撲、基準測試設置和受支持的枚舉值。還以編程方式擴展掃描模板,並驗證每個參數組合如何影響生成的後端配置。

我們模擬了兩個分塊預填充變體的基準測試觀測結果,覆蓋不同的併發級別。計算了每 GPU 代表性吞吐量和令牌間延遲值,以模擬分佈式服務系統中常見的飽和和延遲增長。然後在帕累託風格的圖中可視化這些結果,以比較不同配置下的吞吐量和響應性。

最後,我們概述了將驗證後的配方從 Colab 轉移到真實 SLURM 基於 GPU 集羣的生產工作流。回顧了用於環境設置、預檢驗證、作業提交、掃描執行、監控、儀表板分析和實驗比較的命令。還強調了通過在基準測試配方內聲明模型修訂、容器標識和框架版本來實現可重複性。

總之,我們建立了對 srtctl 如何構建、驗證、擴展和準備分佈式 LLM 服務基準測試以在 SLURM 基礎設施上執行的完整理解。我們從基本安裝和倉庫檢查推進到高級分離服務配置、笛卡爾參數掃描、編程模式訪問和基準測試結果分析。我們還看到了試運行如何暴露生成的作業工件,並幫助我們在昂貴的集羣資源分配之前檢測配置問題。有了這個工作流,我們可以自信地將驗證後的配方轉移到真實的 NVIDIA GPU 集羣,運行預檢檢查,提交基準測試作業,監控執行,比較實驗指紋,並以可重複的方式分析性能權衡。

完整代碼請參見原文。記得關注我們的 Twitter 並加入 150k+ ML 子論壇和訂閲我們的通訊。也可以在 Telegram 上找到我們。需要合作推廣您的 GitHub Repo、Hugging Face 頁面、產品發佈或網絡研討會嗎?請聯繫我們。

使用 NVIDIA srt-slurm、SLURM 配方、參數掃描和帕累託分析驗證分佈式 LLM 服務基準測試 | AI News Hub