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
    +关注

    关注

    57

    文章

    4858

    浏览量

    89602
  • pytorch
    +关注

    关注

    2

    文章

    813

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

    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 2511次阅读

    企业部署AI大模型怎么做

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

    如何使用Docker部署模型

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

    ORinNano离线部署Deepseek R1大模型教程

    ORinNano离线部署Deepseek R1大模型教程
    的头像 发表于 04-10 15:32 1060次阅读
    ORinNano离线<b class='flag-5'>部署</b>Deepseek R1大<b class='flag-5'>模型</b>教程

    RT-Thread虚拟化部署DeepSeek大模型实践

    Cortex-A55,8GBLPDDR4),通过虚拟化技术实现虚拟化Linux+RTOS混合部署,并在Linux环境中部署轻量化大语言模型DeepSeek-1.5B+语音转
    的头像 发表于 03-12 18:38 1062次阅读
    RT-Thread虚拟化<b class='flag-5'>部署</b>DeepSeek大<b class='flag-5'>模型</b>实践

    K230D部署模型失败的原因?

    MicroPython部署的无法正常运行,采用C++版本的无法实现部署 尝试解决过程 1.考虑到可能是固件不匹配的问题,重新烧录了流程(生成模型后给的readme)中要求的固件,依旧无法成功
    发表于 03-11 06:19

    使用OpenVINO™ 2021.4将经过训练的自定义PyTorch模型加载为IR格式时遇到错误怎么解决?

    使用 OpenVINO™ 2021.4 将经过训练的自定义 PyTorch 模型加载为 IR 格式时遇到错误: RuntimeError: [ GENERAL_ERROR ] Failed
    发表于 03-05 08:40

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    DeepSeek 模型部署与测试,开启这场充满挑战与惊喜的技术探索之旅。 RK3588 开发板:AI 性能担当 RK3588 开发板基于先进的 8nm LP 制程工艺精心打造,其硬件配置堪称豪华,在 AI
    发表于 02-14 17:42

    企业AI模型部署攻略

    当下,越来越多的企业开始探索和实施AI模型,以提升业务效率和竞争力。然而,AI模型部署并非易事,需要企业在多个层面进行细致的规划和准备。下面,AI部落小编为企业提供一份AI模型
    的头像 发表于 12-23 10:31 1314次阅读

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    以及边缘计算能力的增强,越来越多的目标检测应用开始直接在靠近数据源的边缘设备上运行。这不仅减少了数据传输延迟,保护了用户隐私,同时也减轻了云端服务器的压力。然而,在边缘端部署高效且准确的目标检测模型
    发表于 12-19 14:33

    如何开启Stable Diffusion WebUI模型推理部署

    如何开启Stable Diffusion WebUI模型推理部署
    的头像 发表于 12-11 20:13 1158次阅读
    如何开启Stable Diffusion WebUI<b class='flag-5'>模型</b>推理<b class='flag-5'>部署</b>