LLM 使用可复用、可组合的抽象表示进行编程
LLMs program using Reusable and Composable Abstract Representations
精选理由
揭示大语言模型如何复用并组合跨语言代码表征,为可控代码生成与跨语言泛化提供新思路。
AI 摘要
arXiv:2610.19238v1 公告类型:新论文 摘要:编写代码时,同一计算可以用不同的编程语言和不同的实现策略来表达。我们表明,LLM 在生成代码时,其激活值会以可复用、可组合的抽象表示捕捉这种共享结构。这些表示出现在中间层,可跨编程语言复用,并使模型在各种干预下生成代码时展现出显著的泛化能力。通过激活引导,我们表明,函数、编程语言和实现策略可以被独立操控。对语言和函数的独立干预可以灵活组合,以控制代码生成,即使提示中不包含任何关于语言和函数的信息,也能做到这一点。此外,我们发现,使用一种编程语言中任意定义的函数示例进行微调,其效果能够迁移到其他语言。这与模型复用不同示例之间共享的代码生成抽象特征这一解释相吻合。最后,为研究此类抽象表示如何形成,我们在合成环境中实现了一个具有共享、可复用和可组合结构的最简模型,并表明,在此类数据上训练的 Transformer 会学到能够在不同上下文中灵活复用这些组成部分的表示。