论文

SynConfRoute:语法感知路由,通过小型 CodeLLM 实现高效代码完成

SynConfRoute: Syntax-Aware Routing for Efficient Code Completion with Small CodeLLMs

AI 基础设施模型网关

摘要

企业希望人工智能代码完成既高质量又私密,但他们面临着紧张:专有模型产生更好的结果,但存在暴露专有代码的风险,而自托管大型模型成本高昂且难以维护。作为一种更轻的替代方案,小型 CodeLLM (1B-3B) 可以在开发人员的工作站加速器上运行,代码永远不会离开机器,但它们在执行更困难的任务时会失败。一个实用的解决方案是对大多数请求使用小型模型,并有选择地将困难的请求路由到更大的自托管模型。在本研究中,我们在 Python、Java 和 C++ 的基于执行的中间填充 (FIM) 代码完成基准测试中评估了 12 个系列的 29 个代码专用 LLM (0.5B-480B),发现模型系列和代码专用训练比大小更重要:3B 模型与 32B 模型相匹配,尽管其尺寸小 10 倍。分析 3B 模型的失败,我们发现 46% 的错误补全都不是有效代码。为了实现高效的代码完成,我们提出了 SynConfRoute,这是一种 无需训练 方法,它将词元置信度与语法验证相结合,自动决定每个请求是保持本地完成还是升级到更大的自托管模型。 SynConfRoute 在例行完成时比仅路由的置信度提高了 6.4%,在较困难的多语言任务上提高了高达 31%,最终的管道在例行完成中实现了 78.9%,比始终仅使用 480B 模型高出 7.4%,同时将加速器使用量减少了 58%。 SynConfRoute 泛化于 Python、Java 和 C++,提高了所有三种语言上仅路由的信心,而不会拒绝正确的本地完成。该管道使用现成的模型,无需进行定制训练,因此可以立即在实践中部署。