We propose Adversarial DEep Learning Transpiler (ADELT) for source-to-source transpilation between deep learning frameworks. Unlike prior approaches, we decouple the transpilation of code skeletons and the mapping of API keywords (an API function name or a parameter name). ADELT transpile code skeletons using few-shot prompting on big language models. Based on contextual embeddings extracted by a BERT for code, we train aligned API embeddings in a domain-adversarial setup, upon which we generate a dictionary for keyword translation. The model is trained on our unlabeled DL corpus from web crawl data, without using any hand-crafted rules and parallel data. Our method outperforms state-of-the-art transpilers on multiple transpilation pairs including PyTorch-Keras and PyTorch-MXNet by 15.9pts and 12.0pts in exact match scores respectively.
翻译:我们建议Adversarial Deep 学习传输器(ADELT) 在深层学习框架之间进行源到源传输。 与以往的做法不同, 我们将代码骨架的传输与API关键词( API函数名称或参数名称) 的映射脱钩, 并绘制 API 关键词( 一种 API 函数名称或参数名称) 的映射。 ADELT 使用大语言模型的几发提示, 自动翻转代码。 根据BERT 提取的背景嵌入代码, 我们将匹配的 API 嵌入一个域对称的域对称设置, 我们在该设置上生成一个关键词翻译词词典。 该模型在未贴上标签的 DL 文集上进行了培训, 没有使用任何手工制作的规则和平行数据 。 我们的方法在多个传输配对配配配配配配配配配配制的配配配配配配配配制中, 包括 PyTorch- Keras 和 PyTorrch- MXNet- MXNet 等配配配配配配配配配配制了15.9 和12.0 。</s>