浅谈营销型网站建设的市场费用,瑞安公司做网站,做网络销售都做什么网站,WordPress三大标签插件文 | Sherry在2019年PyTorch开发者大会上#xff0c;Facebook#xff0c;Google和Salesforce Research联合宣布启动PyTorch-TPU项目。项目的目标是在保持PyTorch的灵活性的同时让社区尽可能容易地利用云TPU提供的高性能计算。团队创建了PyTorch/XLA这个repo#xff0c;它可以… 文 | Sherry在2019年PyTorch开发者大会上FacebookGoogle和Salesforce Research联合宣布启动PyTorch-TPU项目。项目的目标是在保持PyTorch的灵活性的同时让社区尽可能容易地利用云TPU提供的高性能计算。团队创建了PyTorch/XLA这个repo它可以让使PyTorch连接到云TPU并使用TPU内核同时Colab也支持在云TPU上使用PyTorch/XLA。现在PyTorch/XLA 已在Google Cloud上达到通用标准GA并为我们提供了许多方便易用的接口。赶紧来看看PyTorch/XLA都有哪些功能吧GA版本有哪些新功能借助PyTorch/XLA GA云TPU正式支持PyTorch 1.6。其他值得注意的新功能包括支持层内模型并行性现在可以在reduce的时候在多组tensor上使用多种运算。添加了更多的通信原语从而可以实现有趣的应用例如把嵌入词向量词分布到多个TPU内核上额外的XLA运算随着PyTorch/XLA在越来越广泛的新模型中被使用用户要求将PyTorch运算映射到XLA。对此从beta1.5版本开始我们已经为Replication_pad1dreplication_pad2dmax_unpool2dmax_unpool3d等运算加入了低配XLA在Colab/Kaggle上更好的体验现在不再需要在Colab/Kaggle上运行env-setup.py脚本就可以开始训练倆。对深度学习VM映像的支持Google Cloud 平台提供了一组深度学习虚拟机DLVM映像配置好了各种常用深度学习框架包括PyTorch和所需的一切。PyTorch/XLA 1.6现在已预安装在DLVM中并针对云TPU进行了优化。官方的PyTorch 1.6也预装在相同的Conda环境中。详细使用方法参照用户指南[1]。GA版本支持哪些模型PyTorch/XLA已被用于在云TPU上训练众多深度学习模型。包括图像分类任务ImageNetTorchvision的ResNet-50翻译任务WMT-18 en-deFairseq Transformer通用的语言模型的预训练和微调GLUE等HuggingFaceBERTDistilBERTRoBERTaXLNet等和Fairseq RoBERTa深度学习推荐模型1.6版的新增功能DLRM。在大多数情况下在云TPU上训练这些模型几乎不需要更改代码。可以参考官方教程[2]获得上述模型的详细教程也可以参考PyTorch / XLA GitHub[3]代码库找到训练的其他模型架构的示例。PyTorch/XLA是如何工作的PyTorch/XLA使用“lazy tensor”进行抽象。使用lazy tensor时运算的evaluation会被推迟到这个运算被访问之前。此时运算被描述为中间表示图当我们需要运算结果时访问就通过XLA编译这些中间表示图并发送到TPU内核以执行。这种XLA编译对CPU和GPU都支持。其他技术详细信息可以参考GitHub[4]。升级到云TPU要改哪些代码首先需要创建一个配有PyTorch / XLA映像的Google Compute Engine虚拟机和一个云TPU实例。创建好虚拟机和云TPU实例后需要配置conda环境并设置XRT_TPU_CONFIG环境变量指向云TPU实例export XRT_TPU_CONFIGtpu_worker;0;TPU_IP_ADDRESS:8470
现在就可以开始在云TPU上训练模型了实际代码中需要改动的地方包括调取相关代码包import torch_xla设置访问XLA设备抽象的方法以及并行数据加载器。使用xm.optimizer_step(optimizer)在后台进行reduce。可以参考英文博客原文[5]中的代码实例看看具体的区别。在Cloud TPU Pod上训练PyTorch/XLA支持将刚刚在单个云TPU上执行的训练扩展到整个云TPU Pod或者任意Pod切片,只需要使用xla_dist包装就可以了 python -m torch_xla.distributed.xla_dist \--tpu$TPU_NAME \--conda-envtorch-xla-1.6 \--env ANY_ENV_VARVALUE \-- \python /path/to/your/code.py --train_arg1 \--train_arg2 ...
官方提供的Colab notebook[6]写得非常详细现在就开始探索吧更多详情请参考英文博客原文[7]以及Google官方博文[8]后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群有顶会审稿人、大厂研究员、知乎大V和妹纸等你来撩哦~参考文献[1]用户指南: https://docs.google.com/document/d/1RzNgpTK4wESImhIwgMbknqn9xVNUFtCTCknNfONlMlo/edit[2]官方教程: https://cloud.google.com/tpu/docs/tutorials/[3]PyTorch / XLA GitHub: https://github.com/pytorch/xla[4]GitHub: https://github.com/pytorch/xla/blob/master/API_GUIDE.md#xla-tensor-deep-dive[5]英文博客原文: https://medium.com/pytorch/pytorch-xla-is-now-generally-available-on-google-cloud-tpus-f9267f437832[6]Colab notebook: https://github.com/pytorch/xla/tree/master/contrib/colab[7]英文博客原文: https://medium.com/pytorch/pytorch-xla-is-now-generally-available-on-google-cloud-tpus-f9267f437832[8]Google官方博文: https://cloud.google.com/blog/products/ai-machine-learning/pytorch-is-now-ga-on-google-cloud-tpu