2024 Datawhale AI夏令营第三期AI+逻辑推理
从零入门AI+逻辑推理 是 Datawhale 2024 年 AI 夏令营第三期的学习活动(“AI+逻辑推理”方向),基于“第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估” 开展学习活动
task1
1.准备工作(领取api,搭建环境)
2.下载所需要的文件,导入环境
、
3.一键跑通代码之后,下载所得upload文件提交,得到第一次的分数。
完成了一个任务,跑了自己人身中第一次ai模型运算。
然后根据教程中的建议,继续学习赛题的相关知识。
前文所导入的文件之一 round1_test_data.jsonl为测试集文件(不包含answer字段),并且每一行代表一条反应。
然后本次比赛的得分判断标准为
所有子问题的回答准确率,满分为一分。
task2
task3
本次任务在于实现大模型的微调和融合,运用到lora微调技术,大模型本体的意义在于”做的到“,而lora的意义在于用小空间换取“做的好”,在特化的方面做的更好。
注意本次运行中会出现一个小问题,在文档中也有提示
具体问题为
在根据流程的执行过程中,遇到改语句
缺少前面提到的训练集文件round1_test_data.jsonl
将文件下载后导入到同一目录文件夹下即可解决问题。
本程序根据lora训练,模型融合,vllm加速,baseline2运行,得到结果步骤运行。
任务步骤
1.运行终端,下载所需文件
git clone https://www.modelscope.cn/datasets/Datawhale/DW2024_Complex_reasoning_ability_assessment_qwen2-7b-lora.git
2.训练并获得微调lora模型
运行lora.ipynb文件,根据步骤训练获得所需要的微调lora模型。
然后测试微调模型,通过模型调用生成测试结果,可以修改lora_path 获得不同答案。
并且运行模型合并ora微调后的模型融入到原模型中。
3.开启vllm加速(可以大幅提升语言模型服务的吞吐量和内存使用效率)
打开start_vllm.ipynb,执行后通过vllm的类openai接口将微调后的模型部署到8000端口。
实现vllm api调用。
然后需要把vllm挂机先放在后台,会持续输出
4.启动strat_vllm.ipynb放在后台不要动,运行baseline2_main.ipynb
运行baseline2过程中会遇到前文提到的错误,上传相应的文件继续运行即可,然后完整运行后可以得到结果。
在运行过程中采用多路LLM投票
思路介绍:所谓的“多路召回策略”就是指采用不同的策略、特征或者简单模型,分别召回一部分候选集,然后再把这些候选集混合在一起后供后续排序模型使用的策略。
设计投票函数:通过三次结果推理,将选择答案最多的结果作为最终结果
设计多路LLM:改写process函数,三次调用llm,做出现次数统计,最终返回投票数最多的结果。
5.提交结果,成绩获得
可以看到正确率还是有很大的提升的。