CodeSteer: Symbolic-Augmented Language Models via Code/Text Guidance
作者: Yongchao Chen, Yilun Hao, Yueying Liu, Yang Zhang, Chuchu Fan
分类: cs.CL, cs.AI, cs.LG, cs.SC, cs.SE
发布日期: 2025-02-04 (更新: 2025-05-29)
备注: 28 pages, 12 figures
期刊: International Conference on Machine Learning (ICML'2025)
🔗 代码/项目: GITHUB | HUGGINGFACE
💡 一句话要点
CodeSteer通过代码/文本引导增强LLM的符号计算能力,显著提升复杂任务性能。
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 符号计算 代码生成 文本推理 引导学习 监督微调 直接偏好优化
📋 核心要点
- 现有方法难以有效引导大型语言模型在文本推理和代码生成之间切换,导致符号计算能力未被充分利用。
- CodeSteer的核心思想是利用代码和文本的引导,结合符号和自答案检查器,来增强LLM的符号计算能力。
- 实验结果表明,CodeSteer能够显著提升LLM在复杂符号任务上的性能,甚至超越现有最佳模型。
📝 摘要(中文)
本文提出了一种名为CodeSteer的有效方法,用于引导大型语言模型(LLM)的代码/文本生成,从而充分利用符号计算能力。作者构建了一个包含37个具有可调复杂度的符号任务的综合基准SymBench,并合成了包含12k多轮引导/生成轨迹和5.5k引导比较对的数据集。通过新设计的多轮监督微调(SFT)和直接偏好优化(DPO)对Llama-3-8B模型进行微调,得到的CodeSteerLLM模型,结合提出的符号和自答案检查器,有效地指导了更大模型的代码/文本生成。使用CodeSteer增强GPT-4o后,其平均性能得分从53.3提高到86.4,甚至优于现有的最佳LLM,包括OpenAI o1 (82.7), o1-preview (74.8)和DeepSeek R1 (76.8)。CodeSteer还展示了卓越的泛化能力,在Claude、Mistral和GPT-3.5上平均提升了41.8的性能。
🔬 方法详解
问题定义:现有的大型语言模型(LLM)在处理需要符号计算的任务时,往往无法有效地在文本推理和代码生成之间进行切换,导致其符号计算能力没有得到充分的发挥。现有的方法缺乏有效的引导机制,使得LLM难以在复杂的符号任务中保持高性能。
核心思路:CodeSteer的核心思路是通过代码和文本的引导,来增强LLM的符号计算能力。具体来说,CodeSteer利用精心设计的引导策略,指导LLM生成代码或文本,并结合符号和自答案检查器来验证生成的质量,从而提高LLM在复杂符号任务上的性能。这种设计旨在让LLM更好地理解和利用符号信息,从而更有效地解决问题。
技术框架:CodeSteer的整体框架包括以下几个主要模块:1) 数据集构建:构建包含多轮引导/生成轨迹和引导比较对的数据集,用于模型的训练和评估。2) 模型微调:使用多轮监督微调(SFT)和直接偏好优化(DPO)对LLM进行微调,使其能够更好地理解和执行引导。3) 引导策略:设计有效的引导策略,指导LLM生成代码或文本。4) 符号和自答案检查器:使用符号和自答案检查器来验证生成的质量,并提供反馈。
关键创新:CodeSteer最重要的技术创新点在于其有效的引导策略和符号/自答案检查器的结合。通过引导策略,CodeSteer能够有效地指导LLM生成高质量的代码或文本,而符号/自答案检查器则能够验证生成的质量,并提供反馈,从而进一步提高LLM的性能。与现有方法相比,CodeSteer能够更有效地利用符号信息,从而在复杂符号任务中取得更好的效果。
关键设计:CodeSteer的关键设计包括:1) 多轮监督微调(SFT)和直接偏好优化(DPO)的结合,用于模型的微调。2) 精心设计的引导策略,用于指导LLM生成代码或文本。3) 符号和自答案检查器的设计,用于验证生成的质量。此外,数据集的构建也至关重要,包括多轮引导/生成轨迹和引导比较对,为模型的训练提供了丰富的数据。
🖼️ 关键图片
📊 实验亮点
CodeSteer在SymBench基准测试中取得了显著的成果。使用CodeSteer增强GPT-4o后,其平均性能得分从53.3提高到86.4,甚至优于现有的最佳LLM,包括OpenAI o1 (82.7), o1-preview (74.8)和DeepSeek R1 (76.8)。此外,CodeSteer还展示了卓越的泛化能力,在Claude、Mistral和GPT-3.5上平均提升了41.8的性能。
🎯 应用场景
CodeSteer具有广泛的应用前景,可以应用于各种需要符号计算的领域,例如数学推理、程序生成、知识图谱推理等。通过增强LLM的符号计算能力,CodeSteer可以提高LLM在这些领域的性能,从而为实际应用带来更大的价值。未来,CodeSteer还可以应用于更复杂的任务,例如自动化程序设计、智能决策等。
📄 摘要(原文)
Existing methods fail to effectively steer Large Language Models (LLMs) between textual reasoning and code generation, leaving symbolic computing capabilities underutilized. We introduce CodeSteer, an effective method for guiding LLM code/text generation. We construct a comprehensive benchmark SymBench comprising 37 symbolic tasks with adjustable complexity and also synthesize datasets of 12k multi-turn guidance/generation trajectories and 5.5k guidance comparison pairs. We fine-tune the Llama-3-8B model with a newly designed multi-turn supervised fine-tuning (SFT) and direct preference optimization (DPO). The resulting model, CodeSteerLLM, augmented with the proposed symbolic and self-answer checkers, effectively guides the code/text generation of larger models. Augmenting GPT-4o with CodeSteer raises its average performance score from 53.3 to 86.4, even outperforming the existing best LLM OpenAI o1 (82.7), o1-preview (74.8), and DeepSeek R1 (76.8) across all 37 tasks (28 seen, 9 unseen). Trained for GPT-4o, CodeSteer demonstrates superior generalizability, providing an average 41.8 performance boost on Claude, Mistral, and GPT-3.5. CodeSteer-guided LLMs fully harness symbolic computing to maintain strong performance on highly complex tasks. Models, Datasets, and Codes are available at https://github.com/yongchao98/CodeSteer-v1.0 and https://huggingface.co/yongchao98.