使用OSS Connector for AI/ML實現在PyTorch訓練任務中訪問和存儲OSS數據
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與OssIterableDataset所提供方法相同,如下所示:
| |
可迭代式數據集 | 適合流式順序訪問,能夠高效地處理大量連續的數據流。 | ||
檢查點接口 | 在模型訓練時從OSS中加載檢查點,并且在周期性模型訓練結束后可以直接將檢查點保存至OSS。簡化了工作流程。 |
|
使用流程
在PyTorch訓練任務中訪問和存儲OSS中的數據之前,您需要安裝并配置OSS Connector for AI/ML。具體操作,請參見安裝OSS Connector for AI/ML和配置OSS Connector for AI/ML。
安裝并配置OSS Connector for AI/ML后,您可以在Pytorch訓練任務中:
使用OssMapDataset構建適用于隨機讀取操作的映射式數據集。具體操作,請參見使用OSS中的數據構建適用于隨機讀取的映射式數據集。
使用OssIterableDataset構建適用于流式順序訪問的可迭代式數據集。具體操作,請參見使用OSS中的數據構建適用于流式順序讀取的迭代式數據集。
使用OssCheckpoint存儲和訪問檢查點。具體操作,請參見在OSS中存儲和訪問檢查點。
- 說明
OssMapDataset、OssIterableDataset、OssCheckpoint中的數據具有相同的類型,如需了解支持的屬性和方法,請參見OSS Connector for AI/ML中的數據類型。
實踐教程
如果您想快速學習如何在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鏡像。