This is why I laugh at so called "AI researchers". They build "quality software" like this, while everyone else stops fucking around and uses ggml and llama.cpp and doesn't have these weird issues.
While this is a bit too harsh - and the solution is naive at best - the problem is real.
The idea of bitwise reproducibility for floating point computations is completely laughable in any part of the DL landscape. Meanwhile in just about every other area that uses fp computation it's been the defacto standard for decades.
To frameworks being even worse. Every day getting further away from reproducibility. The best you can hope of is to order the frameworks in terms of how bad they are, with tensorflow being far down at the bottom and jax being (currently) at the top.
This is a huge issue to anyone serious about developing novel models.
This is why I laugh at so called "AI researchers". They build "quality software" like this, while everyone else stops fucking around and uses ggml and llama.cpp and doesn't have these weird issues.
While this is a bit too harsh - and the solution is naive at best - the problem is real.
The idea of bitwise reproducibility for floating point computations is completely laughable in any part of the DL landscape. Meanwhile in just about every other area that uses fp computation it's been the defacto standard for decades.
From NVidia not guaranteeing bitwise reproducibility even on the same GPU: https://docs.nvidia.com/deeplearning/cudnn/backend/v9.17.0/d...
To frameworks being even worse. Every day getting further away from reproducibility. The best you can hope of is to order the frameworks in terms of how bad they are, with tensorflow being far down at the bottom and jax being (currently) at the top.
This is a huge issue to anyone serious about developing novel models.
Not until it gets tensor parallelism.
Eh, those “ai researchers” are too busy rolling around in mounds of freshly minted Benjamins to care about “quality software”