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