亚洲城娱乐场手机下载·PyTorch终于能用上谷歌云TPU,推理性能提升4倍,该如何薅羊毛?

作者: 未知 来源: 网络 2020-01-03 19:15:37

亚洲城娱乐场手机下载·PyTorch终于能用上谷歌云TPU,推理性能提升4倍,该如何薅羊毛?

亚洲城娱乐场手机下载,晓查 发自 凹非寺

量子位 报道 | 公众号 qbitai

昨天,facebook在pytorch开发者大会上正式推出了pytorch 1.3,并宣布了对谷歌云tpu的全面支持,而且还可以在colab中调用云tpu。

之前机器学习开发者虽然也能在colab中使用pytorch,但是支持云tpu还是第一次,这也意味着你不需要购买昂贵的gpu,可以在云端训练自己的模型。

而且如果你是谷歌云平台(google cloud platform)的新注册用户,还能获得300美元的免费额度。

现在pytorch官方已经在github上给出示例代码,教你如何免费使用谷歌云tpu训练模型,然后在colab中进行推理。

训练resnet-50

pytorch先介绍了在云tpu设备上训练resnet-50模型的案例。如果你要用云tpu训练其他的图像分类模型,操作方式也是类似的。

在训练之前,我们先要转到控制台创建一个新的虚拟机实例,指定虚拟机的名称和区域。

如果要对resnet50在真实数据上进行训练,需要选择具有最多cpu数量的机器类型。为了获得最佳效果,请选择n1-highmem-96机器类型。

然后选择debian gnu/linux 9 stretch + pytorch/xla启动盘。如果打算用imagenet真实数据训练,需要至少300gb的磁盘大小。如果使用假数据训练,默认磁盘大小只要20gb。

创建tpu

官方建议初次运行时使用假数据进行训练,因为fake_data会自动安装在虚拟机中,并且只需更少的时间和资源。你可以使用conda或docker进行训练。

在fake_data上测试成功后,可以开始尝试用在imagenet的这样实际数据上进行训练。

用conda训练:

用docker训练:

在n1-highmem-96的虚拟机上选用完整v3-8 tpu进行训练,第一个epoch通常需要约20分钟,而随后的epoch通常需要约11分钟。该模型在90个epoch后达到约76%的top-1准确率。

为了避免谷歌云后续进行计费,在训练完成后请记得删除虚拟机和tpu。

性能比gpu提升4倍

训练完成后,我们就可以在colab中导入自己的模型了。

打开notebook文件,在菜单栏的runtime中选择change runtime type,将硬件加速器的类型改成tpu。

先运行下面的代码单元格,确保可以访问colab上的tpu:

然后在colab中安装兼容pytorch/tpu组件:

接下来就可以导入你要训练好的模型和需要进行推理的图片了。

在pytorch上使用tpu对性能的提升到底有多明显呢?官方选用了v2-8的一个核心,即1/8 tpu的情形,与使用英伟达tesla k80 gpu进行对比,实测显示推理时间大大缩短,性能约有4倍左右的提升。

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(qbitai)对话界面,回复“招聘”两个字。

量子位 qbitai · 头条号签约作者

վ'ᴗ' ի 追踪ai技术和产品新动态


上一篇:国家卫健委:913家医院将开展无痛分娩试点

下一篇:长期未训练引疑问?网曝LOL宁王与女友甜蜜逛街