Live data from Hacker News

The future of Deep Learning frameworks

neel04.github.io

91–100 of 113 posts

Re: The future of Deep Learning frameworks

#91

PyTorch is the javascript of ML. sadly "worse is better" software has better survival characteristics even when there is consensus that technology X is theoretically better

How is Jax theoretically better than PyTorch? The author is ignorant of torch.compile and biased as other commenters have pointed out.

[deleted]

Re: The future of Deep Learning frameworks

#92
post #69
post #60

PyTorch is developed by multiple companies / stake holders while jax is google only with internal tooling they don’t share with the world. This alone is a major reason not to use jax. Also I think it is more the other way around: with torch.compile the main advantage of jax is disappearing.

> with torch.compile the main advantage of jax is disappearing. Interesting take - I agree here somewhat. But also, wouldn't you think a framework that has been from the ground-up designed around a specific, mature compiler stack be better able to integrate compilers in a more stable fashion than just shoe-horning static compilers into a very dynamic framework? ;)

Depends. PyTorch on the other hand has a large user base and well defined and tested api. So should be doable; and is already progressing and rapid speed..

Re: The future of Deep Learning frameworks

#93
post #69
post #60

PyTorch is developed by multiple companies / stake holders while jax is google only with internal tooling they don’t share with the world. This alone is a major reason not to use jax. Also I think it is more the other way around: with torch.compile the main advantage of jax is disappearing.

> with torch.compile the main advantage of jax is disappearing. Interesting take - I agree here somewhat. But also, wouldn't you think a framework that has been from the ground-up designed around a specific, mature compiler stack be better able to integrate compilers in a more stable fashion than just shoe-horning static compilers into a very dynamic framework? ;)

So the answer is not Jax?

Because JAX is not designed around a mature compiler stack. The history of Jax is more so that it matured alongside the compiler...

Re: The future of Deep Learning frameworks

#94

Pushback notwithstanding, this article is 100% correct in all PyTorch criticisms. PyTorch was a platform for fast experimentation with eager evaluation, now they shoehorn "compilers" into it. "compilers", because a lot of the work is done by g++ and Triton. It is a messy and quickly expanding codebase with many surprises like segfaults and leaks. Is scientific experimentation really sped up by these frameworks? Every…

> If researchers wrote directly in C or Fortran...

... then they would get nothing done.

Re: The future of Deep Learning frameworks

#95
post #94

Pushback notwithstanding, this article is 100% correct in all PyTorch criticisms. PyTorch was a platform for fast experimentation with eager evaluation, now they shoehorn "compilers" into it. "compilers", because a lot of the work is done by g++ and Triton. It is a messy and quickly expanding codebase with many surprises like segfaults and leaks. Is scientific experimentation really sped up by these frameworks? Every…

> If researchers wrote directly in C or Fortran... ... then they would get nothing done.

Why not?

Re: The future of Deep Learning frameworks

#96
post #94

Earlier quoted context omitted.

> If researchers wrote directly in C or Fortran... ... then they would get nothing done.

Why not?

1. data cleaning and other tasks for which Python excels, 2. C and Fortran don't come close to the developer speed of Python. Ideas don't come from using languages like C, but are rather enabled by implementing, prototyping, and iterating quickly and with little resistance from the language, using existing libraries, etc. Python is simply much better in these regards.

Re: The future of Deep Learning frameworks

#97

From an eng/industry perspective, back in 2016/2017 I watched the realtime decline of Tensorflow towards Pytorch. The issue was TF had too many interfaces to accomplish the same thing and each one was rough in its own way. Along with some complexity for using serving and experiment logging via Tensorboard, but this wasn’t as bad at least for me. Keras was integrated in an attempt to help, but ultimately it wasn’t eno…

Imo the biggest issue (from memory) was that Tensorflow used a static computation graph. PyTorch was so much easier to work with.

I honestly think the static graph was much better in the similar way Vulkan/DX12 are better than OpenGL/DX9. It is harder to program, but gives more explicit control of important things. E.g. who would use PyTorch if they new that for optimal performance they'd need to record CUDA graphs?

Re: The future of Deep Learning frameworks

#99
post #49

Earlier quoted context omitted.

It's not about the syntax, it's all the knowledge, tools, existing code, etc that make Python so attractive.

I don't doubt that, but I'm specifically talking about new languages. I've seen far more enthusiasm from ML researchers for Mojo, which doesn't even do automatic differentiation, than for Dex. And to recycle an old HN comment of mine, people are much more eager to learn a functional programming language if it looks like NumPy (I'm talking about JAX here).

Mojo is interesting, because I get to keep all my existing Python code and libraries for free. Then when I need to speed things up I can use Mojo syntax.

Re: The future of Deep Learning frameworks

#100

One aspect of jax that’s rarely touched on is browser stuff. Completely aside from deep learning, it’s straightforward to compile jax to a graphics shader you can call in js, which in this insane world is actually my preferred way to put numerical computing or linear algebra code on a web page.

Can you share any code or references for this? Several people I work with are interested in this.
Post reply on HN