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

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

3天内不再提示

管理 ML 模型部署中的权衡

茶壶茶茶 2022-07-21 09:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

机器学习代码放在哪里——在云中、边缘设备上或前提上——总是需要权衡。这里有一些提示。

工程师经常需要就代码的放置位置做出重要决定:在云中、边缘设备上或本地。这个决定总是涉及权衡——考虑到适用于每组情况的软件、固件、开发工具和硬件的正确组合。在 Samsara 的机器学习和计算机视觉 (ML/CV) 团队中,我们构建模型并开发算法,帮助我们的客户提高其运营的安全性、效率和可持续性。例如,构建应用程序以实时检测和警告有风险的驾驶行为,并最终降低道路事故的频率。

在寻求构建 ML 解决方案时,运输、仓储或制造等行业的运营环境构成了独特的限制。例如,远程位置可能会因连接受限而出现瓶颈,或者拥有无法运行最新最好的模型的过时技术系统。这些限制,再加上这些应用程序的安全关键方面,需要低延迟、计算效率高的 ML 推理,因为往返网络延迟和参差不齐的蜂窝覆盖将消除在云中完全实现这些功能的可能性。因此,除了保证模型的准确性之外,模型还必须在与边缘硬件平台相关的更严格的计算、内存和延迟范围内运行。

可以想象,在为此类边缘部署选择模型时,需要分析和考虑许多权衡。以下是您可能会遇到的一些常见问题,以及如何处理它们。

首先,您必须考虑 ML 引擎的计算吞吐量和准确性之间的权衡。同样,由于蜂窝网络覆盖范围参差不齐,您无法在云中实现所有内容并相信数据可以可靠地交付。在车载高级驾驶员辅助系统 (ADAS) 的情况下,您也不能让笨重的摄像头或处理器挡住车辆的仪表板。您需要权衡这种权衡:一个更紧凑的平台(例如,类似于智能手机中使用的处理器),具有专门的片上系统硬件,可以处理图像和信号处理,同时仍然保留大量处理ML 模型有效运行的空间。

使用这个更紧凑的平台,您必须考虑您的功率预算,尤其是任何基于移动的应用程序。运行程序所消耗的功率越多,您必须消散的热能就越多,电池消耗的电量就越多。某些硬件协处理器支持某些指令集,并且每个计算单元的功率效率非常高。但是,并非所有数学运算都可以在这些指令集中准确地构建。在这些情况下,您必须回退到更通用的计算平台(如 GPUCPU),这些平台支持更多的数学运算,但更耗电。

移动友好型架构旨在利用硬件加速(例如 DSP),可以减少整体模型大小和内存消耗,但仍为您使用它的产品应用程序提供足够好的精度。在这些架构中,您再次面临一系列决策,包括模型准确性/延迟权衡以及是构建自己的 AI 解决方案还是利用外部 AI 服务提供商来训练和测试您的 ML 模型。

接下来,重要的是要考虑您的模型如何集成到所选硬件中。因为所有处理器都有不同的指令集来支持特定的操作,所以查看每个硬件平台的文档以了解这些优势如何影响您的特定代码会有所帮助。每个部署环境都有自己的一组内置特性。例如,tflite、TensorRT、SNPE 等有不同的支持操作集,所有这些都略有不同。无论您最终使用哪种芯片组,您仍然必须将所有数学计算硬塞到将执行这些计算的最终硬件中。

您可能会遇到的一个问题是部署环境可能不支持网络训练时使用的所有网络操作和层。此外,某些操作没有硬件加速实现,迫使您在 CPU 上运行这些元素,这可能会造成内存和性能瓶颈。其中一些不兼容性需要在训练过程中通过修改模型架构本身来解决,而另一些则需要在将模型转换为硬件兼容格式时加以解决。

最后一步是对最终模型版本进行基准测试,并将性能特征与原始规格进行比较。你必须要有创意并精简你的模型,这样它才能以低延迟运行。这包括删除模型操作并将不兼容操作的子图替换为硬件支持的操作以更快地运行。其他策略包括通道修剪、层折叠和权重量化。

归根结底,有时您可以让您的模型同时在设备和云中运行。但是,当您受到底层硬件性能特征、网络延迟和准确性要求的限制时,我们应该考虑在哪里以及如何运行模型。分割模型执行以在边缘设备或云上的后端服务中运行仍然是一门艺术,而不是科学。一个好的产品将整合对解决方案功能和客户需求、硬件限制以及平衡行为的深刻理解,以制定满足这些需求同时尊重物理约束的模型。

— Sharan Srinivasan 和 Brian Tuan 是 Samsara 机器学习和计算机视觉工程团队的软件工程师,Samsara是一家位于旧金山的全球互联运营云公司。在 Samsara,Srinivasan 和 Tuan 负责使用 Tensorflow、OpenCV、Pyspark 和 Go 解决各种机器学习以应对计算机视觉挑战,以构建在边缘运行的模型。


审核编辑 黄昊宇

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

    关注

    1

    文章

    3865

    浏览量

    52324
  • ML
    ML
    +关注

    关注

    0

    文章

    154

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IMX8M Plus 板上部署立体视觉模型 CPU 回退错误 IMX8M Plus问题

    您好,我想在 IMX8M Plus 板上部署立体视觉模型。我已经量化了模型并将其转换为 TFlite 架构,但是当模型部署
    发表于 04-29 07:23

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

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

    如何在ZYNQ本地部署DeepSeek模型

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

    matlab的算法部署在simulink

    有没有哪位大佬能提供一下思路,遇到一个问题matlab得不到神经网络fitcnet模型的权重参数,所以simulink没办法部署,那遇到这种情况该如何处理
    发表于 12-08 15:27

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

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

    你相信光吗?| Samtec助力AI/ML系统拓扑的光连接

    前 言        当前,在持续演进的AI/ML硬件生态,“新” 的元素无处不在:新的大语言模型(LLM)、新的加速器、新的系统拓扑、新的内存实现方式、新的供电方案…… 诸如此类,不胜枚举
    的头像 发表于 11-13 15:03 2078次阅读
    你相信光吗?| Samtec助力AI/<b class='flag-5'>ML</b>系统拓扑<b class='flag-5'>中</b>的光连接

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

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

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

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

    利用超微型 Neuton ML 模型解锁 SoC 边缘人工智能

    应用。 为什么选择 Neuton 作为开发人员,在产品中使用边缘人工智能的两个最大障碍是: ML 模型对于您所选微控制器的内存来说太大。 创建自定义 ML 模型本质上是一个手动过程,需
    发表于 08-31 20:54

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    这对开发人员意味着什么,以及使用Neuton 模型如何改进您的开发和最终应用。 ML 模型对于您所选微控制器的内存来说太大。 创建自定义ML 模型
    发表于 07-31 11:38

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

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

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

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

    在env终端勾选了tiflte support后烧录mdk到板子上后就开始显示连接不到,无法部署模型怎么解决?

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

    企业部署AI大模型怎么做

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

    如何使用Docker部署模型

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