Datawhale AI 夏令营-大模型微调-Task1

一、赛事背景

在教育领域,传统的出题方式通常依赖于教师的个人经验和教学大纲的要求,这种方式虽然稳定可靠,但存在一些局限性。例如,传统出题可能缺乏足够的多样性和个性化,无法满足不同学习能力和兴趣学生的需要。同时,教师在出题时需要投入大量的时间和精力,这个过程往往较为繁琐且效率不高。

随着人工智能技术的快速发展,大模型正成为推动个性化学习与智能教育的关键力量。特别是在语言学科的教学中,利用大模型完成Question Answer Generation (QAG)过程可以有效赋能QA题型的出题流程。我们希望通过竞赛,激发开发者的创新思维,为我国的教育发展“提质增效”。

二、赛事任务

通过微调大模型根据阅读片段生成高考中英文阅读模拟题及答案,助力教育事业。

限定在讯飞大模型定制训练平台上使用spark-13b微调模型来实现。

三、跑通baseline

根据速通手册(Datawhale (linklearner.com))即可丝滑完成,这里不再赘述。

四、代码理解

中文问答数据制作

  1. 数据读取与清洗

    df = pd.read_excel('训练集-语文.xlsx')
    df = df.replace('.', '.', regex=True)
    df = df.replace('(', '(', regex=True)

    读取Excel文件到Pandas DataFrame中,并使用正则表达式将中文标点替换为对应的英文标点。

  2. 提取特定行内容

    second_row_option_content = df.loc[2, '选项']
    print(second_row_option_content)

    提取了DataFrame中第三行(索引为2,因为索引从0开始)的‘选项’列的内容,并打印出来。

  3. 中文选择题处理

    def chinese_multiple_choice_questions(questions_with_answers):

    处理中文选择题,使用正则表达式来识别问题和选项,并将它们组织成字典格式。

  4. 中文答案处理

    def chinese_multiple_choice_answers(questions_with_answers):

    处理中文答案,通过正则表达式匹配问题编号和对应的答案。

  5. 生成中文问答数据

    def process_cn(df): 

    结合了上述两个函数,用于生成中文的问答数据。遍历DataFrame中的每一行,提取选项和答案,并使用get_prompt_cn函数生成提示信息。

英语问答数据制作

  1. 数据读取与清洗

    df = pd.read_excel('训练集-英语.xlsx')
    df = df.replace('.', '.', regex=True).replace('А.', 'A.', regex=True)

    读取Excel文件,并替换其中的中文句号和俄文字母为相应的英文标点和字母。

  2. 去除空格和换行

    def remove_whitespace_and_newlines(input_string):
  3. 提取英语答案

    def get_answers(text):

    使用正则表达式从文本中提取选择题的答案。

  4. 提取英语问题

    def get_questions(text):

    使用正则表达式从文本中提取问题及其选项。

  5. 生成英语问答数据

    def process_en(df): 

    该函数结合了提取问题和答案的函数,用于生成英语的问答数据。遍历DataFrame中的每一行,提取选项和答案,并使用get_prompt_en函数生成提示信息。

  6. 转换为DataFrame并导出为JSONL

    df_new = pd.DataFrame({'input': 
    cn_input+cn_input[:30]+en_input+en_input[:20], 'output': 
    cn_output+cn_output[:30]+en_output+en_output[:20]})

    将生成的问答数据转换为一个新的DataFrame,并导出为JSONL格式的文件。

  7. 本地测试

    from sparkai.llm.llm import ChatSparkLLM, ChunkPrintHandler

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值