背景
在 Kubernetes 上執行分散式 AI 工作負載時,不同框架(如 PyTorchJob、RayCluster、JobSet)透過自訂資源定義(CRD,Custom Resource Definition,Kubernetes 中擴展 API 的機制)來結構化配置。這些 CRD 雖然概念相似,但欄位結構各異,導致開發者必須為每個新框架撰寫專屬的解析邏輯(adapter),無法重複使用。 官方原文・github.com 官方原文・NVIDIA Developer Blog
發生什麼事
NVIDIA 於 2026 年 11 月 2 日發布 NVIDIA Workload Map,作為 NVIDIA DSX AI Factory Platform 的開源元件。該工具提供 Kubernetes 工作負載結構的通用描述方式,讓排程器、控制器與平台能解讀支援的工作負載類型,而無需維護各框架專屬的解析程式碼。 官方原文・NVIDIA Developer Blog
重點內容
Workload Map 包含一個 Kubernetes CRD 與一個 Go 函式庫。開發者透過 YAML 定義工作負載的結構,使用 jq(一種輕量級 JSON 處理工具)路徑表達式來定位 Pod 模板、副本數量與狀態欄位。例如,針對 JobSet 的定義可將分散的 Job 資源解析為「leader」與「worker」角色,並彙總 GPU 需求。 官方原文・github.com 官方原文・NVIDIA Developer Blog
該工具內建多種預先測試的工作負載定義,包括 JobSet、PyTorchJob、RayCluster、RayJob、RayService、KServe、Knative、MPIJob、NVIDIA NIM、LeaderWorkerSet、Milvus、Grove PodCliqueSet 與 NVIDIA Dynamo。這些定義可讓 KAI Scheduler 執行 gang scheduling(群組排程,確保一組 Pod 同時被調度)與 NVIDIA Run:ai 進行工作負載管理。 官方原文・github.com 官方原文・NVIDIA Developer Blog
Workload Map 提供 CLI(命令列介面,用打字下指令操作電腦的方式)工具 kli,可從叢集讀取工作負載並透過定義渲染結構樹。例如,執行 kli describe jobset/demo 可顯示 leader 與 worker 角色、每個角色的 GPU 數量與總計需求,無需安裝 Workload Map 至叢集即可進行檢查。 原文
對使用者的意義
開發者與平台營運者可透過 Workload Map 減少針對新 AI 框架的整合成本。當引入新的 CRD 時,只需撰寫 YAML 定義而非修改編譯後的程式碼,即可讓 KAI Scheduler、NVIDIA Run:ai 或第三方工具(如 Elotl Nova)解讀工作負載結構。這縮短了支援新框架的時間,並提升跨平台的工作負載可見度。 官方原文・NVIDIA Developer Blog
限制與未定事項
Workload Map 目前處於 pre-1.0 階段,API 可能在次要版本間變更。專案於 2026 年 9 月從 run-ai GitHub 組織遷移至 dsx-ai-factory,並從 Karta 更名為 Workload-Map,開發者需更新 Go module 路徑與自動化腳本中的引用。 官方原文・github.com


