最近摸鱼期间,发现身为程序员的我被赋予了另一个身份“新生代农民工”,简直炸了!重点还官宣了,这就更加实锤了啊!我就想说,我们新生代农民工招谁惹谁了,我们能有什么坏心思呢?头都秃了挣点高工资容易吗?
说到高工资,坊间确实流传着程序员35岁财富自由一说,尤其是做AI算法工程师的,年纪轻轻就可以月入6W+!但也有不少人说了,真能开出高薪的也就大厂了吧,看看那些JD,再看看自己之前螺丝钉的工作,大厂的程序员是不是都得会造轮子?自己能面的上么?
这不,一个朋友最近去百度面了一个AI相关的工作,面试官结合现在流行的AI、物联网趋势,问到AI落地会考虑哪些问题,先来给大家分享一下~
一、为了适配边缘部署要求,AI算法怎么做适配?
二、在模型效果和效率之间怎么做平衡和取舍?怎么在不牺牲效果的前提下提高效率?
三、AI算法上线后怎么持续做迭代?
这一连“三问”瞬间给朋友问懵了,他说当时真想找个地缝钻进去。不过幸好他提前刷了很多试题,也找别人取了经验,关键还主动对飞桨PaddlePaddle、飞桨企业版BML等产品做了一些了解,思考了一会儿以后竟然对答如流,简直“凡尔赛”了!面试回来竟然还写了面经!
“跑起来”——适配、适配,还是适配!
我们都知道现在是人工智能时代,越来越多的AI需要从云端扩展到我们熟悉的边缘端,比如智能耳机、智能摄像机、智能手环、物流机器人等等,把AI部署在边缘端已经成为趋势,这也正式嵌入式AI要做的事情。而我们关心的AI模型能不能跑起来问题,关键在于软硬件环境的适配情况:
硬件适配,当然是适配越多的AI芯片越好。常见的有CPU,GPU,FPGA,以及各类ASIC芯片,例如:Nvidia Jetson系列、海思NNIE系列、华为Atlas、麒麟NPU、高通DSP、Intel VPU、瑞芯微NPU、寒武纪等,都适配了就给工程师降低了端侧模型适配迁移的难度,换一个设备照样可以轻松的部署上去;
软件适配,四大操作系统肯定不用说要适配。Linux、Windows、Android 、iOS,无论是PC还是手机,都得能给安排上;
框架适配,越全越好。我们知道的飞桨 PaddlePaddle、TensorFlow、PyTorch、Caffe、MXNet 等框架以及 ONNX 模型格式。此外,还要支持图像分配、物体检测、人脸识别、OCR等业界主流的算法类型,这样在模型的适配和转换方面可以轻松自如。
“跑得快”——“轻装上阵”,不以牺牲精度为目的
在进行端侧部署时,我们通常比较关注模型的推理性能,其实,各家AI芯片厂商为了实现更高性能的推理能力,都在努力提高芯片的并行处理能力,比如通过GPU这样的超多线程并行处理……但最终的结果是,算力得到提升了,灵活性反而下降了。
想要一个速度快、精度高、占用内存少的模型,该怎么办?
为了让模型跑得更快更省内存,我们可以采用模型压缩,比如模型量化、剪枝和蒸馏技术 ,让模型轻便地跑起来,在尽可能保证效果的同时达到更好的压缩效果。蒸馏可以简单理解为,通过大模型蒸馏小模型,使得小模型具有与大模型接近的效果。而量化、剪枝本质都是对基础模型在尽量不影响精度的前提下进行精简 , 自然模型小了 , 内存占用就少了 , 推理时间也就短了,功耗也更低。
“持续跑”——部署并非一劳永逸,AI要自我迭代
模型的部署不是一劳永逸的,我们需要根据客户需求或者实际的业务场景进行迭代升级,需要在应用中收集样本、不断更新模型。
其实,最简单的模型维护方式就是不断添加新数据,或者在添加的基础上做进一步数据增强,从而提升模型迭代的精度。比较好操作的方法就是把新的数据添加到原有的数据集,从而让模型持续优化。
以上就是朋友做的面试经验总结啦,当然他也喜提了百度AI的offer,他很庆幸自己提前做足了功课,尤其是对百度BML的深入了解,面试问题可谓正中下怀!他也给身边想学AI的朋友们安利了百度BML,从AI入门到精通都可以在这个平台上进行。讲真,靠这个面试拿到高薪,程序员农民工也很知足了。
9月15-16日,邀请您参加百度AI快车道-BML线上课程,百度技术专家将联合英伟达解决方案专家一起探讨如何在端侧高效部署AI模型,诚邀您的参与。
参与百度BML线上直播互动,可抽取小度耳机、智能音箱、体脂秤等好礼。
课程结束体验产品并完成“产品体验调研报告”,可获得100元京东卡奖励。
点击【阅读原文】,参与课程直播抽奖活动。
长按下方二维码立即
Star
更多信息:
飞桨官方QQ群:793866180
飞桨官网网址:
www.paddlepaddle.org.cn/
飞桨开源框架项目地址:
GitHub:
github.com/PaddlePaddle/Paddle
Gitee:gitee.com/paddlepaddle/Paddle
欢迎在飞桨论坛讨论交流~~
http://discuss.paddlepaddle.org.cn