亞馬遜推出高性能 PyTorch 數據集庫 —— S3 Plugin
亞馬遜近日為 Facebook 的 PyTorch 機器學習框架 推出了一個名為 S3 Plugin 的數據集庫,旨在幫助數據科學家訪問存儲在 AWS S3(Amazon Web Services Simple Storage Service) 中的數據集。它專為低延遲而設計,亞馬遜表示,S3 Plugin 為任何規模的數據集提供了流式傳輸數據的功能,消除了提供本地存儲容量的需要。
PyTorch 是一個基于 Torch 庫的開源機器學習庫,用于計算機視覺和自然語言處理等應用,主要由 Facebook 的 AI 研究實驗室開發。它是在修改的 BSD 許可下發布的免費開源軟件,底層由 C++ 實現。
許多深度學習軟件都建立在 PyTorch 之上,包括特斯拉自動駕駛、Uber 的 Pyro 和 HuggingFace 的 Transformers 等。PyTorch 主要提供了兩個高級功能:
- Tensor 計算(如 NumPy),通過圖形處理單元(GPU)進行強力加速
- 建立在基于類型的自動微分系統上的深度神經網絡
自 2016 年 10 月發布以來,PyTorch 在數據科學和開發人員社區中得到快速成長。2019 年,該平臺的貢獻者數量同比增長超過 50%,達到近 1200 人。根據研究機構的分析發現,2019 年的每個主要的人工智能會議都有大部分論文是用 PyTorch 實現的,2019 年上半年,論文中 PyTorch 的引用量增長了 194% 以上。
亞馬遜在博客文章中寫道:"有了 PyTorch 深度學習容器中的這項功能,用戶可以利用 PyTorch 數據集和數據加載器 API 直接使用 S3 中的數據,而不需要先在本地存儲中下載。針對 PyTorch 開發的 S3 Plugin 提供了從 Amazon S3 到 PyTorch 使用數據的原生體驗,而無需在代碼中增加復雜性。"
S3 Plugin 的優勢包括:
- PyTorch 支持兩種不同類型的數據集,適用于 PyTorch 的 S3 Plugin 可根據你的需要靈活地使用兩者;
- S3 Plugin 可以使用各種格式的訓練數據來訓練機器學習模型。它與文件格式無關,并將 Amazon S3 上的對象呈現為 blob,并能對從 Amazon S3 接收的輸入進行其他轉換;
- S3 Plugin 提供了一種方法,可以使用 ShuffleDataset 在內存中洗數據,或者在擴展 S3IterableDataset 時通過提供輸入參數 shuffle_urls 在內存中洗數據;
PyTorch 的 S3 Plugin 提供了一種從 S3 并行傳輸數據的方法,以及對來自歸檔文件的數據流的支持。亞馬遜表示,由于該插件是 PyTorch 內部接口的實現,它不需要修改現有的代碼就可以與 S3 配合使用。
適用于 PyTorch 的 S3 Plugin 提升了 PyTorch 的易用性和靈活性,感興趣的開發者可以通過預配置的 PyTorch Docker 鏡像使用,或直接從 GitHub 倉庫使用。
本文轉自OSCHINA
本文標題:亞馬遜推出高性能 PyTorch 數據集庫 —— S3 Plugin
本文地址:https://www.oschina.net/news/159532/amazon-releases-s3-plugin-for-pytorch