#米粒创意#GPU,靠的居然是哈希?,学习超大神经网络,CPU超越V100( 三 )


图5:SLIDE(红线)、TF-GPU(蓝线)和TF-CPU(黑线)之间的效果对比 。
在Delicious200K数据集上 , SLIDE比TF-GPU快1.8倍 。 而在需要更大算力的Amazon-670K上 , TF-GPU的收敛时间是SLIDE的2.7倍(2小时与5.5小时) 。 从迭代量来看 , 两者之间的收敛行为也是等价的 , 只不过每一次迭代SLIDE都快一些 。
此外 , 在图5中 , 最后的收敛效果都是差不多的 , 也就是说在SLIDE框架下 , 模型效果并不会被破坏 。
表2展示了CPU核心的使用情况 , 其分别测试了框架在使用8、16、32线程下的负载情况 。 我们可以看到 , 对于TF-CPU , 其使用率非常低(<50%) , 且随着线程的增加 , 使用率会进一步降低 。 对于SLIDE , 计算核心的利用是非常稳定的 , 大约在80%左右 。
图6展示了TF-CPU和SLIDE在CPU无效利用率上的分布情况 。 SLIDE对于计算核心的利用率要远远高于TF-CPU的利用率 。
图6:CPU低效利用率:Memory-bound的低效利用率(橙色)对于这两种算法是最显著的 。 TF-CPU随着核心数的增加 , Memory-bound低效利用率也会增加 , 而SLIDE会降低 。
因为能高效利用CPU的计算资源 , SLIDE随着CPU核心数的增加 , 收敛时间还能极大地降低 。
图9:TF-CPU与SLIDE之间的可扩展性测试 , 很明显SLIDE要强很多 。
代码示例
现在SLIDE已经开源 。 在开源项目中 , 作者提供了数据集和相应的代码进行测试 。
首先 , 使用者需要安装CNPY , 并开启TransparentHugePages , SLIDE需要大约900个pages , 每个2MB , 以及10个1GB的pages 。
运行代码过程如下:
make./runmeConfig_amz.csv需要注意的是 , Makefile需要基于CNPY修改路径 , 同时需要修改的包括在Config_amz.csv中的trainData、testData、logFile等 。
至于训练数据 , 它来自Amazon-670K , 下载地址如下:
https://drive.google.com/open?id=0B3lPMIHmG6vGdUJwRzltS1dvUVk
【#米粒创意#GPU,靠的居然是哈希?,学习超大神经网络,CPU超越V100】在工业领域中 , 模型结构并不一定非常复杂 , 朴素贝叶斯、全连接网络这些简单模型往往能获得更多的青睐 。 然而 , 真实模型通常非常庞大 , 配置高性能GPU来训练模型非常不划算 。 即使这篇论文只验证了全连接网络 , 但至少说明高性能CPU真的能满足大模型的训练 , 能大量降低硬件成本 。


推荐阅读