加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动 > 正文

超原版速度110倍,针对PyTorch的CPU到GPU张量迁移工具开源

发布时间:2019-09-18 11:14:53 所属栏目:移动 来源:机器之心编译
导读:副标题#e# 机器学习中,有一个限制速度的环节,那就是从 CPU 到 GPU 之间的张量迁移。很多计算只能在 CPU 上进行,然后迁移到 GPU 进行后续的训练工作,因此迁移中如果速度太慢,则会拖累整个模型的训练效率。近日,有一位开发者开源了针对 PyTorch 的 CPU-

以上展示了如何以常规的方式训练 word2vec,随后展示了如何使用 SpeedTorch 在同样的数据上进行训练——在通常不支持稀疏训练的优化器上。因为嵌入变量包含的所有嵌入在每一部上都有更新,你可以在初始化期间将 sparse=False。

效果

这一部分记录了 Cupy/PyTorch 张量和 PyTorch 变量之间的数据迁移速度。其中,需要迁移 128 维的嵌入向量,共有 131,072 个 32 位浮点数。使用了如下的代码进行测试工作。所有测试都使用了特斯拉 K80 GPU。

测试代码链接:https://colab.research.google.com/drive/1b3QpfSETePo-J2TjyO6D2LgTCjVrT1lu

下表是结果摘要。在同样情况下,将数据从 PyTorch CUDA 张量传递到 CUDA PyTorch 嵌入变量上是要比 SpeedTorch 更快的,但对于所有其他的传输类型,SpeedTorch 更快。对于转移到 Cuda Pytorch 嵌入,或从 Cuda Pytorch 嵌入转移的两个步骤的总和上来说,SpeedTorch 比常规 GPU 和 CPU Pinned 张量的 Pytorch 速度同样快。

超原版速度110倍,针对PyTorch的CPU到GPU张量迁移工具开源

从表中可以看出,这是 SpeedTorch 确实比 PyTorch 自带的数据迁移方法要快很多。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读