老哥们,今天不整虚的,直接上干货。模型性能优化不是玄学,但很多新手一上来就调参、上大batch,结果炸显存还掉点。我踩过坑后总结几个实用技巧,分享出来给大伙儿参考。
**1️⃣ 精度裁剪:FP16/INT8别当儿戏**
别一听混合精度就无脑开,先跑个profile看瓶颈。FP16适合梯度分布稳定的模型,INT8需要校准集。用TensorRT或onnxruntime时,记得加calibration,不然精度崩成狗。
**2️⃣ 模型剪枝:不是乱砍,是“去水”**
结构化剪枝比非结构好用,但别只盯着FLOPs。配合知识蒸馏,把大模型的暗知识传给小模型,效果能追平9成。比如Bert剪掉30%注意力头,推理快一倍,下游任务掉分不到2%。
**3️⃣ 算子融合:少跑几步路**
现在框架(Torch-TRT、OpenVINO)自动融合卷积+BN,但你得手动拆大层。比如把LayerNorm拆成逐点操作,再让编译器优化,能省20%延迟。
最后问一句:你们在部署时,最头疼的是显存瓶颈还是推理速度?评论区聊聊,我蹲着学新招。 |