模型,MlSys,engineering work or research?

我和两个做CV/world model的人分别聊天,做了flashdream的说:“感觉这个不够elegant,这种compression太engineer了。”

另外一个同学也说觉得inference加速什么的,没有意思,不够“research”。

emmm那这就是为啥这帮人和搞mlsys的人有点不对付吗? 就是觉得mlsys只是engineering work而不够research elegant?

确实,感觉ml compiler这种比较偏rule-based。毕竟compiler啊,dsl啊这种,是比较“人造的”感觉。相比起来,gradient descend 这种 optimization,那种符合“数学直觉”的,可能就会有人觉得更美丽一些。

可是毕竟我们生活在物理世界而不是“真空球形鸡”的理论世界。所以不得不被现有的芯片,显卡,局限住。

那么问题就来了。software-hardware optimization这种东西,可行吗?

我能想到的一个问题就是:做模型的人会手搓kernel吗?

或者说,他们会在乎吗?还是只是觉得“啊反正丢给nvidia的人去优化就行了,我模型的数学已经弄好了”。

在乎的话,会手搓到那一层呢?

我能想到的一个on top of my head example 就是satnet。似乎是很solid的有一些自己学的cuda kernel。为什么我会知道这个呢。。。这就要说到一些八卦了。但我们先按下不表。

那么,这种行为是一个general practice吗?

哦!chris之前说,有的时候大家propose不同的architecutre只是在不同的dimension挪来挪去。比如MoE可能快但是更占memory,diffusion model可能有另外的tradeoff(忘了具体是啥)。但本质只是在这些axis上挪来挪去而已,并没有什么fundamental解决方案?

Leave a comment