28圈.com

jm-3xcc.ZNPJam 模型压缩工具的实测和上手履历分享

jm-3xcc.ZNPJam 模型压缩工具的实测和上手履历分享

第一次见到jm-3xcc./ZNPJam这个项目时,,,,,,,,我以为是哪个压缩包的解压密码。。。。。直到跑通它的demo,,,,,,,,才发现它是个让模型体积缩水的黑科技。。。。。今天不聊虚的,,,,,,,,直接说说我这几天的实测感触。。。。。

这工具能解决一个很切实的问题

此刻做深度进建的,,,,,,,,城市遇到统一个烦恼:模型越训越大,,,,,,,,部署得手机或者嵌入式设备上,,,,,,,,动不动就内存爆掉。。。。。jm-3xcc./ZNPJam做的就是这件事——把训练好的模型压缩到原来的三分之一大幼,,,,,,,,同时尽量保住精度。。。。。它支持ONNX、PyTorch这些常见体式,,,,,,,,对Transformer和CNN结构都挺敦睦。。。。。对于做端侧推理的伴侣来说,,,,,,,,这蹬宗直接降低了落地门槛。。。。。?

上手跑通比设想中单一

jm-3xcc./ZNPJam的装置过程不算复杂,,,,,,,,一条pip号令就能装好,,,,,,,,但环境依赖得耐心调。。。。。我第一次跑的时辰卡在CUDA和cuDNN的版本上,,,,,,,,后来直接切到CPU模式,,,,,,,,反而更顺。。。。。整个压缩流程就三步:加载原始模型,,,,,,,,设定压缩指标,,,,,,,,导出新模型。。。。。我拿一个80MB的BERT分类模型试水,,,,,,,,压缩后造成26MB,,,,,,,,正确率只掉了0.3个百分点。。。。。这个阐发,,,,,,,,说真话,,,,,,,,比我预见的要好不少。。。。。?

有个坑必须提醒你

别以为所有模型都能无脑压缩。。。。。若是你的网络里有自界说算子,,,,,,,,好比某些特殊确把稳力实现,,,,,,,,或许率会报错。。。。。另表,,,,,,,,量化模式对激活函数有要求,,,,,,,,ReLU和GELU别离必要分歧的处置方式,,,,,,,,最好吓酌工具内置的诊断剧本跑一遍兼容性查抄。。。。。我自己就由于没查,,,,,,,,直接压缩一个带SwinTransformer的模型,,,,,,,,了局推理时输出满是NaN。。。。。后来改成混合精度规划才正常。。。。。?

现实成效超出预见一点

差距是有的,,,,,,,,但方向是好的。。。。。我总共测了三个模型,,,,,,,,均匀压缩率在3.2倍左右,,,,,,,,推理速度提高了20%到30%。。。。。原来在骁龙855上跑一帧要120毫秒的模型,,,,,,,,压缩后只有85毫秒,,,,,,,,流畅度提升很显著。。。。。内存占用也降得很显著,,,,,,,,原来要1.2GB,,,,,,,,此刻只有400多MB。。。。。不外你要是做科研钻营那种极致精度,,,,,,,,那还得多共同微调来复原机能。。。。。jm-3xcc./ZNPJam不是玄学,,,,,,,,它更像一把敏感的刀,,,,,,,,用好了省时省力,,,,,,,,用不好容易伤到自己。。。。。?

我的建议是这么用

最稳的路线是在幼规模验证集上先跑一轮对比,,,,,,,,把压缩前后的精度差距看明显,,,,,,,,再决定要不要全量部署。。。。。搭配知识蒸馏一路用,,,,,,,,成效能再上一个台阶。。。。。此刻新版本还支持混合精度压缩,,,,,,,,能够把稀少化和剪枝一路加进去,,,,,,,,相当于一个流程实现多种优化。。。。。我此刻的做法是:吓酌它压缩,,,,,,,,再用蒸馏精调,,,,,,,,最后在开发板上做基准测试。。。。。这套流程跑下来,,,,,,,,根基能覆盖大部门现实场景。。。。。

好了,,,,,,,,jm-3xcc./ZNPJam就分享到这儿。。。。。你要是也拿它压过模型,,,,,,,,评论区聊聊,,,,,,,,你的模型掉了几个点 ????? ???

[责任编纂:朱晓东]

为您推荐

热点文章

杰出视频

凤凰资讯官方微信
凤凰资讯官方微信
关注更多资讯
【网站地图】【sitemap】