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 頁面、產品釋出或網路研討會嗎?請聯絡我們。