TensorFlow,危!抛弃者正是谷歌自己( 二 )


TensorFlow,危!抛弃者正是谷歌自己】4、不支持Windows系统 , 只能在上面的虚拟环境中运行 。
5、没有数据加载器 , 得借用TensorFlow或PyTorch的 。
……
尽管如此 , 简单、灵活又好用的JAX还是率先在DeepMind中流行起来 。 2020年诞生的一些深度学习库Haiku和RLax等都是基于它开发 。
这一年 , PyTorch原作者之一AdamPaszke , 也全职加入了JAX团队 。
目前 , JAX的开源项目在GitHub上已有18.4k标星 , 比TensorFlow高了不少了 。
值得注意的是 , 在此期间 , 有不少声音都表示它很可能取代TensorFlow 。
一方面是因为JAX的实力 , 另一方面主要还是跟TensorFlow自身的很多原因有关 。
为什么谷歌要转投JAX?诞生于2015年的TensorFlow , 曾经也风靡一时 , 推出后很快超过了Torch、Theano和Caffe等一众“弄潮儿” , 成为最受欢迎的机器学习框架 。
然而在2017年 , 焕然一新的PyTorch“卷土重来” 。
这是Meta基于Torch搭建的机器学习库 , 由于上手简单、通俗易懂 , 很快受到一众研究者的青睐 , 甚至有超过TensorFlow的趋势 。
相比之下 , TensorFlow却在频繁更新和界面迭代中变得越来越臃肿 , 逐渐失去了开发者的信任 。
(从StackOverflow上的提问占比来看 , PyTorch逐年上升 , TensorFlow却一直停滞不前)
TensorFlow,危!抛弃者正是谷歌自己
文章图片
在竞争之中 , TensorFlow的缺点逐渐暴露出来 , API不稳定、实现复杂、学习成本高等问题并没有随着更新解决多少 , 反而结构变得更复杂了 。
相比之下 , TensorFlow却没有继续发挥比较能打的“运行效率”等优势 。
在学术界 , PyTorch的使用率正逐渐超过TensorFlow 。
尤其是在各大顶会如ACL、ICLR中 , 使用PyTorch实现的算法框架近几年已经占据了超过80% , 相比之下TensorFlow的使用率还在不断下降 。
也正是因此 , 谷歌坐不住了 , 试图用JAX夺回对机器学习框架的“主导权” 。
虽然JAX名义上不是“专为深度学习构建的通用框架” , 然而从发布之初起 , 谷歌的资源就一直在向JAX倾斜 。
一方面 , 谷歌大脑和DeepMind逐渐将更多的库构建在JAX上 。
包括谷歌大脑的Trax、Flax、Jax-md , 以及DeepMind的神经网络库Haiku和强化学习库RLax等 , 都是基于JAX构建的 。
据谷歌官方表示:
JAX生态系统开发中 , 也会考虑确保其与现有TensorFlow库(如Sonnet和TRFL)的设计(尽可能)保持一致 。
另一方面 , 更多的项目也开始基于JAX实现 , 最近爆火的DALL·Emini项目就是其中一个 。
由于能更好地利用谷歌TPU的优势 , JAX在运行性能上比PyTorch要好得多 , 更多之前搭建在TensorFlow上的工业界项目也正在转投JAX 。
甚至有网友调侃JAX如今爆火的原因:可能是TensorFlow的使用者实在无法忍受这个框架了 。
TensorFlow,危!抛弃者正是谷歌自己
文章图片
那么 , JAX到底有没有希望替代TensorFlow , 成为与PyTorch抗衡的新力量呢?
更看好哪一个框架?总体来看 , 很多人还是很坚定地站PyTorch 。
他们似乎不喜欢谷歌每年都出一个新框架的速度 。
TensorFlow,危!抛弃者正是谷歌自己
文章图片
“JAX虽然很吸引人 , 但还不够具备“革命性”的能力促使大家抛弃PyTorch来使用它 。 ”
TensorFlow,危!抛弃者正是谷歌自己
文章图片
但看好JAX的也并非少数 。
就有人表示 , PyTorch是很完美 , 但JAX也在缩小差距 。