首页>动态 >内容

PyTorch更新1.5版本释出开源模型伺服器TorchServe

动态2021-02-13 18:03:09
最佳答案

深度学习函式库PyTorch释出了1.5版本,新增了开源模型伺服器TorchServe,能够高效能的提供PyTorch模型服务,并且整合TorchElastic和Kubernetes,让分散式训练更加自动化,此外,官方还释出了torch_xla更新套件,让PyTorch能良好地在Cloud TPU上运算。

TorchServe是一个PyTorch模型服务函式库,可以让用户简单地大规模部署经训练的PyTorch模型,且不需要撰写自定义的程式码。TorchServe是由AWS和脸书合作,成为PyTorch开源专案的一部分,加速用户将模型投入生产阶段的过程。

TorchServe除了提供低延迟的预测API之外,还为物件侦测与文字分类等常用应用程式,嵌入预设的处理程式(Handler),此外,TorchServe的功能还包括了多模型服务、用于A/B测试的模型版本控制、日誌纪录、监控指标,以及为应用程式整合创建的RESTful端点等。使用这个函式库时,没有任何对云端平台或环境的要求。现在已经释出实验版本。

另一个PyTorch 1.5的重点,便是整合TorchElastic和Kubernetes。TorchElastic是个被脸书等企业用于内部,大规模训练深层神经网路的函式库,官方提到,这些企业的伺服器需要有动态适应能力,当新的运算资源上线时,要使其迅速可用并且能够扩展,而透过云端容器调度工具Kubernetes,就可让企业使用诸如PyTorch等机器学习框架,执行分散在跨机群的训练工作。

但是分散式训练工作具有不少限制,像是不具容错能力,并且当节点故障或是回收中断训练,则该工作便无法继续,训练工作还必须要在获取所有必须资源之后才能启动,进行任何规模缩放都必须要重新启动训练作业。官方提到,缺乏弹性和灵活性的结果,就是让训练的时间增加,并且也提升了闲置资源的成本。

而TorchElastic能提供容错性和弹性,解除分散式训练任务的限制,不过,Kubernetes使用者却需要手动管理TorchElastic训练工作所需要的Pod和服务,现在PyTorch 1.5整合TorchElastic和Kubernetes,PyTorch开发人员可在运算节点丛集上训练机器学习模型,并进行动态更改而不会中断训练工作,TorchElastic和Kubernetes整合框架提供了原语和介面,让开发人员可以开发跨机器执行的分散式PyTorch作业,并且不需要手动管理TorchElastic训练作业。

新版本torch_xla现在与PyTorch 1.5更紧密的整合,能减少开发时的摩擦;torch_xla是一个Python套件,以XLA线性代数编译器,加速Cloud TPU和Cloud TPU Pod中的PyTorch深度学习框架运算。现在开发者可以使用新版torch_xla,利用PyTorch/XLA堆叠在Cloud TPU硬体上训练模型,不只能在Google Colab的8核Cloud TPU装置浏览器上使用,也能在Google Cloud上大规模应用。

免责声明:本文由用户上传,如有侵权请联系删除!