全部產品
Search
文件中心

Platform For AI:DSW掛載配置

更新時間:Oct 29, 2024

在DSW中掛載資料集或直接掛載OSS路徑,可以在雲端環境中便捷地訪問和處理資料,方便多使用者間的資料共用和協作,簡化資料管理和維護,以及確保資料的一致性和即時性。本文為您介紹DSW掛載配置。

背景資訊

系統為使用公用資源群組建立的DSW執行個體提供一定儲存空間的雲端硬碟,用於持久化儲存。如果該執行個體停機超過15天未開機,雲端硬碟的內容將被清空。而使用專有資源群組建立的DSW執行個體則提供非持久化的本機存放區。如果您需要持久化儲存DSW資料,需要建立NAS、OSS或CPFS類型的資料集,並將資料集掛載到DSW指定的路徑,以實現在DSW中讀寫資料集資料。

掛載模式

DSW的掛載項不同,支援的掛載模式不同,詳情請參見下表。

掛載項

支援的掛載模式

掛載自訂資料集

非OSS類型資料集

無掛載模式。

OSS類型資料集

支援預設配置和自訂配置。

  • 預設配置:Jindo配置保持為空白,表示使用預設的掛載配置。

  • 自訂配置:單擊展開Jindo配置,自行配置Jindo屬性和參數。

掛載公用資料集

掛載OSS路徑

本文提供部分情境的Jindo配置建議,並未覆蓋所有情境下的最優效能。更靈活的配置,請參見JindoFuse使用指南

  • 快速讀寫:允許使用者讀寫,讀取速度快,但並發讀寫可能會出現資料不一致的問題,適合掛載訓練資料和模型,不適合作為工作目錄。

    {
      "fs.oss.download.thread.concurrency": "cpu核心數2倍",
      "fs.oss.upload.thread.concurrency": "cpu核心數2倍",
      "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"
    }
    
  • 增量讀寫:在增量寫入時能夠保證資料一致性,覆蓋原有資料會有一致性問題。讀取速度略慢,適合儲存訓練的模型權重檔案。

    {
      "fs.oss.upload.thread.concurrency": "cpu核心數2倍",
      "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"
    }
    
  • 讀寫一致:在並發讀寫中能保持資料一致性,適用於對資料一致性要求高,可以容忍讀取速度慢的情境,適合儲存代碼專案。

    {
      "fs.jindo.args": "-oattr_timeout=0 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"
    }
    
  • 唯讀:僅允許讀取,不允許寫入,適合掛載公用資料集。

    {
      "fs.oss.download.thread.concurrency": "cpu核心數2倍",
      "fs.jindo.args": "-oro -oattr_timeout=7200 -oentry_timeout=7200 -onegative_timeout=7200 -okernel_cache -ono_symlink"
    }

使用限制

  • 多個資料集掛載的路徑不能重複。

  • 在OSS掛載的目錄下,不建議進行頻繁的寫操作。

掛載自訂資料集

步驟一:建立資料集

AI資產管理>資料集頁面建立自訂資料集。由於DSW只能掛載目錄,不能掛載檔案,因此,屬性只能選擇檔案夾

具體操作,請參見建立及管理資料集

步驟二:掛載資料集

模型開發與訓練>互動式建模(DSW)頁面建立DSW執行個體,或變更已有DSW執行個體配置。其中,資料集選擇已建立的自訂資料集,掛載路徑掛載模式按需配置。

其他參數詳情,請參見建立DSW執行個體

說明
  • 如果配置了CPFS類型的資料集,需要設定網路設定,且選擇的專用網路需要與CPFS一致。否則,DSW執行個體可能會建立失敗。

  • 如果配置了NAS類型的資料集,需要設定網路設定,選擇安全性群組。

  • 當資源群組選擇專有資源群組時,因為OSS對fuse介面的支援不如NAS完善,DSW限制第一個資料集必須選擇NAS類型資料集,並且該資料集會同時掛載到您指定的路徑和DSW預設工作目錄/home/admin/workspace下。

掛載公用資料集

步驟一:建立資料集

AI資產管理>資料集頁面建立公用資料集。具體操作,請參見建立資料集:公用資料集

步驟二:掛載資料集

模型開發與訓練>互動式建模(DSW)頁面建立DSW執行個體,或變更已有DSW執行個體配置。其中,資料集選擇已建立的公用資料集,掛載路徑掛載模式按需配置。

其他參數詳情,請參見建立DSW執行個體

掛載OSS路徑

步驟一:建立OSS Bucket

開通OSS服務建立Bucket

說明

Bucket所屬地區與PAI的地區一致。Bucket一旦建立,則無法更改其所屬地區。

步驟二:掛載OSS路徑

模型開發與訓練>互動式建模(DSW)頁面建立DSW執行個體,或變更已有DSW執行個體配置。其中,在掛載配置地區,OSS選擇已建立的OSS Bucket路徑,掛載路徑掛載模式按需配置。

其他參數詳情,請參見建立DSW執行個體

動態掛載

模型開發與訓練>互動式建模(DSW)頁面建立並開啟DSW執行個體,在執行個體中自行編寫代碼掛載資料集。

步驟一:準備工作

  • 模型開發與訓練>互動式建模(DSW)頁面建立DSW執行個體,在DSW執行個體執行如下命令,安裝PAI Python SDK。

    python -m pip install pai>=0.4.11
  • 通過以下兩種方式中的任意一種,配置SDK訪問PAI的密鑰:

    • 方式一:配置DSW執行個體的PAI預設角色或自訂RAM角色,執行個體內包含存取金鑰。具體操作,請參見配置DSW執行個體RAM角色

    • 方式二:手動通過PAI Python SDK提供的命令列工具完成配置。

步驟二:掛載資料集

通過動態掛載功能,您無需重啟配置DSW執行個體,即可將指定的OSS Bucket目錄直接掛載到執行個體內,實現在執行個體內通過讀寫本地檔案的方式訪問OSS資料。可參考如下使用樣本:

  • 配置掛載OSS Bucket

    相應的資料會被掛載到執行個體內的預設掛載路徑下。

    from pai.dsw import mount
    
    mount_point = mount("oss://<YourBucketName>/Path/Data/Directory/")
    
  • 配置掛載到指定路徑

    動態掛載功能目前需要將資料掛載到容器內的指定路徑(或是相應的子路徑下),可以通過SDK提供的API擷取動態掛載路徑。

    from pai.dsw import mount, default_dynamic_mount_point
    
    # 擷取執行個體的預設掛載路徑
    default_path = default_dynamic_mount_path()
    
    mount_point = mount("oss://<YourBucketName>/Path/Data/Directory", mount_point=default_path + "tmp/output/model")
    
  • 卸載掛載資料

    
    from pai.dsw import unmount
    
    mount_point = mount("oss://<YourBucketName>/Path/Data/Directory/")
    
    unmount(mount_point)
  • 查看當前執行個體內的所有掛載資料配置

    
    from pai.dsw import list_dataset_configs
    
    print(list_dataset_configs())
    
  • 配置掛載選項

    DSW基於JindoFuse掛載,您可以針對自己不同的讀寫情境,配置符合需求的掛載參數。

    from pai.dsw import mount, OptionType
    
    # 使用預設的掛載配置模版
    mount("oss://<YourBucket>/path/to/data/", option_type=OptionType.FastReadWrite)
    
    # 使用JindoFuse的掛載配置參數
    mount("oss://<YourBucket>/path/to/data/", options={
                "fs.oss.download.thread.concurrency": "8",
                "fs.oss.upload.thread.concurrency": "8",
                "fs.jindo.args": "-oattr_timeout=3 -oentry_timeout=0 -onegative_timeout=0 -oauto_cache -ono_symlink"
            }))
    

查看掛載配置

  1. 單擊目標DSW執行個體操作列下的開啟

  2. 在DSW執行個體頁面的頂部功能表列中,單擊Terminal頁簽。然後按照操作指引開啟Terminal。

  3. Terminal中,輸入以下命令,查看NAS及OSS類型的資料集是否掛載成功。

    #查詢NAS掛載路徑
    mount | grep nas
    #查詢OSS掛載路徑
    mount | grep oss

    系統輸出如下返回結果,說明資料集已成功掛載。掛載路徑

    • NAS資料集已掛載到/mnt/data_nas/mnt/workspace/home/admin/workspace目錄。其中,/mnt/data_nas為建立DSW執行個體時指定的掛載路徑,後兩個路徑為配置第一個NAS資料集時,被掛載的DSW的預設工作目錄。後續只要您的NAS盤和服務正常運行,資料和代碼就可以持久化儲存。

    • OSS資料集掛載到DSW的/mnt/data_oss目錄。