大家好啊,我是董董灿。
做 AI 算法调优一些年了,这些年中接触了不少模型,也在不少 ASIC 芯片进行过模型的性能优化。
在接触的模型中,有一些模型有着非常奇怪的分支结构,有些有着非常奇怪的shape,有的有着奇怪的自定义算法。
但在优化时,为了将一个 AI 模型性能调到最优,真的是无所不用其极,能用到的办法几乎都会尝试一遍。
但是,有方法并不代表有效。
很多时候,在某一AI 平台上有效的优化方法,换到另一个平台就失效了。
就好像我们可以在 Intel CPU 上使用 avx2 指令集做优化,但是换到 GPU 上肯定不行,因为它不支持这个指令集。
其实现在,整个 AI 模型的开发和优化,越来越往软硬件协调方向发展。
什么意思呢?
大概就是,在设计硬件架构和芯片指令集时,就需要软件和算法人员参与进来,而不是硬件人员埋头设计。
软硬件人员一起来设计,这就要求硬件人员懂算法和软件,软件人员懂硬件结构。
这样设计出来的芯片,在使用其进行算法开发时,才能发挥出最大的硬件潜能,才能榨干芯片的每一处性能。
这也是为什么很多大厂,比如特斯拉都在自研芯片的原因。
一方面是为了摆脱对芯片厂家的依赖。
另一方面,则是可以依照自家独特的模型和算法,自定义设计出更适用于自家业务的芯片结构,这样做出来的产品性能才好。
国内外很多公司已经在往软硬协同方向发展了,这个思路我认为是对的,但是很多时候,这条路还真不好走。
前段时间,在某芯片上调试大模型的一个矩阵转置算法,用了很长时间,才将其性能调到可用的范围。
所以啊,一个看似简单的算法,其实背后要做的事和细节太多了,模型性能调优真的很难。
------------------------------------
我的两个专栏已经发布了。
1. 《AI视觉入门专栏》,已超220人订阅。该专栏已完成更新,50篇原理剖析,50篇代码实战。带你快速入门AI视觉,同时理解模型性能调优的常用手法。传送门:点这里。
1. 《Transformer 专栏》,正在内测更新中。从背景,到算法细节,到代码应用,带你彻底搞懂Transformer架构。刚发布两天,已有61人订阅。传送门:点这里。
生活不止眼前,还有诗和远方。
搞算法不仅难,还卷,小伙伴们加油,我继续更文了~