RTX 30系列GPU支持直连SSD,它会是AI炼丹“大杀器”吗?
数据集载入会更快吗?
晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI
花将近一半的钱,买性能2倍的显卡,真香。
在本周的产品发布会上,英伟达推出了RTX 30系列显卡,只要5499元的价格,就能买到比1万元RTX 2080Ti性能高出一倍的显卡。
更多的CUDA核心、张量核心将浮点算力提升2倍,GPU的AI性能得以大幅提升。
但发布会上另一项功能引起了机器学习社区的注意,那就是RTX IO,有了它以后你“炼丹”的速度可能更快了。
什么是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之间传输数据,带宽提高了2到8倍。
- 降低延迟,读取带宽更平滑,实测端到端延迟降低了3.8倍。
- 对CPU负载的侵入较小,不会干扰GPU负载。GPU占用率接近零。
- GPU的I/O带宽提高到215GB/s,而过去的CPU仅有50 GB/s。
还有,在去年的GPU技术大会上,英伟达展示RAPIDS开源软件项目中,通过数据直连,让GPU处理数据帧加速了1.5至8倍。
# Timing Pandas
# Output: 82.2 ms per loop
%timeit pandas_df.a.mean()
# Timing cuDF
# 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
- 脑机接口走向现实,11张PPT看懂中国脑机接口产业现状|量子位智库2021-08-10
- 张朝阳开课手推E=mc²,李永乐现场狂做笔记2022-03-11
- 阿里数学竞赛可以报名了!奖金增加到400万元,题目面向大众公开征集2022-03-14
- 英伟达遭黑客最后通牒:今天必须开源GPU驱动,否则公布1TB机密数据2022-03-05