- 简介虽然大型语言模型(LLMs)已经在自动代码生成方面占据主导地位,但它们并不是没有缺点。相关问题主要涉及生成的代码缺乏执行保证、缺乏可解释性以及对基本但利基的编程语言的支持不足。目前最先进的LLMs,如GPT-4和LLaMa2,无法为可编程逻辑控制器(PLCs)操作的工业控制系统(ICS)生成有效的程序。我们提出了LLM4PLC,这是一个用户引导的迭代流程,利用用户反馈和外部验证工具(包括语法检查器、编译器和SMV验证器)来指导LLM的生成。我们通过创建和使用LoRAs进一步增强了LLM的生成潜力,包括提示工程和模型微调。我们使用FischerTechnik制造测试床(MFTB)验证了这个系统,并展示了LLMs如何从生成结构上存在缺陷的代码演变为为工业应用程序生成可验证正确的程序。我们在GPT-3.5、GPT-4、Code Llama-7B、经过微调的Code Llama-7B模型、Code Llama-34B和经过微调的Code Llama-34B模型上运行了完整的测试套件。所提出的流程将生成成功率从47%提高到了72%,并将专家代码质量调查从2.25/10提高到了7.75/10。为了促进公开研究,我们在专门的网页上分享了完整的实验设置、LLM微调权重和不同程序的视频演示。
- 图表
- 解决问题提出了一个名为LLM4PLC的用户引导迭代管道,旨在通过用户反馈和外部验证工具来指导LLM的代码生成,以产生可验证的工业应用程序。
- 关键思路通过用户反馈和外部验证工具来指导LLM的代码生成,以产生可验证的工业应用程序。使用Prompt Engineering和模型微调来增强LLM的生成潜力。
- 其它亮点实验使用FischerTechnik Manufacturing TestBed(MFTB)进行验证,并提供完整的实验设置、LLM微调权重和不同程序的视频演示。使用的模型包括GPT-3.5、GPT-4、Code Llama-7B、Code Llama-34B等。提出的管道将生成成功率从47%提高到72%,并将Survey-of-Experts代码质量从2.25/10提高到7.75/10。
- 最近的相关研究包括LLMs在自动代码生成中的应用,以及验证工具在代码生成中的应用,例如编译器和SMV验证器。
沙发等你来抢
去评论
评论
沙发等你来抢