Skip to main content
QUICK REVIEW

[论文解读] CloudEval-YAML: A Practical Benchmark for Cloud Configuration Generation

Yifei Xu, Yuning Chen|arXiv (Cornell University)|Nov 10, 2023
Software Engineering Research被引用 4
一句话总结

CloudEval-YAML 提出了首个针对云原生应用中 YAML 文件的云配置生成手写基准。该基准包含 1,011 个真实场景问题,配有自然语言提示、参考 YAML 文件及自动化单元测试,支持 LLM 的可扩展功能评估;主要发现表明专有模型显著优于开源模型,且通过 XGBoost 预测单元测试结果可实现约 80% 相对误差内的粗略排序准确度。

ABSTRACT

Among the thriving ecosystem of cloud computing and the proliferation of Large Language Model (LLM)-based code generation tools, there is a lack of benchmarking for code generation in cloud-native applications. In response to this need, we present CloudEval-YAML, a practical benchmark for cloud configuration generation. CloudEval-YAML tackles the diversity challenge by focusing on YAML, the de facto standard of numerous cloud-native tools. We develop the CloudEval-YAML benchmark with practicality in mind: the dataset consists of hand-written problems with unit tests targeting practical scenarios. We further enhanced the dataset to meet practical needs by rephrasing questions in a concise, abbreviated, and bilingual manner. The dataset consists of 1011 problems that take more than 1200 human hours to complete. To improve practicality during evaluation, we build a scalable evaluation platform for CloudEval-YAML that achieves a 20 times speedup over a single machine. To the best of our knowledge, the CloudEval-YAML dataset is the first hand-written dataset targeting cloud-native applications. We present an in-depth evaluation of 12 LLMs, leading to a deeper understanding of the problems and LLMs, as well as effective methods to improve task performance and reduce cost.

研究动机与目标

  • 为解决云原生应用中基于 LLM 的代码生成缺乏实用基准的问题。
  • 构建一个源自真实云场景的 1,011 个 YAML 配置问题的现实、手写数据集。
  • 设计一个可扩展的自动化评估平台,实现对 LLM 生成 YAML 文件的功能正确性高效测试。
  • 评估 12 种 LLM 在多样化云应用类别中的表现,并识别关键性能影响因素。
  • 探索通过文本级与 YAML 感知特征预测测试结果,以替代完整单元测试的低成本方案。

提出的方法

  • 数据集基于真实云配置任务构建,包含手写的问题描述、参考 YAML 文件及用于功能验证的 Bash 单元测试脚本。
  • 数据增强包括使用 GPT-4 对提示进行简洁化、缩写化及中英文双语重述,随后进行人工质量审查。
  • 采用由 64 台 4 核 8GB VM 组成的分布式评估平台,并配合共享的 Docker 镜像缓存,实现较单机评估 20 倍的加速。
  • 单元测试结果作为评估 LLM 生成 YAML 文件的黄金标准,确保功能正确性。
  • 训练 XGBoost 分类器,利用文本级特征(如 BLEU、编辑距离)和 YAML 感知特征(如键值对通配符匹配)预测单元测试结果。
  • 应用 SHAP 分析解释预测模型中特征的重要性,识别测试成功的关键预测因子。

实验结果

研究问题

  • RQ1不同 LLM 在真实、手写云配置生成任务(YAML 格式)中的表现如何?
  • RQ2哪些因素——如模型类型、输出长度或应用类别——对 LLM 在此任务上的表现影响最大?
  • RQ3我们能否在不运行完整测试套件的前提下,准确预测 LLM 生成 YAML 的单元测试结果?
  • RQ4数据增强技术(如简化、翻译)在提升模型泛化能力与实际可用性方面有多有效?
  • RQ5专用代码生成模型在云配置生成任务中,相较于通用 LLM 的表现优势有多大?

主要发现

  • 专有模型如 GPT-4 和 PaLM-2 在功能正确性与准确性方面显著优于开源模型如 Llama2 和 CodeLlama。
  • 即使表现最佳的模型仍会犯下简单且可避免的 YAML 语法与结构错误,表明仍有改进空间。
  • 生成 YAML 的长度与应用类别(如 Kubernetes、CI/CD)是影响模型性能的主要因素。
  • 基于 XGBoost 的分类器可实现最高达 80% 相对误差的单元测试结果预测,但对多数模型仍保持合理的排序顺序。
  • 键值对通配符匹配是预测测试成功最准确且最重要的特征,而 BLEU 与编辑距离虽具参考价值但噪声较大。
  • 多样本生成与 few-shot 提示可提升性能,表明其为提升 LLM 输出质量的实用策略。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。