Work

Ivy

Co-founder and CEO · 2024 – Jan 2025 · Remote

A Unify spin-out built around an open-source transpiler that rewrote machine learning code from one framework into another.

In 2024 a few colleagues and I spun Ivy out of Unify, and I served as its CEO and technical lead until January 2025.

The problem

A model written for one machine learning framework could not use another's hardware or tools without being rewritten by hand.

JAX and TensorFlow ran well on Google's TPUs, TensorFlow Lite put models on phones and edge devices, and most new models and libraries were published in PyTorch. Converters such as ONNX moved a model's computation graph between frameworks but not its source, so the result could run but was not code anyone could read or change.

A transpiler that rewrote source

I led Ivy's source-to-source transpiler, which rewrote PyTorch models and libraries as working, readable TensorFlow and JAX that mirrored the original's structure.

At Unify we had traced models into computation graphs, which baked a model's control flow into whatever path its example inputs took. At the spin-out we rebuilt the transpiler on an architecture we had laid down late in 2023: it parsed PyTorch code into syntax trees and lowered it in stages, so loops and branches survived and the output was code an engineer could edit and train in the framework of their choice.

Where frameworks disagree

Most of the engineering went into the places where frameworks disagree.

PyTorch updates tensors in place, while TensorFlow and JAX tensors cannot be changed, so in-place operations had to become reassignments without changing what the code did. I built that handling, and the cache that stored translations as serialisable syntax trees so shared code was translated only once, and fixed much of what real libraries exposed.

Validation and adoption

We validated the output on Hugging Face Transformers models by loading their pretrained weights into the converted models, comparing outputs with the originals, and training some of them in the target framework.

The next target was Kornia, a computer-vision library for PyTorch, worked through until about 90% of a large set of its functions and classes transpiled. Kornia's maintainers merged the integration, which I co-authored, in October 2024 and shipped it in Kornia 0.7.4. In November 2024 I relicensed Ivy under Apache 2.0, and the transpiler's source followed into the public unifyai/ivy repository.

Working with users

As CEO I spent much of my time with prospective users.

I ran technical demonstrations for enterprise machine learning teams, and the operations their models needed that we did not yet support set much of the roadmap.