ModelArts (華為GPU/CPU計算雲平台)體驗


  • 雲平台采用K8S(Kubernetes 容器管理必備)+Docker+Nvidia-Docker

    • GPU免費樣例(目前GPU是無法共享使用的,也就是你是可以完全獨占一塊顯卡,因此可以實際測試一下對比一下現有的顯卡,就可以確定其型號)+16GB顯存以及8核CPU、64GB內存(因此強烈推薦選擇GPU實例)
    • CPU免費樣例為2核4GB內存
  • 支持Jupyter Notebook

  • 多種鏡像環境

  • 免費的一個小時的GPU和CPU容器使用(也就是可以創建兩個一小時的兩個容器-GPU和CPU)(一個小時自動停止,可以無限重啟使用)

  • 提供兩種存儲方案:對象存儲Obs(簡單理解:網盤或者類似於亞馬遜S3對象存儲)/雲硬盤(SCSI 遠程掛載?還沒測試過)

實踐

OBS創建

1.首先打開控制台,在上搜索對象存儲服務OBS(可以直接固定在側邊欄方便使用)

image-20210507123945155

  1. 創建桶

    image-20210507124141730

由於成本考慮,選擇單AZ存儲(只有單一數據點,數據比較重要的請選擇多AZ),image-20210507124320166

創建后可以在該頁面下看到創建的桶Bucket

image-20210507124432212

Notebook創建

雲平台提供Jupyter Notebook的環境

切換到ModelArts(同Obs搜索)-選擇開發環境-NoteBook

image-20210507124922425

創建Notebook

image-20210507125001168

分別選擇公共資源GPU-免費,存儲選擇obs使用之前創建的obs(主要用於工作目錄)然后下一步創建出一個Notebook

image-20210507125118222

image-20210507125244684

回到主界面,可以看到剛剛創建的目錄啟動中

image-20210507125357207

進入JupyterLab,可以看到提供的多種環境(熟悉終端使用可以直接打開終端)

image-20210507125526340

打開終端,查看存儲占用,從圖中可以看到我們擁有100GB左右的臨時存儲空間

image-20210507125621084

查看GPU(16GB顯存-250W)

image-20210507130036856

容器的目錄如下,工作目錄主要在work文件夾里,README里提供了加載多個環境的命令

image-20210507130132281

image-20210507130200516

初始下work是空的(注意OBS是類似於網盤,並不會像硬盤那樣直接掛在work目錄下),左側這些只是Obs目錄,並未同步到work里

image-20210507130426100

image-20210507130252740

官方這里提示使用Obs Sync,但是Obs Sync只允許100MB以下的同步,對於大數據集是遠遠不夠用的,因此這里推薦使用moxing用於obs同步

import moxing as mox
bucket_name = 'obs://{bucket}/{folder}' # 修改為你自己的桶
mox.file.list_directory(bucket_name)
mox.file.copy_parallel(bucket_name,'/home/ma-user/work/')
print("finish")

https://support.huaweicloud.com/moxing-devg-modelarts/modelarts_11_0005.html 具體可以看該鏈接

剩下的只需要上傳到obs就可以愉快的訓練了

總結

K8S自從發布以來被大廠快速運用,非常迅速(Google yyds!),而Nvidia-Docker也使得Docker可以直接調用GPU做訓練。

華為雲提供的環境體驗很不錯,免費樣例可以滿足大部分訓練,存儲費用也不高(幾天下來才快1rmb),同時利用Checkpoint,理論上只要我們一次的epoch不超過一個小時,可以斷點繼續訓練的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM