首页 > 其他分享 >创新实训 (一)

创新实训 (一)

时间:2024-05-30 19:23:24浏览次数:24  
标签:创新 CodeGeeX LOJ 代码 HumanEval 实训 数据 模型

为了提高在线评测系统的功能性,需要选择和集成一个强大的代码纠错大模型,用于自动分析和纠正用户提交的代码中的错误。

这里的大模型我们选择使用清华大学开源的 ChatGLM-CodeGeeX2。在该模型的基础上,选用程序设计试题的专门数据,进行Fine-turning的训练(即微调)。

为了令 CodeGeeX 在程序设计练习题的代码上生成能力更强,再将其集成到在线评测系统的过程对 CodeGeeX 模型进行了微调。微调模型的目标是使得模型对于程序设计练习题有着更强的解决能力,但不应降低其原有能力。所以我们需要从各大传统程序设计的在线评测平台中获得一些数据,将这些数据用于微调训练当中去。

  1. CodeGeeX 所需数据

首先,我们需要知道 CodeGeeX 所需的数据的格式。数据格式可以参考 HumanEval-X。

HumanEval-X 是一个用于评估代码生成模型多语言能力的基准。它由 820 个高质量的人工创建数据样本(每个样本都有测试用例)组成,语言包括 Python、C++、Java、JavaScript 和 Go,可用于代码生成和翻译等各种任务。CodeGeeX 的评测也是在 HumanEval-X 上完成的,所以可以参考 HumanEval-X 来了解对应数据的格式。下图为 HumanEval-X 的数据。

其中 Prompt 是对问题的描述,declaration 是代码的定义部分,canonical_solution 是代码的操作部分。后面的 test 和 example_test 是测试的代码和数据。

所以,想要对 CodeGeeX 进行微调和训练,就需要题目的描述和正确的代码。

  1. 数据获取

目前国内使用比较多程序设计练习平台是 PTA ,但是 PTA 的代码并不公开,所以我们转而选取了 LOJ。

LOJ 页面:

首先,我们需要获取题目信息。可以使用爬虫获取题目描述,并将数据保存到数据库中。

获取了题目信息后还需要获得正确的代码,而 LOJ 的代码都是公开的,未登录用户也可以进行访问,这非常方便。而 LOJ 有响应的 API 可以非常方便的获取代码。

API 如下,只要给出提交记录编号就可以获得包括代码在内的详细信息:

爬虫代码:

标签:创新,CodeGeeX,LOJ,代码,HumanEval,实训,数据,模型
From: https://www.cnblogs.com/asuldb/p/18223077

相关文章

  • 创新实训 (四)
    在线评测系统的前后端都是使用PHP进行开发的。PHP是一种广泛用于Web开发的服务器端脚本语言,有以下特点:开源和跨平台:PHP是一种开源语言,可以在各种操作系统上运行,如Windows、Linux和macOS。这使得PHP非常灵活和可访问。易学易用:与其他编程语言相比,PHP的语法相对简单,学习......
  • 创新实训 (三)
    1.为什么需要微调大模型?大型预训练模型的训练成本极高,涉及庞大的计算资源和海量数据,如果对于不同特征的数据和任务都要重新进行大模型的训练,那么成本是非常高昂的。这也导致了研究成果难以被复现和验证。为了解决这个问题,Parameter-EfficientFine-Tuning(参数有效微调)技术应运而......
  • 创新实训 (七)
    1.登录爬取力扣上的数据首先需要进行登录,使用Chrome的开发者模式来确定登录时提交的信息。经过登录验证,发现是通过https://leetcode.com/accounts/login这一接口提交了登录表单,使用爬虫进行登录的时候需要填写表单中对应的数据。其中csrfmiddlewaretoken是cookie值,需......
  • 创新实训 (六)
    在指导老师鹿旭东的指导下,我们将现有的工作进行总结,形成了一篇简短的论文,目前该文章已投稿至CEISEE2024。AnOnlineJudgementSystemBasedonCode-GeneratingLargeModeAbstract:Forcomputersciencemajorsinhighereducationinstitutions,programmingcoursesare......
  • 创新实训 (五)
    论文:Prefix-Tuning:OptimizingContinuousPromptsforGenerationPrefix-tuning将一系列连续的特定于任务的向量添加到输入中,这些前缀向量并不能够映射到真正的实体token,可以理解为“虚拟token”,这些虚拟的token作为Prefix。然后,在训练的时候只更新Prefix部分的参数,而PL......
  • 登上国际舞台!天翼云P4 EIP网关流量管理创新方案亮相CCGrid 2024!
    5月8日,第24届IEEE/ACM集群、云和互联网计算国际研讨会(CCGrid2024)在美国费城隆重举行。来自中国、美国、印度、法国等国家的学术及产业界代表齐聚一堂,围绕云计算相关议题进行深入探讨和交流,并带来最前沿的技术展示。天翼云云网产品事业部弹性网络产品线总监侯叶飞出席大会硬件系......
  • [持续更新中] 创新实训项目
    DeerOJ的前端框架介绍Web文件夹下的结构DeerOJ的前端框架参考了部分Lavarel框架,做到兼顾代码的可维护性和可阅读性。具体的维护目录文件结构如下:注意到web文件夹下的index.php这是整个前端程序的main程序,当服务段收到请求后,根据.htaccess文件指定使用index.php文......
  • 深入探索汇编语言的顶尖级应用领域,包括多核并行处理、物联网和嵌入式系统、高性能计算
    汇编语言初级应用的大纲:1.汇编语言概述介绍汇编语言的基本概念和作用。解释汇编语言与高级语言的区别。简要说明汇编语言的历史和发展。2.汇编语言基础讲解汇编语言的基本语法和结构。介绍汇编语言中的指令、寄存器、内存等概念。解释汇编语言程序的组成部分,如数据段......
  • 【持续更新】创新实训
    项目简介随着互联网+的生态模式和人工智能的产业化发展,程序设计已成为计算机专业乃至工科学生的必备技能之一。学生学习程序设计,不仅能提高代码水平能力,学会如何写代码,如何写好代码,而且能锻炼学生在今后面对项目开发等实际应用场景时解决问题的能力。因此,很多同学在刚刚接触到编......
  • 开源AI智能名片商城系统小程序:构建企业敏捷性与创新力的新引擎
    摘要:在数字化时代,企业正面临前所未有的市场变革。客户需求日新月异,市场竞争日趋激烈。为了在这场变革中立足,企业必须寻求新的解决方案,以提升自身的敏捷性和创新力。开源AI智能名片商城系统小程序,作为一种新兴的技术工具,正以其独特的优势,助力企业迅速响应市场变化,推动产品和服......