[Contest]2022 sti2百度搜索首届技术创新挑战赛赛道二比赛复盘总结

2022 sti2 比赛复盘总结

前期进行了PaddleInference的配置探索,后期经过了Paddleslim的transformer裁剪+蒸馏的策略上分。
侥幸进入了决赛,感觉还是偏运气,感觉自己在比赛技术上还是没有太多长进。

比赛中遇到的问题

  1. 每次提交需要清楚地记录,提交的配置是什么,对应的得分是什么,以便后面进行比赛复盘和消融实验,最好用git做版本控制。

  2. 需要有一个清晰的计划,有一个好的节奏。先有一个清晰的baseline,然后想想这个baseline可以从那些角度进行优化,要总体把控那些可行那些不可行,不熟悉的领域要把控好节奏,比如2-3天还没啥进展,那就可以暂时先放一放想想其他方法。本次就是在PaddleInference的编译上硬磕了太久,但是对比赛的帮助也没有很大。其次是在onnx上探索,没想明白onnx是将embedding算子拆开来算的,所以怎么优化onnx都不会比Paddle模型更好,前期陷入到这个坑里,后面跟一大哥聊也印证了这个事情。

  3. 多去八一八前面比赛的代码,前面其实有NVIDIA Hackthon的比赛开源方案,本次比赛也是有很多前一个比赛大佬,类似的方案会比直接开脑洞靠谱的多。

  4. 不能有畏难情绪,后半场一直想去手写custom kernel,但畏难+偷懒+拖延就一直没进行下去,其实也不难猜测,有些上分点都能想到,和别人的差距就是人家真实去认真做了而且做的很完备,在细节上就会立马体现出来。

答辩中遇到的问题

  1. 被问及到怎么做的消融实验?

其实有一点关于PadlleInference的消融时间,PPT也把每个配置有效的提分点给讲了出来,有两方面的原因需要改进,一是确实懒没有做太多消融实验,没货可讲。二是下次画的时候可以使用折线图,这样表现更清晰一些。

  1. 被问到模型的加速比是什么?

后续有性能比赛、精度比赛,应该把每次关键点,比如精度提升百分多少,性能提升给测一下,这样拿出去也好看。

  1. PPT准备的不太充分,很快就讲完了,后面陷入了专家没话可问的状态

尽量有一个win或mac的机器,wps下做ppt word之类的还是不太行。

后续技术上需要提升的点

  1. FasterTransformer

加速思想是了解了,重点看看怎么用起来,以及怎么适配到一个新的类似的模型上

  1. trt8的手写custom kernel

这部分要撸代码了,前期也看了TensorrtX的一些代码,不能再偷懒只看不写了。

  1. Nsight profile工具的使用

还是不会性能分析,这类比赛的一个特点就是,你得准确地知道哪里是瓶颈,那部分还有性能提升,要不然以后碰到类似的比赛还是瞎打。

  1. 模型压缩

复杂模型的压缩还是不太熟练,虽然前期熟悉了一些但还不够,没法一次调通,后续考虑写写相关的博客练练手。

posted @ 2022-12-26 00:02  wildkid1024  阅读(67)  评论(0编辑  收藏  举报