全部產品
Search
文件中心

Platform For AI:DLC常見問題

更新時間:Aug 20, 2026

使用DLC模組時,可參考本頁面的常見問題及解決方案。

有問題先問小PAI

PAI智能助手(小PAI)提供PAI全鏈路產品的使用說明和操作指引,支援對DSW執行個體、DLC任務、EAS服務進行營運診斷,自動識別失敗原因並給出處理建議。

image

Q:DLC 任務長時間處於“排隊中狀態”,且資源監控顯示總體資源充足,該如何排查?

資源監控頁面顯示的通常是資源集區的配額總量,而任務調度器在分配資源時,是以單節點可用資源為匹配條件的。即使叢集總資源充足,若單個節點無法滿足任務所需的完整資源群組合(如 CPU+GPU),任務仍會排隊。

請根據以下常見原因進行排查和最佳化:

1. 資源片段化(最常見原因)

  • 現象描述:GPU 資源集中在少數節點,但這些節點上的 CPU 或記憶體已被其他任務佔用,導致剩餘資源無法滿足當前任務對“CPU+GPU”的組合需求。

  • 解決方案:嘗試停止部分低優先順序的佔用任務,釋放節點資源後重新提交目標任務。適當調小任務所需的 CPU 規格後重試,以適配當前片段化的資源狀況。

2. 請求的單節點資源規格過大

  • 現象描述:工作要求的單節點資源規格(如 CPU 核心數、記憶體大小)超過了資源群組內任意一個節點的實際可用量。

  • 解決方案:檢查資源群組中各節點的實際配置。嘗試縮小任務的單節點資源規格(例如減少 CPU 核心數),確認是否能正常調度。

3. 並發任務競爭與優先順序問題

  • 現象描述:多個任務同時競爭同一資源集區,較低優先順序的任務需等待高優先順序任務釋放資源。

  • 解決方案:合理配置任務優先順序。將非緊急任務錯峰提交,避免在高峰時段集中競爭資源。

4. 錯誤碼指引

  • 若任務報錯 Resource queue timeout, lack of sufficient resources,請重點確認當前資源群組中各節點的實際可用 CPU/GPU 數量,而非僅看總量。

Q:模型訓練時報錯:SupportsDistributedTraining false, please set InstanceCount=1

  • 報錯原因:當前訓練任務啟用了多個執行個體(節點數大於1),但該模型不支援分布式訓練。

  • 解決方案:將節點數量設定為1。

Q:模型訓練時報錯:failed to compose dlc job specs, resource limiting triggered, you are trying to use more GPU resources than the threshold

訓練任務當前限制最多同時運行2*GPU,超過會觸發資源限制。請等待正在運行中的訓練任務完成再啟動,或提交工單申請增加配額。

Q:“exited with code 137”,遇到錯誤碼137怎麼辦?

錯誤碼137表示進程被SIGKILL強制中止,最常見原因是記憶體溢出(OOM)。可結合任務詳情中worker的記憶體水位確認,然後選擇:更換記憶體規格更大的執行個體、增加worker數量,或減少代碼中的記憶體申請量。

Q:當DLC任務執行狀態為已失敗或已出隊時該如何處理?

DLC的任務執行狀態順序為:

任務類型

任務執行狀態順序

使用隨用隨付資源提交DLC任務

使用靈駿智算競價資源

建立中->競價中->環境準備中->運行中->已成功/已失敗/已停止

使用靈駿智算或通用計算公用資源

建立中->環境準備中->運行中->已成功/已失敗/已停止

使用訂用帳戶資源提交DLC任務

建立中->排隊中->環境準備中->運行中->已成功/已失敗/已停止

  • 當任務執行狀態為環境準備中時如何處理?

    如果任務長時間處於環境準備中狀態,可能是因為您建立的分布式訓練任務配置了CPFS類型的資料集,但沒有配置專用網路導致的。您需要重新建立分布式訓練任務,配置CPFS類型資料集並配置專用網路,且選擇的專用網路需要與CPFS一致,詳情請參見建立訓練任務

  • 當任務執行狀態為已失敗時如何處理?

    您可以在任務詳情頁面中,將滑鼠懸浮到任務執行狀態後的image.png,或者查看執行個體動作記錄,來初步定位任務執行失敗的原因,詳情請參見查看訓練詳情

    如果任務在環境準備結束後立即失敗,前端使用者日誌可能為空白,這是因為日誌尚未從機器同步到 DLC 前端。此時可通過以下方法排查:

    • 如果已配置 SLS 日誌轉寄,可在 SLS 中以 DLC 任務 ID 為關鍵詞查詢實際報錯。

    在執行命令前添加 sleep 10 可以為日誌同步留出時間,但該方法僅在任務命令本身有標準輸出(stdout)或標準錯誤(stderr)輸出時有效。如果任務命令(例如 exit 1)本身不產生輸出,添加 sleep 也不會產生可同步的日誌。

Q:使用公用資源的DLC任務後期能調整為專屬資源嗎?

DLC任務不支援直接調整資源類型,需重新建立。單擊原始任務操作列下的複製,在新任務中選擇專屬資源,原有參數自動帶入。關於計費詳情,請參見分布式訓練(DLC)計費說明

Q:在DLC中使用多機多卡如何設定?

您可以在建立DLC任務時,配置以下啟動命令,更多配置詳情,請參見建立訓練任務

python -m torch.distributed.launch \ --nproc_per_node=2 \ --master_addr=${MASTER_ADDR} \ --master_port=${MASTER_PORT} \ --nnodes=${WORLD_SIZE} \ --node_rank=${RANK} \ train.py --epochs=100

Q:如何將在PAI-DLC平台訓練得到的模型下載到本地?

在任務的環境資訊中添加自訂資料集,將掛載路徑設定為 /mnt/data/,然後在啟動命令中加入 cp -r ./output /mnt/data,將訓練產出複製到掛載目錄。訓練完成後,直接從資料集對應的檔案系統下載模型檔案。

Q:在DLC中如何使用Docker鏡像?

  • 使用Docker鏡像建立DLC任務:您可以將Docker鏡像推送至阿里雲Container RegistryACR中,然後再將其添加至PAI工作空間自訂鏡像中,即可在建立DLC任務時選擇對應鏡像啟動執行個體。

  • 在DLC容器中安裝和使用Docker:DLC任務本身運行在容器中,因此無法在DLC中再安裝和使用Docker。

Q:DLC 任務有部分節點已經完成要怎麼配置才能釋放給其他dlc使用?

問題描述

在DLC任務啟動多worker分布式訓練任務時,由於每個worker資料不完全一致(比如資料扭曲),會有部分worker先完成,並正常退出的現象。但是預設配置下,部分worker仍會佔用調度的節點。

解決方案:參考PAI-DLC進階參數ReleaseResourcePolicy,將其配置為 pod-exit。預設情況下資源在整個任務完成後才釋放;設定為 pod-exit 後,worker退出即釋放對應資源。

Q:DLC任務報錯OSError: [Errno 116] Stale file handle?

問題描述

多個Worker在執行PyTorch的torch.compile(AOT編譯)時,因讀取快取檔案失敗而報錯OSError: [Errno 116] Stale file handle。

排查思路&過程:

同步複現發現:該錯誤通常發生在NFS(Network File System)環境下,當某個進程持有檔案控制代碼但檔案在伺服器端已被刪除或移動時,用戶端嘗試訪問會導致控制代碼失效。

問題原因:

PyTorch的AOT編譯會將最佳化後的計算圖緩衝到檔案系統(預設在/tmp)。在叢集環境中,緩衝可能寫入NFS掛載的CPFS,而NFS對檔案刪除敏感。觸發Stale file handle的條件:PyTorch自動清理舊緩衝或其他進程刪除了緩衝目錄;NFS伺服器端檔案被移動、刪除或許可權變更,但用戶端仍持有舊控制代碼;NFS用戶端快取檔案屬性,可能感知不到伺服器端變更。此外,CPFS基於NFS,在高並發訪問時容易出現該問題;多Worker並發讀寫緩衝會進一步引發競爭。

解決方案

  • 優先驗證:強制緩衝使用本地tmpfs(通過環境變數TORCHINDUCTOR_CACHE_DIR=/dev/shm/torch_cache)。

備選方案

  1. 參考Torch官方文檔改用Redis作為共用快取(需搭建Redis服務)。

  2. 檢查CPFS的NFS配置(noac掛載選項可能緩解但影響效能)。

  3. 禁用緩衝(TORCHINDUCTOR_CACHE_DIR="",但犧牲編譯效能)。

Q:訪問/mnt/data資料集報錯"Transport endpoint is not connected"?

問題描述:

DLC任務啟動後,執行命令中訪問已掛載的資料集路徑(如/mnt/data)時報錯:Transport endpoint is not connected,表示NFS掛載點已中斷連線。

常見原因:

  • CPFS VPC不匹配:使用CPFS資料集時,訓練任務所在VPC必須與CPFS檔案系統的VPC一致,否則掛載失敗。

  • 資料集未就緒:通過AI資產管理建立的資料集可能仍在初始化中。

  • 掛載路徑配置錯誤:任務配置中指定的掛載路徑與資料集實際掛載點不一致。

解決方案:

  1. AI資產管理中確認資料集狀態為"可用"(Available)。

  2. 如果使用CPFS資料集:建立訓練任務時確保配置的VPC與CPFS檔案系統的VPC一致。詳情請參見建立訓練任務中的VPC配置說明。

  3. 檢查掛載路徑:在任務日誌中執行 ls -la /mnt/data 確認掛載是否可訪問。

  4. 如果使用OSS資料集:嘗試使用儲存掛載方式替代資料集掛載,相容性更好。

Q:DLC任務一直卡在"環境準備中",報錯"Unable to attach or mount volumes"?

問題描述:

DLC任務啟動過程中,一直卡在網路初始化/環境準備階段,日誌中出現如下報錯:

Unable to attach or mount volumes: unmounted volumes=[hostpath-volume], unattached volumes=[...]: timed out waiting for the condition

常見原因:

  • 節點磁碟空間不足:計算節點本地磁碟空間已滿,無法掛載hostpath-volume。

  • 儲存後端異常:NAS/CPFS/OSS等儲存後端出現暫時性故障或連線逾時。

  • 節點資源爭搶:多個任務同時調度到同一節點,導致volume掛載排隊逾時。

解決方案:

  1. 重新提交任務:大多數情況下,該錯誤為暫時性問題,重新建立任務即可恢複。

  2. 檢查儲存連通性:確認資料集關聯的NAS/CPFS/OSS服務狀態正常,VPC和安全性群組配置正確。

  3. 如果問題持續出現,請聯絡阿里雲支援人員並附上任務ID和完整錯誤記錄檔。

Q:任務建立失敗,報錯ResourceAllocateFailed/下單被中止,怎麼解決?

現象: 在DataWorks營運中心查看周期執行個體時,任務狀態為失敗,作業記錄或DLC工作清單中出現ResourceAllocateFailed,提示“為保護您的賬戶安全,下單被中止”。

原因: 系統自動觸發賬戶安全保護機制,中斷了資源分派請求。

解決方案:

  1. 訪問阿里雲自助服務工具:https://smartservice.console.alibabacloud.com/service/self-service-center/search?questionId=27591

  2. 按頁面提示填寫資料並提交申訴,專員通常會在1個工作日內完成審核。

  3. 審核通過後,您可以通過以下方式繼續:

    • 在DataWorks營運中心對失敗的周期執行個體執行重跑

    • 等待下一個調度周期自動產生新的DLC任務執行個體。

查看審核進度: 登入阿里雲控制台,進入右上方訊息中心 > 站內信;或重新訪問上述自助工具鏈接查看申訴單狀態。