Seems to me that it would make sense to have :
- some kind of fuzzer, where inputs of the right shapes are created randomly, and applied to both implementations; and/or
- an automatic utility that can put function-wise or line-wise logging on existing implementations, so that internal states could be measured for a given layer in-situ, when 'real inputs' are run through the full model.
Extension : Armed with these verification tools, we could get an LLM (with verification in the loop) to do the translation for us (given a small library of working PyTorch/JAX translation pairs, which would easily fit in Gemini context).
Seems to me that it would make sense to have :
Extension : Armed with these verification tools, we could get an LLM (with verification in the loop) to do the translation for us (given a small library of working PyTorch/JAX translation pairs, which would easily fit in Gemini context).