ADELT: Transpilation Between Deep Learning Frameworks
This addresses the challenge of code portability for developers working across multiple deep learning frameworks, though it is incremental as it builds on existing transpilation methods.
The paper tackles the problem of source-to-source transpilation between deep learning frameworks by proposing ADELT, which decouples code skeleton transpilation using LLMs and API keyword mapping with adversarial training, resulting in improvements of 17.4 and 15.0 points in pass@1 rates for PyTorch-Keras and PyTorch-MXNet pairs.
We propose the Adversarial DEep Learning Transpiler (ADELT), a novel approach to source-to-source transpilation between deep learning frameworks. ADELT uniquely decouples code skeleton transpilation and API keyword mapping. For code skeleton transpilation, it uses few-shot prompting on large language models (LLMs), while for API keyword mapping, it uses contextual embeddings from a code-specific BERT. These embeddings are trained in a domain-adversarial setup to generate a keyword translation dictionary. ADELT is trained on an unlabeled web-crawled deep learning corpus, without relying on any hand-crafted rules or parallel data. It outperforms state-of-the-art transpilers, improving pass@1 rate by 17.4 pts and 15.0 pts for PyTorch-Keras and PyTorch-MXNet transpilation pairs respectively. We provide open access to our code at https://github.com/gonglinyuan/adelt.