Nvidia的新数据

作者:George Seif

来源:Medium

过去几年,人们开始对数据科学产生了巨大的兴趣,以至于许多公司正在重新调整其业务战略并将自己标榜为“数据驱动”公司。公司的这个举措有很好的理由,并且已经不是什么秘密了:更多的数据为我们提供了更大的机会来提取商业信息并创造更高的商业价值。

处理大数据集对计算机的性能有较高的要求。你需要一个好的中央处理器(CPU),理想情况下需要很多核心,比如Xeon类型的处理器。同时您必须配备大容量的随机存取存储器(RAM),一般来说数据科学家会配备64甚至128GB的随机存取存储器(RAM),有时这甚至还不够!

除此之外,在深度学习(Deep learning)变得主流之后,图形处理器(GPU)正在进入数据科学领域。 GPU现在还可用于加速大型数据帧的处理和可视化(类似于Pandas)。例如数据科学领域的主流XGBoost库,它自带内置GPU加速功能。

英伟达(Nvidia)最近发布了他们的数据科学工作站,这是台将所有数据科学需要的硬件和软件整合在一起的个人电脑。它是一个完整的动力机器,拥有所有计算能力和必须的软件 ,因此非常用于适合数据分析。

我最近测试和检查过这个数据科学工作站,详细测评在下文中。

英伟达(Nvidia)工作站规格

我测试的工作站是由Boxx构建的。所有的硬件都是预先建成的,软件也都是预安装的,同时配备了一些额外的电缆以防万一。预先构建机器非常棒,不然我可能要花好几个小时。以下是主要硬件规格:

· 中央处理器(CPU) - 2 Intel Xeon SP Gold 5217’s, 8 core / 16 thread each @ 3.0Ghz

· 随机存取存储器(RAM) - 192GB DDR4-2933 MHz ECC

· 存储空间(Storage) - 1.0TB SSD M.2 PCIe驱动器

· 图形处理器(GPU) - 2个NVIDIA Quadro RTX 8000,每个48GB VRAM

· 外加鼠标,键盘和3年保修。

定制一台机器是最划算的。这台机器可选择的附带部件也恰到好处:来自CPU的32个总线程用于平行处理,大容量的高速RAM,一个PCIe SSD(比标准SATA驱动器快),以及2个GPU每个有48GB的VRAM。

软件经常是被低估的部分。该工作站预装了Ubuntu 18.04,以及所有您可能希望从源代码安装的数据科学和机器学习库和软件。仅举几个:

· 数据和ML - 熊猫,numpy,scipy,numba,matplotlib,xgboost,dask,scikit-learn,h5py,cython

· 深度学习 (Deep learning)- TensorFlow,Keras,PyTorch,NLTK

· Nvidia - GPU驱动程序,CUDA 10,cuDNN,RAPIDS

所有这些Python库都打包在Python虚拟环境中,以避免未来任何软件上的冲突。

从源代码安装TensorFlow可能是非常具有挑战性。让GPU驱动程序和CUDA与上述任何库一起工作可能会更加困难。因此,预先安装所有软件可以避免以后很多麻烦。

那么所以这些硬件和软件到底有多厉害呢?

我们一起来探究一下。

XGBoost 基准定位

XGBoost是一个开源库,提供高性能梯度提升决策树。底层的C ++代码库与位于顶部的Python接口相结合,使其运行快速并且容易使用。它是数据科学家的首选图书馆,特别是在Kaggle比赛中。

我们将运行一个基准测试,用于测评该工作站在使用XGBoost处理非常大的数据集时的表现。我们将使用Rapids.ai的演示笔记本来运行测试。

Rapids是一套可以利用GPU加速数据处理的软件库。它通过使用低级CUDA代码实现加速,再利用GPU优化和执行算法,同时仍在顶端使用易于使用的Python层。

英伟达(Nvidia)工作站使用Numpy的random.ran( )函数生成数据帧。为了测试工作站的极限,我将数据帧大小设置为1,000,000行乘以5000列float32号,这就像我在笔记本电脑中用尽所有内存一样。如果您能更有效地读取数据,您也许可以设置更大的数据帧,因为机器一旦开始运行训练了,机器上的RAM使用似乎就会固定下来。

然后,工作站在数据上运行XGBoost模型来进行训练。

即便是分析如此庞大的数据,英伟达(Nvidia)工作站仅使用CPU,总共16 个核心 / 32个线程的2个Xeon处理器也可以很好地处理它。一旦开始进行训练,所有32个线程都会激活高达100%的工作效率。如果我们愿意的话,我们还有足够的RAM空间可以运行另一个较小的训练。如果我们加上一个GPU,可以使XGBoost的运行速度加速约4.5倍,加两个GPU可以加速5倍。

深度学习(Deep Learning)基准

深度学习在数据科学中占有一席之地。几乎所有计算机视觉和自然语言处理中的挑战都由最先进的深度网络主导处理的。

人们可能想购买具有这种GPU功能的机器的一个重要原因是用于训练深度学习模型。

使用大型深度学习数据集,您拥有越多GPU内存越好。那些数百层深的网络需要大量的内存空间,特别是如果你想增加批量大小以帮助加速训练。

高端消费类GPU,如2080 Ti和1080 Ti,配备11GB内存。它们是非常强大的显卡,但11GB通常不足以在内存中安装大型神经网络。你可以选择像云端的V100 GPU那样更强大的功能,但是价格是每小时3.06美元!

为了测试我们可以从这些RTX 8000中获得多少,我们将使用TensorFlow的官方基准tf_cnn_benchmarks。存储库包含在ImageNet分类数据集上运行标准图像分类模型训练的脚本。我们将重复训练多次,最后取得平均速度,以图像/秒为单位。

为了真正测试工作站的功能,我们将试运行各种批量大小和GPU数量的基准测试。我在此基准测试中训练ResNet152时得到的结果如下表所示。

即使是单个RTX 8000也可以处理超过100张图像/秒,对于ResNet152来说速度非常快。我们还有足够的空间来增加批量大小,从而进一步加快速度,最高可达256。测试已经证明更大的批量大小可以持续缩短培训时间因为我们能更充分利用地我们的计算能力。在一些需要大量内存的应用程序中,例如用于视频处理的3D CNN,即使批量大小为1也不适用于一个标准的消费者11GB GPU! 但是RTX 8000中的48GB提供了足够的空间来训练不同的批量和模型大小。

总结

总而言之,数据科学工作站是一台伟大的机器。它必须配合高品质的硬件使用。它的厉害之处在于可以运行几乎任何东西。所有库和软件都更新到最新版本并且完全安装。更让人惊讶的是,这台PC可以毫无压力地运行TensorFlow代码,而TensorFlow代码通常需要通过源代码安装。仅此一点就可以为您节省大量的时间、金钱和精力!

硬件选择也非常优秀。机器上大量的RAM和GPU给使用者带来了很大的选择空间,同时也避免了运行多个GPU通常会产生的问题。但是当你的机器安装了4张显卡时,越来越多的GPU会产生边际效益递减。如果您喜欢不同的硬件设置,则可以在订购机器时根据自己的需求定制CPU、RAM和GPU。

购买英伟达(Nvidia)工作站可能是一项非常大的前期投资, 因为您需要一次性购买了大量硬件。但是得益于这台机器的超强性能,您可以在机器上完成所有的工作,所以后期节省的大量云端服务的费用可以弥补了前期价格。我认为这是一个“无所不能”的数据科学软件包。

翻译:柳叶青

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();