深度学习工程师做什么
深度学习已经改变了很多行业,深度学习工程师已经是不折不扣的高薪职业,但是也有越来越内卷的趋势,以前只要求会训练模型就可以了,现在多数深度学习工程师岗位都要求掌握模型训练与模型部署。 可以毫不夸张的说,以后只有既会训练,又会部署而且是会C++部署模型的深度学习工程师才会继续高薪之路,否则按照这个内卷趋势,只会训练模型,不会部署模型的深度学习工程师必然会受到后来开发者越来越多的挑战,前期积累的优势荡然无存。所以 掌握从数据标注、到模型训练、到模型部署技能 是深度学习工程师基本要求,也是未来的必然趋势。
深度学习工程化步骤
深度学习工程落地分为两个主要阶段,分别是数据准备、模型训练、模型部署三个主要阶段。
深度学习模型部署场景
深度学习模型部署场景主要包括:
01
云部署场景
主要是基于云服务器与分布式服务提供,企业需要支付云服务器算力费用与存储费用。优点是便于扩展,方便在多个位置与节点快速部署使用模型算法;缺点是与边缘部署相比,延时比较高,可靠性比较低,数据安全受到挑战,没有充分利用边缘设备算力。
02
边缘(PC端侧)部署场景
高性能应用的理想选择、高度可定制(使用与应用程序相关的部件构建)、灵活的定价(因为可以根据应用选择组件)。优点是成本可控,数据安全有保证,低延时高可靠,因此在机器视觉、安防监控等领域都大量采用该方案,依靠工控机+显卡的方式提供算力实现模型部署,支持缺陷检测、安防监控、自动化生产等。缺点是对一些成本特别敏感的行业依然无法大量采用该方案。
03
边缘(ARM、FPGA和推理板卡,智能相机)
边缘与端侧部署一个很重要的场景,典型的就是各种人工智能盒子,包括英特尔的NUC盒子,最新推出AlxBorad板卡,英伟达的Jetson系列板卡,RK系列的板卡、树莓派等,已经基于他们实现的各种智能设备。他们的优点是低成本,低功耗、显著节省外围硬件算力,同时高可靠性,安全,适用于对算力要求不是很严苛的场景,支持各种轻量化的模型部署。缺点是对深度学习开发者要求较高,要求对模型进行量化,各个板卡支持的模型部署框架不同,工具链软件也不一样
深度学习主流部署框架
深度学习开发者至少应该掌握一种深度学习模型部署框架,当前深度学习模型部署主要有OpenVINO、TensorRT、ONNXRUNTIME 这三个当前主流的框架。 OpenVINO来自英特尔公司,当前最新版本是OpenVINO2023.1
TensorRT来自英伟达公司,当前最新版本是TensorRT8.6
ONNXRUNTIME来自微软,当前最新版本是1.15.x
如何选择
英特尔CPU/GPU上模型加速与推理最佳选择是OpenVINO
英伟达GPU上模型加速与推理最佳选择TensorRT
兼容不同硬件厂家平台模型算子支持度高,兼容性强最佳选择是ONNXRUNTIME
如何学习
掌握三种主流的深度学习模型部署框架,实现模型在CPU、GPU、AMD等不同平台硬件上加速推理最佳性能。OpenCV学堂已经推出OpenVINO、TensorRT、ONNXRUNTIME深度学习部署系统化学习路线图。“工欲善其事,必先利其器”,做深度学习工程师,学完部署再打工,一切都来得及,现在开始刚刚好!
根据需要自主选择深度学习模型部署框架学习,均支持C++与Python SDK 代码演示,支持对象检测,实例分割,语义分割等主流模型部署与模型加速推理技巧。深度学习开发者根据自己需要选择想要的深度学习模型部署框架,然后学习即可。
全部0条评论
快来发表一下你的评论吧 !