0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Cortex部署PyTorch模型

汽车玩家 来源:AI公园 作者:Caleb Kaiser 2020-04-19 11:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导读

使用Cortex可以非常方便的部署PyTorch模型。

今年是 PyTorch 成为最受研究人员欢迎的机器学习(ML)框架的一年。

该框架的 python 风格,其学习曲线的温和性,以及它对快速和简单原型的方便实现,使 PyTorch 明显成为研究人员的最爱。因此,它正在推动一些最酷的机器学习项目:

Transformers,Hugging Face 生成的广泛流行的自然语言处理(NLP)库,是建立在 PyTorch 上的。

Selene,生物前沿 ML 库,建在 PyTorch 上。

CrypTen,这个热门的、新的、关注隐私的机器学习框架是建立在 PyTorch 上的。

在 ML 的几乎任何领域,从计算机视觉到 NLP 再到计算生物学,你都会发现 PyTorch 在前沿为实验提供能量。

然而,最自然的问题是如何将这些实验合并到软件中。如何从“跨语言语言模型”转换为谷歌翻译?

在这篇博客文章中,我们将了解在生产环境中使用 PyTorch 模型意味着什么,然后介绍一种允许部署任何 PyTorch 模型以便在软件中使用的方法。

在生产中使用 PyTorch 意味着什么?

根据生产环境的不同,在生产环境中运行机器学习可能意味着不同的事情。一般来说,在生产中有两类机器学习的设计模式:

通过推理服务器提供一个预测 API。这是在通用软件开发中使用的标准方法,即不是移动软件或独立设备。

嵌入。将你的模型直接嵌入到你的应用程序中。这通常用于机器人和独立设备,有时也用于移动应用程序。

如果你打算直接将你的模型嵌入到你的应用程序中,那么你应该看看 PyTorch 的 TorchScript。使用即时编译,PyTorch 可以将 Python 编译成不需要 Python 解释器就可以运行的 TorchScript,这对于资源受限的部署目标(比如移动设备)非常有用。

在大多数情况下,你会使用模型服务器。今天你看到的许多 ML 应用程序 — 从你最喜欢的流媒体服务背后的推荐引擎到在线搜索栏中的自动完成功能—都依赖于这种部署形式,更确切地说,依赖于实时推理。

在实时推理中,一个模型通常被部署为一个微服务(通常是一个 JSON API),通过它,一个软件可以查询模型并接收预测。

让我们以 Facebook 人工智能的 RoBERTa 为例,一个领先的 NLP 模型。它通过分析去掉一个单词的句子(或“屏蔽词”),并猜测屏蔽词是什么,来进行推断。例如,如果你要使用一个预先训练好的 RoBERTa 模型来猜测一个句子中的下一个单词,你要使用的 Python 方法是这样的,非常简单:

roberta.fill_mask(input_text + " ")

事实证明,在序列中预测缺失的单词正是 autocomplete 等功能背后的功能。要在应用程序中实现 autocomplete,可以将 RoBERTa 部署为 JSON API,然后在应用程序中使用用户的输入在 RoBERTa 节点上进行查询。

设置 JSON API 听起来相当简单,但是将模型部署为微服务实际上需要大量的基础设施工作。

你需要自动控制流量的波动。你需要监控你的预测。你需要处理模型更新。你需要了解日志记录。非常多的工作。

那么,问题是如何将 RoBERTa 部署为一个 JSON API,而不需要手动滚动所有这些自定义基础设施?

将 PyTorch 模型与 Cortex 一起投入生产

你可以使用 Cortex 自动化部署 PyTorch 模型所需的大部分基础设施工作,这是一个将模型作为 api 部署到 AWS 上的开源工具。这篇文章并不是一个完整的 Cortex 使用指南,只是一个高层次的 Cortex 使用方法,你所需要的是:

提供推断的 Python 脚本

定义你的 API 的配置文件

Cortex CLI 启动你的部署

这种方法并不局限于 RoBERTa。想要为你的图像自动生成 alt 文本,使你的网站更容易访问?你可以部署一个 AlexNet 模型,使用 PyTorch 和 Cortex 来标记图像。

那语言分类器呢,比如 Chrome 用来检测页面不是用默认语言写的那个?fastText 是这个任务的完美模型,你可以使用 PyTorch 和 Cortex 部署它。

使用 Cortex,你可以将许多由 PyTorch 支持的 ML 特性添加到你的应用程序中进行实时推断。

PyTorch 用到生产中

有超过 25 个研究模型储存在 PyTorch Hub],从 NLP 到计算机视觉。所有这些都可以通过 Cortex 来实现,使用的过程和我们刚才演示的一样。

PyTorch 团队无疑在他们的路线图上有更多的以生产为中心的特性,但是仅仅看看到目前为止所取得的进展,很明显 PyTorch 不是为生产而构建的框架的观点已经过时了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    58

    文章

    4885

    浏览量

    90314
  • pytorch
    +关注

    关注

    2

    文章

    813

    浏览量

    14923
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI模型训练与部署实战 | 线下免费培训

    你是否想系统了解AI落地全链路,但缺少一个完整的实战项目练手?模型部署环节繁多,缺乏一套清晰的实战路径?4月18日、4月25日、5月16日RT-Thread将分别在苏州、成都、南京举办“AI模型训练
    的头像 发表于 04-07 13:08 658次阅读
    AI<b class='flag-5'>模型</b>训练与<b class='flag-5'>部署</b>实战 | 线下免费培训

    【瑞萨AI挑战赛】手写数字识别模型在RA8P1 Titan Board上的部署

    手写数字识别模型在RA8P1 Titan Board上的部署 手写数字识别是计算机视觉领域的经典入门任务,而瑞萨RA8P1 Titan Board开发板凭借其搭载的双内核架构与专用NPU算力,成为
    发表于 03-15 20:42

    PyTorch 中RuntimeError分析

    原生实现。这是一个已知的 PyTorch 限制,常见于 Stable Diffusion、ComfyUI 等使用 interpolate(..., mode=\'nearest\') 的模型
    发表于 03-06 06:02

    Pytorch 与 Visionfive2 兼容吗?

    Pytorch 与 Visionfive2 兼容吗? $ pip3 install torch torchvision torchaudio --index-url https
    发表于 02-06 08:28

    如何在ZYNQ本地部署DeepSeek模型

    一个将最小号 DeepSeek 模型部署到 AMD Zynq UltraScale+ MPSoC 处理系统的项目。
    的头像 发表于 12-19 15:43 7825次阅读
    如何在ZYNQ本地<b class='flag-5'>部署</b>DeepSeek<b class='flag-5'>模型</b>

    1 GHz Arm® Cortex®-M85 MCU上部署AI模型

    本文将手把手带你实现实时人脸检测,并将完整流程开源。打通从数据采集、模型训练、量化转换,到集成部署的每一个环节。我们已为你准备好了数据集、训练代码、转换工具链与RT-Thread工程。只需跟随步骤
    的头像 发表于 12-02 21:04 9618次阅读
    1 GHz Arm® <b class='flag-5'>Cortex</b>®-M85 MCU上<b class='flag-5'>部署</b>AI<b class='flag-5'>模型</b>

    RA8P1部署ai模型指南:从训练模型部署 | 本周六

    在嵌入式边缘AI中,如何把“训练好的模型”稳定地“跑在板子上”,决定了项目能否落地。我们带你基于RA8P1平台,跑通从数据准备、模型训练、量化转换,到工程部署的整个流程,帮助你快速实现在RA8P1
    的头像 发表于 11-20 18:06 2413次阅读
    RA8P1<b class='flag-5'>部署</b>ai<b class='flag-5'>模型</b>指南:从训练<b class='flag-5'>模型</b>到<b class='flag-5'>部署</b> | 本周六

    使用瑞萨RUHMI工具实现AI模型部署过程

    AI无处不在。你在部署AI,你的竞争对手也在部署AI,几乎所有人都在做AI。然而,AI并不简单,不仅在生成有效模型上复杂,在部署上同样充满挑战。
    的头像 发表于 10-17 10:00 2948次阅读
    使用瑞萨RUHMI工具实现AI<b class='flag-5'>模型</b><b class='flag-5'>部署</b>过程

    DeepSeek模型如何在云服务器上部署

    随着大型语言模型(LLM)的应用日益普及,许多开发者和企业希望将像DeepSeek这样的优秀模型部署到自己的云服务器上,以实现私有化、定制化服务并保障数据安全。本文将详细阐述部署Dee
    的头像 发表于 10-13 16:52 1147次阅读

    vision board部署模型到openmv的代码导致连接超时怎么解决?

    在env终端中勾选了tiflte support后烧录mdk到板子上后就开始显示连接不到 无法部署模型
    发表于 09-19 07:59

    ai_cube训练模型最后部署失败是什么原因?

    ai_cube训练模型最后部署失败是什么原因?文件保存路径里也没有中文 查看AICube/AI_Cube.log,看看报什么错?
    发表于 07-30 08:15

    Arm方案 基于Arm架构的边缘侧设备(树莓派或 NVIDIA Jetson Nano)上部署PyTorch模型

    本文将为你展示如何在树莓派或 NVIDIA Jetson Nano 等基于 Arm 架构的边缘侧设备上部署 PyTorch 模型
    的头像 发表于 07-28 11:50 3064次阅读

    【VisionFive 2单板计算机试用体验】3、开源大语言模型部署

    1、ollama平台搭建 ollama可以快速地部署开源大模型,网址为https://ollama.com, 试用该平台,可以在多平台上部署 Deepseek-R1, Qwen3, Llama
    发表于 07-19 15:45

    企业部署AI大模型怎么做

    当下,AI大模型已成为驱动决策自动化、服务智能化与产品创新的核心引擎。然而,企业面对动辄数百亿参数的大模型部署时,常陷入算力不足、响应延迟高、成本失控等困境。如何突破瓶颈,实现高效、稳定的AI
    的头像 发表于 06-04 09:26 1026次阅读

    如何使用Docker部署模型

    随着深度学习和大模型的快速发展,如何高效地部署这些模型成为了一个重要的挑战。Docker 作为一种轻量级的容器化技术,能够将模型及其依赖环境打包成一个可移植的容器,极大地简化了
    的头像 发表于 05-24 16:39 1349次阅读