PyTorch 1.3 已经发布了,新的版本不仅能支持 Android/iOS 移动端部署,甚至还能让用户去对手 Google 的 Colab 上调用云 TPU。此外还有一大波新工具,涉及可解释性、加密、以及关于图像语音的诸多功能。PyTorch 1.3 带来了三个实验性的新功能:
允许用户给张量维度命名,从而让张量更易用,这样就可以直接喊他们的名字,不用根据位置来跟踪张量维度。
升级之前,你需要在代码里写注释来给张量命名:
# Tensor[N, C, H, W] images = torch.randn(32, 3, 56, 56) images.sum(dim=1) images.select(dim=1, index=0)
升级之后,就直接能在代码里写了,这样可读性大大提高:
NCHW = [‘N’, ‘C’, ‘H’, ‘W’] images = torch.randn(32, 3, 56, 56, names=NCHW) images.sum('C') images.select('C', index=0)
另外,这项功能还能自动检查 API 是否被正确的使用,提升了安全性,还可以直接用名字来重新排列尺寸。
开发 ML 应用程序时,有效利用服务器端和设备上的计算资源非常重要。
为了支持在服务器和边缘设备上进行更有效的部署,PyTorch 1.3 现在支持用 eager 模式进行 8 位模型量化。所谓量化,是指降低精度执行计算和存储的技术。
当前处于实验性的量化功能包括对后训练量化(post-training quantization)、动态量化(dynamic quantization)和量化感知训练(quantization-aware training)的支持。它分别利用了 x86 和 ARM CPU 的 FBGEMM 和 QNNPACK 最新的量化内核后端,这些后端与 PyTorch 集成在一起,并且现在共享一个通用 API。
另外,为了在边缘设备上高效的运行机器学习,PyTorch 1.3 支持端到端的工作流,从 Python 到部署在 iOS 和安卓端。
当然,这个功能还是早期实验版本,针对端到端做了优化,新版本重点在:
noise_tunnel = NoiseTunnel(integrated_gradients) attributions_ig_nt, delta = noise_tunnel.attribute(input, n_samples=10, nt_type='smoothgrad_sq', target=pred_label_idx) _ = viz.visualize_image_attr_multiple(["original_image", "heat_map"], ["all", "positive"], np.transpose(attributions_ig_nt.squeeze().cpu().detach().numpy(), (1,2,0)), np.transpose(transformed_img.squeeze().cpu().detach().numpy(), (1,2,0)), cmap=default_cmap, show_colorbar=True)
加密工具 Cryp Ten:这是一个新的基于社区的研究平台,用于推动隐私保护 ML 领域的发展。
Fairseq 的语音扩展:语言翻译和音频处理是系统和应用程序(例如搜索,翻译,语音和助手)中的关键组件。由于变压器等新架构的发展以及大规模的预训练方法的发展,最近在这些领域取得了巨大的进步。
阿里云:阿里云的集成涉及 PyTorch 1.x 的一键式解决方案,数据科学 Workshop notebook 服务,使用 Gloo/NCCL 进行的分布式训练,以及与阿里巴巴 IaaS(如 OSS、ODPS 和 NAS)的无缝集成。
硬件生态扩展:除了主要的 GPU 和 CPU 合作伙伴之外,PyTorch 生态系统还支持专用的机器学习加速器。比如英特尔不久前推出的 NNP-I 推理芯片、Habana Labs 的 AI 处理器
参考:量子位
评论删除后,数据将无法恢复
PyTorch 1.3 发布
PyTorch 1.3 已经发布了,新的版本不仅能支持 Android/iOS 移动端部署,甚至还能让用户去对手 Google 的 Colab 上调用云 TPU。此外还有一大波新工具,涉及可解释性、加密、以及关于图像语音的诸多功能。PyTorch 1.3 带来了三个实验性的新功能:
命名张量
允许用户给张量维度命名,从而让张量更易用,这样就可以直接喊他们的名字,不用根据位置来跟踪张量维度。
升级之前,你需要在代码里写注释来给张量命名:
升级之后,就直接能在代码里写了,这样可读性大大提高:
另外,这项功能还能自动检查 API 是否被正确的使用,提升了安全性,还可以直接用名字来重新排列尺寸。
量化支持
开发 ML 应用程序时,有效利用服务器端和设备上的计算资源非常重要。
为了支持在服务器和边缘设备上进行更有效的部署,PyTorch 1.3 现在支持用 eager 模式进行 8 位模型量化。所谓量化,是指降低精度执行计算和存储的技术。
当前处于实验性的量化功能包括对后训练量化(post-training quantization)、动态量化(dynamic quantization)和量化感知训练(quantization-aware training)的支持。它分别利用了 x86 和 ARM CPU 的 FBGEMM 和 QNNPACK 最新的量化内核后端,这些后端与 PyTorch 集成在一起,并且现在共享一个通用 API。
移动端
另外,为了在边缘设备上高效的运行机器学习,PyTorch 1.3 支持端到端的工作流,从 Python 到部署在 iOS 和安卓端。
当然,这个功能还是早期实验版本,针对端到端做了优化,新版本重点在:
新工具
加密工具 Cryp Ten:这是一个新的基于社区的研究平台,用于推动隐私保护 ML 领域的发展。
多模 AI 系统工具
Fairseq 的语音扩展:语言翻译和音频处理是系统和应用程序(例如搜索,翻译,语音和助手)中的关键组件。由于变压器等新架构的发展以及大规模的预训练方法的发展,最近在这些领域取得了巨大的进步。
云端支持
阿里云:阿里云的集成涉及 PyTorch 1.x 的一键式解决方案,数据科学 Workshop notebook 服务,使用 Gloo/NCCL 进行的分布式训练,以及与阿里巴巴 IaaS(如 OSS、ODPS 和 NAS)的无缝集成。
硬件生态扩展:除了主要的 GPU 和 CPU 合作伙伴之外,PyTorch 生态系统还支持专用的机器学习加速器。比如英特尔不久前推出的 NNP-I 推理芯片、Habana Labs 的 AI 处理器
参考:量子位