一、提分思路:
1. 训练&微调模型提升解决逻辑推理问题的能力。
1.1 lora相关微调的方案:
- Low-Rank adaptation, LoRA:通过减少训练的参数数量,使得训练的参数更少,但是却能获得与微调基本相当的性能。(将参数W的原始矩阵d × d,设置为两个新的矩阵A d × r 和 B r × d)。
- LoRA+:为矩阵a和b引入不同的学习率,将矩阵B的学习率设置为远高于矩阵A的学习率。
- VeRA(Vector-based Random Matrix Adaptation):添加两个新的向量d和B,微调的时候只训练向量d和B。
- LoRA- FA:矩阵A在初始化后被冻结,因此作为随机投影。矩阵B不是添加新的向量,而是在用零初始化之后进行训练。
- LoRA-drop:Lora矩阵可以添加到神经网络的任何一层。LoRA-drop则引入了一种算法来决定哪些层由LoRA微调,哪些层不需要。
- AdaLoRA:建议考虑将LoRA矩阵的奇异值作为其重要性的指标。
- DoRA:将预训练矩阵W分离为大小为1 x d的大小向量m和方向矩阵V,从而独立训练大小和方向。然后方向矩阵V通过B* a增强,然后m按原样训练。
- Delta-LoRA:提出用AB的梯度来更新矩阵W, AB的梯度是A*B在连续两个时间步长的差。这个梯度用超参数λ进行缩放,λ控制新训练对预训练权重的影响应该有多大。
1.2 pfet库
1.3 全量微调
2. 使用各种prompt工程、agent系统方案,达到模型解决逻辑推理问题的能力边界。
2.1 agent如何优化?
Agent = 大语言模型(LLM) + 观察 + 思考 + 行动 + 记忆
与人类进行类比:
-
大语言模型(LLM):LLM作为智能体的“大脑”部分,使其能够处理信息,从交互中学习,做出决策并执行行动。
-
观察:这是智能体的感知机制,使其能够感知其环境。智能体可能会接收来自另一个智能体的文本消息、来自监视摄像头的视觉数据或来自客户服务录音的音频等一系列信号。这些观察构成了所有后续行动的基础。
-
思考:思考过程涉及分析观察结果和记忆内容并考虑可能的行动。这是智能体内部的决策过程,其可能由LLM进行驱动。
-
行动:这些是智能体对其思考和观察的显式响应。行动可以是利用 LLM 生成代码,或是手动预定义的操作,如阅读本地文件。此外,智能体还可以执行使用工具的操作,包括在互联网上搜索天气,使用计算器进行数学计算等。
-
记忆:智能体的记忆存储过去的经验。这对学习至关重要,因为它允许智能体参考先前的结果并据此调整未来的行动。
优化:
-
一个agent在启动后他会观察自己能获取到的信息,加入自己的记忆中
-
下一步进行思考,决定下一步的行动,也就是从Action1,Action2,Action3中选择执行的Action
-
决定行动后,紧接着就执行对应行动,得到这个环节的结果
二、agent设计思路以判别器agent设计思路为例
2.1 agent设计思路
agent1_分析器:对题目进行分析,给出可能的结果。
agent2_评分器:对答案的合理性排序,最后给出可能性最大的答案。
2.2 如何让agent速度更快
- 使用更强大的大模型做好训练数据。
- 得到第一个agent结果后封装送入第二个agent在生成,最后将两套数据准备好。
三、Docker 存储与部署
Docker基础命令与常规操作:AI开发者的Docker实践 -AI学习-阿里云天池
四、赛题限制与模型选择方案
核心限制有三部分:
- 提交docker内存限制50G。
- 推理与评测时间限制为3个小时,镜像运行服务器为单卡V100(32G显存版本)。
- 容器中无可用网络
五、数据集扩充思路
5.1 数据集子问题扩充
参考训练集500条中的每个问题背景,在提出的子问题之外再生成一些问题。
5.2 数据集问题扩充
参考训练集500条中的每个问题,再生成类似的problem,question。