PyTorch推出1.3加入移动设备端到端部署工作流

脸书宣布开源深度学习框架PyTorch推出最新的1.3版本,添加了许多新的实验性功能,开发者可以无缝地将模型部署到移动设备上,同时也增加了模型量化(Quantization)功能,以提升模型预测性能,并且还添加像是命名张量(Name Tensor)功能改进前端,开发者可以编写逻辑更清楚的程序代码,不需要依靠内联注解说明。

PyTorch 1.3扩展对移动设备的支持,提供了把Python部署到iOS和Android设备的端到端工作流。脸书提到,应用程序要求越来越低的延迟,因此在边缘设备上执行机器学习的重要性也随之提高,现在加入的这个部署工作流程还是一个早期实验版本,对模型的大小进行了优化,系统会根据用户应用程序需要的运算符,来决定模型优化的程度,以及选择编译的相依项目。

在性能改善上,也扩大移动设备CPU和GPU的支持程度,同时也提供了高端API,扩展行动原生API,涵盖开发移动设备机器学习应用程序,所需要的一般预处理和集成任务,开发者能够更容易地在移动设备上发展计算机视觉以及NLP应用。

脸书提到,开发机器学习应用程序,应该要有效的利用服务器或是设备上的计算资源,特别是在资源受限的移动设备上,因此PyTorch 1.3现在开始支持8进制模型量化。量化是用来降低计算和存储精准度的技术,目前PyTorch支持的模型量化,包括动态量化以及量化感知训练。

在深度学习中使用的传统张量存在重大的设计缺陷,康奈尔大学助理教授Sasha Rush提到,传统张量会暴露隐私维度,还会基于绝对位置进行广播,或是将类型信息存储在文件中,因此经Sasha Rush的建议,PyTorch 1.3加入了实验性命名张量功能,以克服这些隐私问题。

PyTorch 1.3也加入了隐私观察工具CrypTen,脸书提到,云计算或是机器学习即服务平台面临了一系列安全和隐私的威胁,特别是平台的用户,可能不希望或是无法共享加密数据,而这使得机器学习工具的功能受限,为了解决这个问题,机器学习社群又发展了各种技术来解决问题,而为了理解这些技术,脸书发布了CrypTen研究平台,以推动机器学习领域的隐私保护研究。

新加入的工具还包括了称为Captum的模型解释工具(下图),PyTorch开发团队提到,随着模型越来越复杂,模型的可解释性需求也变得重要,Captum可以帮助PyTorch的开发人员了解模型的特定输出,该工具提供了先进的方法,帮助开发者了解特定神经元和层(Layer)的重要性,以及对模型预测产生的影响。

脸书人工智能研究院也为PyTorch发布了对象侦测函数库Detectron2,开发者可以使用Detectron2,以帮助计算机视觉的研究。在云计算方面,脸书与Google和Salesforce合作,为云计算TPU(Tensor Processing Units)提供支持,提升训练大型深度神经网络的速度。除了云计算平台AWS、Azure和GCP,阿里巴巴也加入PyTorch的支持。

PyTorch的社群相当活跃,其大量的贡献者为PyTorch提供充足的动能发展新功能,在去年贡献者增长超过50%,来自脸书、微软、Uber和其他组织的贡献者数量,目前已经接近1,200位,在论文预印本开放数据库arXiv上,PyTorch引用在2019年上半年增长194%。