本文纯属闲谈(吐槽)



国外搞深度学习弄出了TensorFlow(编译型)以后推到工业界和学术界,但是由于其不好用(太过于复杂),同一时间另一个框架pytorch(非编译型)。由于pytorch是非编译型的框架,所以可以和python紧密结合,更加pythonic,但是性能与TensorFlow有较大差距,并且不原生支持工业界使用,但是由于其好用(学习时间估计是TensorFlow的十分之一),因此慢慢的pytorch使用的人就多了起来,本来pytorch是作为一个实验型产品的,没想到这么多人用,然后Facebook发现这个是好苗子,于是加大投入,在性能上和工业级支持上追赶Tensorflow,最后在和TensorFlow相差不大的情况下完全淘汰了TensorFlow(估计也就Google自己在用,毕竟Google自己家有TPU)。

可以说,虽然美国当年有两个深度学习框架在竞争,但是毕竟是属于两个设计思路,并且是领域刚兴起的时候,谁也不知道那条路可行,因此也就出现了二者竞争的局面。但是现在再看看国内的深度学习框架,简直是琳琅满目,但凡有些积累的AI公司都要搞自己公司的AI计算框架,弄的最后国产的深度学习框架已经几倍于美国的数量了,但是这事是一件好事嘛,我并不这么看。要知道深度学习框架,国内的设计基本是在学TensorFlow和pytorch的,当然现在还有一个Jax,可以说国内的各厂家的深度学习框架基本属于同质化竞争。其实深度学习框架并没有大家想象的那么难做,就像国产的Linux系统一样,一个中小型的公司就完全可以在一两年的时间内手搓一个出来。深度学习框架也是如此,如果使用NVIDIA的GPU,底层库都是美国做好的,你在上层做好调用,弄好自动微分的前向和后向模式,在把基本的CNN、RNN、Attention等kernel函数包装一下,这个深度学习框架也就出来了,这也是为啥和TensorFlow、pytorch同一时间出现的众多美国的开源深度学习框架一样,如果你的编程能力比较OK,你甚至可以手搓一个toy版本的深度学习框架。

其实,重点并不在于深度学习框架具体用哪种方式实现,而是在于如何能使其运算性能更高,更稳定,更易用,有更多的社区用户支持,背后的企业是否能有足够的投资进行维护和升级。国内搞出这么多深度学习框架,就和高校科研所发论文一样,就是为了发而发,就和申请基金和专利一样,你也不要管它好用不好用,反正报上去就能算业绩,来年好评正高级。如果企业也这么高,我想着不是百家争鸣,而是内耗。这么多企业把资金和精力都投入到相同的工作上,最后估计就看哪家企业先放弃。各家AI企业应该搞差异化的工作,而不是搞同质化的工作,就比如搞大语言模型,全国各家AI企业也都是一家搞一个,结果搞出了几百个大模型,我就在想,最后有几个人会使用这几百个大语言模型,又有几个人会去使用国内那么多的深度学习框架。不要忘记,国内的这几百个大语言模型都没有赶上openai的那一个好用,国内的那些数不尽的深度学习框架最后在GitHub上可以看到的项目最终还是pytorch和TensorFlow的。

国产AI发展的内耗我想是短时间内难以终结的,我想最终就要看谁真的能强起来,把其他家都甩在后面,这样其他的企业估计就放弃搞这些同质化的开发了。这就和中国古代的春秋战国一样,最后只有一家实力远超其他家,这个局面才会统一。



PS. 国产的那些深度学习框架,我只用过mindspore,因为只有他家有能力设计芯片并制作芯片(国内代工),而且也只有这家有足够的经济基础,虽然这家是搞销售起家后来以硬件设计著称的,但是这种内卷竞赛玩到最后就是看谁有钱,谁能挺得住,所以我押宝就压这个mindspore了,至于其他国产深度学习框架,那是真的没精力去了解了,太多了,我就用个CNN和RNN,搞出这么多框架,太吓人了,毕竟这个深度学习框架和大语言模型说的再多其本质也无非只是工具,既然手头上有一个好用的锤子了为啥还要研究出那么多长相不同的锤子了,毕竟这东西是用来使用的,而不是用来申请专利的(内涵一下,哈哈哈),不是多多益善,而是好用就够。