这事儿说起来有点折腾。上个月不是大家都在聊“Edge AI”嘛,我就手痒了,想看看CDN节点能不能
真的跑点轻量级推理。不是那种PPT里的Demo,是实打实的生产环境。
我用的模型不大,就一个ONNX格式的YOLOv8n,做物体检测的。大概7MB左右。正常来说,这玩意儿
得扔GPU上跑。但我偏不,我把它塞进了CDN的边缘节点里。
先说结论:能用,但有坑。
第一坑是算力。很多CDN节点还是Intel的老至强,跑个图片预处理还好,真把模型load进去推理,CPU直
接拉满。我测了一下,单次推理耗时大概在80-120ms。如果不用缓存,并发上来就炸。
第二坑是内存。模型本身不大,但加上依赖库、Python runtime(如果用Python部署),随随便便占个
200MB。如果节点上本来就有缓存服务、WAF,再塞一个推理引擎,OOM(内存溢出)分分钟的事。
所以我的方案是换成了 Rust + Wasm。把模型编译成Wasm模块,直接在节点上跑,不用装一堆依赖,
启动也快。实测下来推理耗时就压到了30-40ms。这个数据放在边缘层,已经能用了。
360CDN节点的一个好处是,部分新节点上了 Intel AMX 指令集,做INT8量化推理效率不错。我测了一下
,量化和不量化,精度掉了不到1%,但速度翻了一倍。 那什么场景适合这么搞?说实话,实时性要
求特别高、但模型不大的场景。比如工业流水线的瑕疵检测,视频流在边缘层直接判了,没必要把每一帧
都回源。或者智能摄像头的人脸抓拍,边缘过滤掉大量“无效帧”,省带宽也省中心算力。
如果你也想试试,我给你一个最简单的建议:别贪大模型。 5-10MB以内的、能INT8量化的,扔上去问题
不大。大于50MB的,就别为难边缘节点了,老老实实用中心云。
