在编程语言生成方面,大型语言模型表现出色,但在处理如MiniZinc等稀有领域特定语言时却面临困难。MiniZinc是一种用于组合问题的约束建模语言。我们研究了通过针对性的微调,是否可以教会小型语言模型(参数从0.6B到20B)从自然语言问题描述中生成语法正确且语义有效的MiniZinc模型。
我们的关键发现是,语法错误在处理这种领域特定语言时占主导地位:小型语言模型如Qwen3、LLaMa、Gemma和GPT-OSS的开箱即用执行准确率接近零。
我们提出了一种跨模型错误引导方法,收集多个LLM运行中的语法错误,并利用这些错误来策划一个错误修正训练数据集。这个数据集使我们能够微调小型语言模型,显著提高直接代码生成和链式思维方法在所有模型规模上的表现。
通过自我反思和集成,我们的方法实现了高达98%的执行准确率。然而,解决方案的准确率仍然保持在35%,这表明尽管语法是可学习的,但约束推理依然是一个挑战。我们将微调管道、数据集和模型贡献给开源,以促进文本到模型翻译的进一步研究。
博主点评: 该研究展示了小型语言模型在特定领域任务中的潜力,尤其是在语法纠错方面的有效性。尽管约束推理仍是个难题,但通过开源的微调管道和数据集,未来的研究可以进一步推动这一领域的发展。期待看到更多关于如何解决约束推理挑战的研究成果!