前置條件
- 完成訓練數據集準備,完成存儲配置準備(ZOS/HPFS),詳見我的數據集。
- 如果預置模型不滿足開發要求,需要基于自有模型,需要完成模型文件準備,詳見我的模型。
- 如果預置鏡像不滿足開發要求,需要基于自有鏡像,需要完成鏡像文件準備,詳見我的鏡像。
創建開發機
● 登錄智算服務平臺。
● 在左側導航欄選擇開發機,選擇目標開發機類型,平臺支持JupyterLab和VSCode兩種類型的開發機。
● 進入開發機創建頁面,填寫開發機創建的基本參數。
| 參數類型 | 參數名 | 說明 | 
|---|---|---|
| 基本信息 | 名稱 | 必填,開發機名稱。 | 
| 數據集配置 | 訓練數據集 | 最多可添加5個,選擇基礎數據集或者標注數據集。 | 
| 模型配置 | 模型來源 | 我的模型:最多5個,自有模型開啟開發機任務。預置模型:最多5個,使用平臺預置模型開啟開發機任務。 | 
| 模型配置 | 模型文件 | 選擇我的模型具體的模型文件及版本。選擇預置模型文件及具體版本。 | 
| 存儲配置 | ZOS對象存儲 | 最多選擇5個,如果沒有提前創建,可以點擊“去創建對象存儲”完成創建。 | 
| 存儲配置 | HPFS并行文件系統 | 最多選擇5個,如果沒有提前創建,可以點擊“去創建HPFS”完成創建。 | 
| 環境配置 | 鏡像來源 | 根據當前任務情況,選擇支持選擇系統預置鏡像、自定義鏡像、共享容器鏡像和他人分享鏡像。 | 
| 環境配置 | 文件目錄 | 平臺可持久化的掛載目錄,后續可以在該目錄下讀寫文件,是用戶間隔離的。 | 
| 資源配置 | 集群 | 支持公共集群和專屬集群兩種類型,其中專屬集群需要提前購買。 | 
| 資源配置 | 隊列 | 選擇目標隊列,展示當前總資源及使用情況。 | 
| 資源配置 | 資源規格 | 選擇當前任務所需要的資源規格。 | 
● 點擊“提交”,完成開發機任務創建。
開發機管理
● 啟動開發機:創建完成后的開發機默認為“未啟動”狀態,用戶可點擊啟動,開發機進入“啟動中”-“運行中”狀態。
● 打開開發機:當開發機進入“運行中”狀態時,可以點擊“打開”進入vscode的terminal運行終端。
● 停止開發機:停止當前正在運行的開發機。停止開發機會釋放容器和資源,需要用戶手動將數據保存在/work/cache目錄下(請注意,work/cache存在定時回收機制,五天后會清理該目錄下數據)。也可以將該開發機實例保存為鏡像、代碼包和模型,方便下次基于原有模型,鏡像,代碼開啟開發機任務。操作停止后,開發機實例從“停止中”流向“未啟動”狀態。
● 開始訓練:點擊之后會攜帶當前開發機相關參數,進入訓練任務創建界面。
● 刪除開發機實例:刪除當前不再使用的開發機實例。
● 查看配置:查看當前開發機實例的詳細配置。
開發機中數據目錄使用(重要)
1、cache存儲:開發機默認自帶cache持久化存儲目錄。每個用戶的每一個開發機都默認贈送50GiB的/work/cache目錄。
a) 目錄隔離:在不同開發機的目錄內容是隔離的,每啟動一個開發機都是自己的一套cache。
b) 存儲時間:cache存儲在開發機停止后保存時間為5天。
c) 存儲策略:cache存儲為持久化存儲,在不關閉開發機的情況下,可一直保存。
2、mount目錄:數據和模型掛載mount目錄,/work/mount/目錄是用于使用和掛載平臺上的數據集、模型、代碼文件的,創建界面選擇對應數據集和模型后,系統自動分配掛載路徑,打開開發機即可看到這些路徑,寫代碼直接讀取這些路徑即可讀取數據和模型。
a) 存儲時間:只在開發機運行中可使用,開發機關閉后mount目錄會和容器取消掛載,也無法讀取。
b) 目錄隔離:在不同開發機的目錄內容是隔離的,每啟動一個開發機都是自己的一套mount。
c) 存儲策略:mount目錄為掛載使用,用戶在mount對應子目錄下寫入的代碼或者拖入的文件會自動轉存回原始數據集、代碼包或者模型存儲中。
【注意】:自動轉存的前提為文件或者文件夾寫入到平臺自動掛載的目錄下,在/work/mount目錄下手動創建的目錄(比如:/work/mount/abc)不會做自動轉存,同時開發機銷毀后自動清理。
啟動訓練任務
在/work/share/ 目錄下創建自己的工作空間
- 
vscode啟動單機訓練任務
terminal 終端目前只支持單機訓練任務,訓練腳本跟tensorflow和pytorch 裸金屬訓練模式一樣。
下方是在本機執行的單機多卡torchrun分布式參數示例:
DISTRIBUTED_ARGS="
    --nproc_per_node 8 \
    --nnodes 1 \
    --node_rank 0 \
    --master_addr localhost \
    --master_port 65500
"
torchrun?$DISTRIBUTED_ARGS telespeed/run/llama31/pretrain_gpt.py
- 
網頁啟動多機訓練
下方是在平臺執行多機多卡訓練任務的torchrun分布式參數示例:
GPU_NUM_PER_NODE=8
DISTRIBUTED_ARGS="
    --nproc_per_node?$GPU_NUM_PER_NODE \
    --nnodes?$PET_NNODES \
    --node_rank?$PET_NODE_RANK \
    --master_addr?$PET_MASTER_ADDR \
    --master_port?$PET_MASTER_PORT
"
torchrun?$DISTRIBUTED_ARGS telespeed/run/llama31/pretrain_gpt.py
按照下圖的步驟啟動訓練任務:
后續操作
● 開始訓練任務:點擊之后會攜帶當前開發機相關參數,進入訓練任務創建界面。
● 保存至模型管理:將當前開發機實例中的模型文件保存到模型倉庫中統一管理,模型倉庫中會新增一個來源為“VSCode”的模型。后續可以基于此模型進行開發機、訓練任務和服務部署任務。
● 保存至代碼包:從代碼文件夾中選擇對應的文件保存至代碼包,代碼包列表中出現了上傳來源為“VSCode”的代碼包。后續可以基于此代碼包進行訓練任務和服務部署。
● 制作鏡像:基于當前的開發機實例制作鏡像并存為自定義鏡像,將容器內的鏡像打包至自定義鏡像中,下次直接啟動該鏡像即可,鏡像倉庫中新增來源為“VSCode”的鏡像。后續可以基于此鏡像進行開發機、訓練任務和服務部署。平臺會打包系統內的預置安裝程序等,不會打包容器內數據和外部掛載存儲數據。
