全部產品
Search
文件中心

Object Storage Service:使用OSS Connector for AI/ML實現在PyTorch訓練任務中訪問和儲存OSS資料

更新時間:Dec 03, 2024

OSS Connector for AI/ML是一個用於在PyTorch訓練任務中高效訪問和儲存OSS資料的Python庫。

功能優勢

對比項

不使用OSS Connector for AI/ML

使用OSS Connector for AI/ML

效能

手動最佳化效能,效率可能低下

自動最佳化OSS資料下載及檢查點儲存效能

資料載入方式

需提前下載資料,增加成本和管理負擔

支援流式載入,降低成本和管理複雜度

資料訪問

通過轉接器讀寫,增加複雜度

直接從OSS讀寫,簡化流程

配置難度

需編寫複雜代碼管理,配置困難

提供簡單配置,提高開發效率

工作原理

通過OSS Connector for AI/ML使用OSS中的資料進行PyTorch訓練的過程如下圖所示:

功能特性

OSS Connector for AI/ML主要功能如下表所示:

功能點

特性

關聯類別

方法

映射式資料集

適合隨機訪問,方便在訓練過程中快速擷取特定資料。

OssMapDataset

OssMapDatasetOssIterableDataset所提供方法相同,如下所示:

  • from_prefix()

    使用OSS_URI首碼構建資料集,適用於OSS儲存路徑具有統一規律的情境。

  • from_objects()

    使用OSS_URI的列表資料集,適用於OSS儲存路徑位置明確但分散的情境。

  • from_manifest_file()

    使用資訊清單檔構建資料集,適用於資料集檔案數量大(如千萬級)且有重複載入資料集需求,以及已開通標量檢索OSS功能的Bucket。

可迭代式資料集

適合流式順序訪問,能夠高效地處理大量連續的資料流。

OssIterableDataset

檢查點介面

在模型訓練時從OSS中載入檢查點,並且在周期性模型訓練結束後可以直接將檢查點儲存至OSS。簡化了工作流程。

OssCheckpoint

  • OssCheckpoint()

    初始化OssCheckpoint對象,用於在模型訓練過程中讀寫檢查點。

  • reader()

    OssCheckpoint對象方法,用於從OSS中讀取檢查點。

  • writer()

    OssCheckpoint對象方法,用於將檢查點寫入OSS中。

使用流程

實踐教程

  • 如果您想快速學習如何在PyTorch中使用OSS資料進行模型訓練,並將訓練結果儲存至OSS,我們為您提供了一個使用OSS Connector for AI/ML完成手寫數字識別模型訓練的Demo。詳情請參見OSS Connector for AI/ML快速入門

  • 如果您需要進一步提升OSS Connector for AI/ML的效能,建議您使用OSS加速器網域名稱而不是預設的OSS內網網域名稱。關於使用OSS內網網域名稱與OSS加速器網域名稱之間的OSS Connector for AI/ML效能對比,請參見效能測試

  • 如果您要在容器環境中使用OSS Connector for AI/ML,您可以使用含有OSS Connector for AI/ML的Docker鏡像。如何構建鏡像,請參見構建含有OSS Connector for AI/ML環境的Docker鏡像