曉查 發自 凹非寺
量子位 報導 | 公眾號 QbitAI
花將近一半的錢,買性能2倍的顯卡,真香。
在本周的產品發布會上,英偉達推出了RTX 30系列顯卡,只要5499元的價格,就能買到比1萬元RTX 2080Ti性能高出一倍的顯卡。
更多的CUDA核心、張量核心將浮點算力提升2倍,GPU的AI性能得以大幅提升。
但發布會上另一項功能引起了機器學習社區的注意,那就是RTX IO,有了它以後你「煉丹」的速度可能更快了。
RTX IO技術允許GPU在不使用CPU的情況下,將遊戲素材數據直接從SSD加載到GPU的顯存中。
過去,系統讀取固態硬碟(SSD)裡的數據時,需要由CPU來處理,然後釋放到內存(RAM)中,再由CPU交給GPU。
這樣一來一回,浪費了大量的時間不說,也浪費了GPU自身的解壓能力。如果以14GB/s來全速讀取PCIe 4.0 SSD的壓縮數據,需要消耗24個CPU核心。
尤其是個人開發者,一般不會用到這麼高規格的CPU。
RTX IO的作用就是解放CPU,用GPU來加速讀取壓縮數據。數據不會流過CPU和系統內存,而是直接交給GPU解壓,再放入顯存(VRAM)中。
英偉達表示,這項技術最多可以將數據I/O性能提升100倍。甚至PCIe 4.0 SSD的讀取極限已經跟不上GPU的解碼能力了。
雖然該功能主要是面向遊戲玩家,但對AI開發者來說也有重大意義。
因為AI的訓練和推理一般都是在GPU上進行的,傳統的數據讀取方式已經制約了「煉丹」的速度。
對於訓練大型數據模型,通常將數據加載和卸載到顯存上是AI工作負載的最大瓶頸。從CPU切換到GPU計算時,加載訓練數據通常是pipeline中最慢的部分。
一位開發者表示,在TensorFlow或PyTorch中運行AI模型時,從GPU加載和卸載數據會消耗大量時間。
這導致對於較小的模型,用GPU實際計算的時間反而比CPU更長。
雖然GPU訓練和更新參數的速度要更快,但是向GPU加載和卸載數據比CPU慢得多,導致CPU訓練速度反而更快的現象。
其實英偉達的GPU直連技術早已有之,在RTX 30系列顯卡發布以前,英偉達就有一個叫做GPUDirect的技術。
這也是在SSD和GPU之間建立直連通道,但是GPUDirect僅支持Tesla和Quadro專業級顯卡。
英偉達過去的測試數據表明了這項技術對計算速度的巨大提升。
還有,在去年的GPU技術大會上,英偉達展示RAPIDS開源軟體項目中,通過數據直連,讓GPU處理數據幀加速了1.5至8倍。
Output: 82.2 ms per loop%timeit pandas_df.a.mean() Output: 5.12 ms per loop%timeit cudf_df.a.mean()
RTX IO的推出,意味著3000系列可能是我們在消費級GPU中首次數據直連的技術。
如果你從事計算機視覺的研究,那麼RTX IO也許可以充分利用GPU解壓圖像的能力。
而且RTX IO現在僅支持Windows作業系統,未來何時支持Linux還是未知數。
像Keras,PyTorch或TensorFlow之類的通用庫也沒有提供支持,只有等到這些庫更新後,才能方便直接調用。
不過,RTX 30系列的性價比已經足夠高,即使短期內看不到RTX IO對機器學習的支持,也值得購。
那麼,你期待RTX IO功能嗎?你覺得它會對「AI煉丹」產生重大影響嗎?
參考連結:
https://www.reddit.com/r/MachineLearning/comments/ilvkyi/d_nvidias_rtx_3000_series_and_direct_storage_for/
https://developer.nvidia.com/gpudirect
— 完 —
量子位 QbitAI · 頭條號籤約
關注我們,第一時間獲知前沿科技動態