Exploring different approaches to customize language models for domain-specific text-to-code generation

📄 arXiv: 2603.16526v1 📥 PDF

作者: Luís Freire, Fernanda A. Andaló, Nicki Skafte Detlefsen

分类: cs.AI

发布日期: 2026-03-17


💡 一句话要点

探索定制化语言模型用于领域特定文本到代码生成的不同方法

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 文本到代码生成 领域特定语言模型 少样本学习 检索增强生成 LoRA微调 合成数据集 代码定制

📋 核心要点

  1. 通用LLM在特定编程领域表现不足,因为缺乏对领域库和API的理解,需要定制化方案。
  2. 论文探索了少样本提示、RAG和LoRA微调三种策略,以定制小型语言模型,使其适应特定领域的代码生成任务。
  3. 实验表明,LoRA微调在准确性和领域对齐方面表现最佳,而提示方法在成本效益方面更具优势。

📝 摘要(中文)

大型语言模型(LLM)在从自然语言描述生成可执行代码方面表现出强大的能力。然而,通用模型在需要使用领域特定库、API或约定的专业编程环境中常常表现不佳。定制较小的开源模型提供了一种经济高效的替代方案,可以替代大型专有系统。本文研究了如何使用合成数据集来调整较小的语言模型,以用于领域特定的代码生成。我们构建了Python生态系统中三个领域的编程练习数据集:通用Python编程、Scikit-learn机器学习工作流程和基于OpenCV的计算机视觉任务。使用这些数据集,我们评估了三种定制策略:少样本提示、检索增强生成(RAG)和使用低秩适应(LoRA)的参数高效微调。使用基于基准的指标和基于相似性的指标来评估性能,这些指标衡量与领域特定代码的对齐程度。结果表明,基于提示的方法(如少样本学习和RAG)可以经济高效地提高领域相关性,尽管它们对基准准确性的影响有限。相比之下,基于LoRA的微调在大多数任务中始终如一地实现了更高的准确性和更强的领域对齐。这些发现突出了在调整较小的语言模型以用于专门编程任务时,灵活性、计算成本和性能之间的实际权衡。

🔬 方法详解

问题定义:论文旨在解决通用大型语言模型在领域特定文本到代码生成任务中表现不佳的问题。现有方法要么依赖于昂贵的专有模型,要么无法充分利用领域知识,导致生成的代码准确性和领域相关性不足。

核心思路:核心思路是利用较小的开源语言模型,并通过不同的定制策略,使其适应特定领域的代码生成任务。通过合成数据集进行训练,并探索少样本提示、检索增强生成(RAG)和参数高效微调(LoRA)等方法,以提高模型在特定领域的性能。

技术框架:整体框架包括以下几个主要步骤:1) 构建领域特定的合成数据集,涵盖通用Python编程、Scikit-learn机器学习和OpenCV计算机视觉等领域。2) 选择一个较小的开源语言模型作为基础模型。3) 应用三种定制策略:少样本提示、RAG和LoRA微调。4) 使用基准测试和相似性度量评估不同策略的性能,包括准确性和领域对齐程度。

关键创新:论文的关键创新在于系统性地比较和分析了三种不同的定制策略在领域特定代码生成任务中的表现。通过实验,论文揭示了LoRA微调在准确性和领域对齐方面的优势,以及提示方法在成本效益方面的优势,为选择合适的定制策略提供了指导。

关键设计:论文的关键设计包括:1) 合成数据集的构建,确保数据覆盖领域内的各种编程练习。2) RAG的实现,包括如何检索相关的领域知识并将其融入到生成过程中。3) LoRA微调的参数设置,例如LoRA秩的大小和学习率等。论文还使用了基于基准的指标(如准确率)和基于相似性的指标(衡量生成代码与领域特定代码的对齐程度)来评估性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,LoRA微调在大多数任务中实现了更高的准确性和更强的领域对齐,优于少样本提示和RAG。虽然提示方法在成本效益方面更具优势,但其对基准准确性的影响有限。这些发现为在灵活性、计算成本和性能之间进行权衡提供了实际指导。

🎯 应用场景

该研究成果可应用于各种需要领域特定代码生成的场景,例如自动化机器学习流程、计算机视觉应用开发和科学计算等。通过定制小型语言模型,可以降低开发成本,提高代码质量和效率,加速领域应用的开发和部署。未来,该方法可以扩展到更多领域和编程语言。

📄 摘要(原文)

Large language models (LLMs) have demonstrated strong capabilities in generating executable code from natural language descriptions. However, general-purpose models often struggle in specialized programming contexts where domain-specific libraries, APIs, or conventions must be used. Customizing smaller open-source models offers a cost-effective alternative to relying on large proprietary systems. In this work, we investigate how smaller language models can be adapted for domain-specific code generation using synthetic datasets. We construct datasets of programming exercises across three domains within the Python ecosystem: general Python programming, Scikit-learn machine learning workflows, and OpenCV-based computer vision tasks. Using these datasets, we evaluate three customization strategies: few-shot prompting, retrieval-augmented generation (RAG), and parameter-efficient fine-tuning using Low-Rank Adaptation (LoRA). Performance is evaluated using both benchmark-based metrics and similarity-based metrics that measure alignment with domain-specific code. Our results show that prompting-based approaches such as few-shot learning and RAG can improve domain relevance in a cost-effective manner, although their impact on benchmark accuracy is limited. In contrast, LoRA-based fine-tuning consistently achieves higher accuracy and stronger domain alignment across most tasks. These findings highlight practical trade-offs between flexibility, computational cost, and performance when adapting smaller language models for specialized programming tasks.