Eventually we went with pytorch only support for the time being, with still exploring OpenXLA in place of ONNX, as a universal adapter: https://github.com/ipcamit/colabfit-model-driver
With LoRA / QLoRA, my bet is that edge training capabilities are as important in the next decade. I don't have any citations though.
Is it? From what I understand, to use an analogy, ONNX is the bytecode specification and JVM whereas Pytorch, TF and other frameworks combined with converting tools are the Java compilers.
Your training framework and a suitable export is the compiler.
Onnx Runtime (which really has various backends), tensorrt, .. (whatever inference engine you are using) is your JVM.
I just did an install of the runtime on Python ( pip install onnxruntime ) . Here are the additional packages it installs.
Package Version
------------- -------
coloredlogs 15.0.1
flatbuffers 23.5.26
humanfriendly 10.0
mpmath 1.3.0
numpy 1.25.2
onnxruntime 1.15.1
packaging 23.1
protobuf 4.23.4
sympy 1.12
https://onnxruntime.ai/docs/install/If an ONNX implementation wants to do codegen, like what XLA does, then usually it is based on LLVM and it needs to be shipped with a copy of LLVM.