进入baseline2 开启python编码阶段啦
感想:
开始的晚了一些,准备环境花了好久哦,好在ai可以帮忙安装环境需要的各种包,并且运行的报错也可以解决。
以及硅基流动的免费api超级慢TT,遍历数据花费的时间过长了。
听到分享会上可以用阿里百炼的api,但在调用上还有些问题,接下来要再多试一下。
阅读了一下代码,发现代码是每行调用一次大模型,优化点其实是可以一次性调用完的,这样应该能节省很多时间。 下一步还是要自己优化下代码呀。
我的BaseLine运行后的分数 : 56
本期小白重点
- python环境的安装
- vscode中项目的运行,包的安装:pandas、requests、re、json、tqdm
- 硅基流动注册,api领取, apikey的使用
- 大模型返回值数据错乱的处理。
- 代码逻辑学习
方案思路
1. 模型蒸馏方法
将一个强大的教师模型(如Qwen3-8B)在特定任务上的知识,迁移到我们最终需要微调的学生模型上
具体步骤:
-
表格数据文本化:将结构化的列车时刻表数据(每一行代表一趟列车的信息)转换为易于大模型理解的文本格式。
-
编程生成问题:针对每一行列车数据,我们手动设计问题模板,并通过编程方式(例如Python脚本)批量生成问题。例如,对于“车次”、“检票口”、“终到站”等字段,可以生成“{车次}号车次应该从哪个检票口检票?”、“{车次}次列车的终到站是哪里?”等问题。这种方式确保了生成问题的语法正确性和与表格内容的强相关性。
-
教师模型生成答案:将文本化的列车信息和编程生成的问题作为Prompt输入给一个能力更强的教师模型。教师模型根据其强大的理解和推理能力,为每个问题生成对应的答案。
-
构建SFT数据集:将编程生成的问题和教师模型生成的答案配对,形成{"instruction": "问题", "output": "答案"}的JSON格式数据集。这个数据集就是用于微调学生模型的SFT数据。
-
学生模型LoRA微调:将构建好的SFT数据集上传到讯飞星辰MaaS平台,并使用LoRA技术对选定的基础模型(学生模型)进行微调。微调后的模型将能够根据用户提出的问题,从内部学习到的表格知识中给出准确的回答。
代码块分析
3个代码块
- 读取数据
- 遍历每行,调用大模型,存储返回值
- 将返回值转化为结构化,符合格式的数据,并生成训练数据集对应格式的json
重新上传新的数据集,进行训练.
- 直接使用案例baseline代码,硅基流动api调用花费了小一个小时 TT
- 数据集训练不到10分钟
- 得分56.
分数提升方案
- 提升api速度: 避免遍历,一次性生成返回; 切换api源
- prompt提升,增强对复杂数据的对应
- 挑战:python编码是新的挑战呀