T-LLM Compiler: Trusted LLM-based Code Optimization and Verification Framework
LLM做代码优化必须闭环验证:T-LLM在PolyBench/C上达到83.3%正确…:如果你用LLM改代码提速,最大的风险是它改完自己没法证明改对了。T-LLM编译器把Qwen2.5-32B生成的变换交给传统编译器、Alive2、CBMC做三层验证,失败就把诊断反馈给LLM重写,最终在PolyBench/C上做到83.3%优化准确率、平均26.7%加速。
LLM做代码变换时无法独立验证正确性,T-LLM把Qwen2.5-32B与传统编译器、Alive2、CBMC组合成语法→符号→语义三层迭代验证闭环。在PolyBench/C上,该框架达到83.3%优化准确率,变换代码平均加速26.7%。
LLM代码变换加上语法、符号、语义三层分层验证和迭代纠错后,优化准确率达83.3%,变换代码平均加速26.7%(PolyBench/C基准,相对标准基线)。
1. 旧假设:LLM生成优化变换即可用,但现有路径(含LLVM-IR直接变换)没有独立验证环节,论文明确指出这些路径未能提升变换成功率,正确性无保障。 2. 方法:Qwen2.5-32B-Instruct生成变换后,依次过编译器语法检查、Alive2符号验证、CBMC语义检查,任一步失败就把诊断反馈LLM重写;对照为同一PolyBench/C测试集和标准基线运行时间。 3. 结果:最高83.3%优化准确率、单核最高加速16.1%、平均加速26.7%;做法是把三层验证加迭代纠错接入你的LLM优化流程,别再用裸输出。
测试集是PolyBench/C,一个多面体计算核标准基准集,常用于评估编译器循环变换和并行化优化。指标有两个:优化准确率(通过全部三层验证的变换比例)和相对标准基线的运行时加速比。结果为最高83.3%准确率、单核最高加速16.1%、平均加速26.7%。摘录未提供分优化类型的细粒度失败率,也未提供不同迭代轮次的收敛曲线。
- 它要解决什么
- LLM生成代码变换后无法自己验证正确性,怎么搭一个自动化闭环,让优化既正确又有实际加速?
- 研究路径
- Qwen2.5-32B-Instruct拿到代码和优化提示后生成变换版本。传统编译器先做语法检查,报错就返回给LLM。Alive2做符号等价验证,CBMC做语义正确性检查。任何一步失败,都把具体诊断信息反馈给LLM并触发重新生成,循环直到全部通过或达到迭代上限。
- 这对工程意味着什么
- 第一步行动:在LLM生成优化代码后立刻接入编译器+Alive2+CBMC分层验证,用失败诊断驱动迭代纠错。要避免的捷径:直接信任LLM输出的优化代码、跳过正确性验证。
- 证据定位
- 在PolyBench/C上,T-LLM最高达到83.3%代码优化准确率,单核最高加速16.1%,变换代码相对标准基线平均加速26.7%。论文同时指出,现有不含验证环节的LLM优化路径未能提升变换成功率。(筛选维度:可复核评测、软件工程方法)
- 适用边界
- 测试集只有PolyBench/C多面体计算核,代码域覆盖有限。摘录未报告分优化类型的细粒度成功率,也未说明LLM迭代上限和验证工具的具体覆盖范围。
方法与英文摘要
在PolyBench/C基准集上跑三步流程:第一步,Qwen2.5-32B-Instruct根据提示生成高层代码变换;第二步,传统编译器做语法检查;第三步,Alive2做符号等价验证,CBMC做语义正确性检查。任何一层失败,就把诊断信息反馈给LLM重新生成,循环直到全部通过或达到迭代上限。最后对比变换代码与标准基线的运行时间。
Recent advances in Large Language Models (LLMs) have opened opportunities to apply high-level code transformations to the field of code optimization, and it has since emerged as one of the most fundamental tasks for LLMs to perform; however, at present, LLMs struggle to apply wide-ranging code optimization tasks due to both the complexity of the code and the inability to independently verify the correctness of the transformations. In this paper, we present the Trusted LLM (T-LLM) Compiler, which proposes an advancement in compiler technology through a collaborative effort involving high-level LLM code transformations, traditional compilers, and verification tools. Experimental results reveal that it can significantly improve code correctness when tested on a set of PolyBench/C benchmarks. Our approach facilitates iterative code optimization efforts with verification strategies that enable corrective actions. Through this approach, T-LLM Compiler achieves code optimization accuracy of up to 83.3% and a speedup of up to 16.1\% on the PolyBench/C benchmarks, with the transformed code reaching an average of 26.7% speedup wrt standard baselines. Additionally, we release the project's source code to the open-source community.