一句话:提出 DSCT-Decode 解码策略,用代码 Token 树和多目标评分引导 LLM 生成更正确且高性能的代码。
科学计算、大规模数据处理和 AI 计算中,不同代码实现带来的性能差异直接影响代码实用性;现有利用代码知识增强 LLM 生成代码执行性能的方法忽略代码评估结果,导致计算效率不高。为此,本文提出 DSCT-Decode 自适应解码策略,采用 Code Token Tree(CTT)根据代码评估结果引导 token 选择。它从正确性、性能和相似度三个维度评估生成代码,用动态惩罚边界交叉法计算多目标分数,并在反向传播中调整 CTT 节点分数,以平衡探索与利用。评估构建了 big-DS-1000(DS-1000 扩展,首个按执行性能评估代码生成的方法),与 CodeLlama、GPT-4 等对比,平均性能提升近 30%,30% 的代码性能提升超过 20%。
Within the realms of scientific computing, large-scale data processing, and artificial intelligence-powered computation, disparities in performance, which originate from differing code implementations, directly influence the practicality of the code. Although existing works tried to utilize code knowledge to enhance the execution performance of codes generated by large language models, they neglect code evaluation outcomes which directly refer to the code execution details, resulting in inefficient computation. To address this issue, we propose DSCT-Decode, an innovative adaptive decoding strategy for large language models, that employs a data structure named ’Code Token Tree’ (CTT), which guides token selection based on code evaluation outcomes. DSCT-Decode assesses generated code across three dimensions—correctness, performance, and similarity—and utilizes a dynamic penalty-based boundary intersection method to compute multi-objective scores, which are then used to adjust the scores of nodes in the CTT during backpropagation. By maintaining a balance between exploration, through token selection probabilities, and exploitation, through multi-objective scoring, DSCT-Decode effectively navigates the code space to swiftly identify high-performance code solutions. To substantiate our framework, we developed a new benchmark, big-DS-1000, which is an extension of DS-1000. This benchmark is the first of its kind to specifically evaluate code generation methods based on execution performance. Comparative evaluations with leading large language models, such as CodeLlama and GPT-4, show that our framework achieves an average performance enhancement of nearly 30%. Furthermore, 30% of the codes exhibited a performance improvement of more than 20%, underscoring the effectiveness and potential of our framework for practical applications.CCS CONCEPTS• Computing methodologies →Artificial intelligence; • Software and its engineering;
@inproceedings{Qu0KW0024,
title = {Dynamic Scoring Code Token Tree: A Novel Decoding Strategy for Generating High-Performance Code},
author = {Muzi Qu and Jie Liu and Liangyi Kang and Shuai Wang and Dan Ye and Tao Huang},
booktitle = {ASE},
year = {2024},
doi = {10.1145/3691620.3695505}
}