研究与算法:把论文、训练和实验结果接起来
解释研究问题、基线、数据切分、微调和误差分析,让技术经历能够被完整理解。
01研究从可回答的问题开始
“做大模型”是领域名称,不是一个可以直接验证的研究问题。更具体的问题可能是:在某类长文档查询中,给检索片段补充章节上下文,是否能减少条件遗漏?这个问题需要说明任务、数据、比较方法与评价标准,才能设计实验。
阅读论文时,可以沿问题、方法、比较、结果与限制梳理。方法的名称有助于交流,但真正重要的是它改变了哪一步、解决了什么假设下的问题。研究实习常需要把这种理解进一步落实为实验;算法实习可能更侧重既定任务中的实际效果优化。
02基线与对照为什么重要
基线是比较的参照,可以是简单规则、已有模型或当前系统。一个复杂方法的结果不错,并不能说明复杂部分有用,仍需比较相称的方案。如果新方法使用更多数据、更长输入或更多计算,应说明这些变化,否则难以解释收益来自哪里。
消融实验通过改变某个组成部分观察影响。例如比较“原检索”“补充上下文的检索”“补充上下文并重排”,可以帮助区分两项改动的作用。实验不只是追求最高分,还用于判断方法在什么条件下有效,失败样本又说明了什么。
03数据切分发生在训练之前
训练集用于学习参数,验证集用于选方案,测试集用于最终评价。预处理也可能泄漏信息:如果先用全部数据选择特征、计算标准化参数,再划分训练与测试,测试信息已经影响了模型建设。需要从训练数据学习的变换,应在训练部分拟合,再应用到其他部分。
同一用户、同一文档的相似片段或连续时间记录之间可能相关。随机拆行不一定能模拟真实使用场景。应根据任务判断按用户、文档或时间划分是否更合理,并清楚说明评价的是新样本、新用户还是未来时间的数据。
| 过程 | 需要说明的内容 |
|---|---|
| 数据准备 | 样本来自哪里,标签怎样得到,是否包含近重复内容 |
| 训练 | 基础模型、输入输出、优化目标与可训练参数 |
| 选择方案 | 依据哪个验证集和指标进行比较 |
| 最终评价 | 测试条件、指标定义和主要失败类别 |
| 结果解释 | 哪些结论由实验支持,哪些场景尚未覆盖 |
04SFT、LoRA 与 RAG 的关系
监督微调(SFT)使用输入与目标输出等监督样本继续训练模型。LoRA 是一种参数高效适配方法:通常冻结基础权重,学习较小的低秩更新矩阵,以减少需要训练的参数。它描述“怎样更新参数”,而 SFT 描述训练任务与监督方式,两者可以同时使用。
RAG 则侧重回答时检索外部材料,通常不在该步骤更新模型参数。因此“做了 LoRA”并不能说明训练数据怎样构造,“用了 RAG”也不能说明检索质量如何。介绍技术方案时,要分别解释数据、模型、训练或检索流程,以及评价方式。
05结果需要回到错误与使用条件
总体指标可能掩盖不同问题。例如检索平均效果提升,但对制度编号的精确查询变差;模型回答更完整,却产生更长等待。误差分析需要把结果回到具体样本和任务条件,而不是只列一个提升百分比。
解释一段研究或算法经历,可以按照“研究问题—数据与基线—本人实现—实验观察—失败原因”展开。若工作基于公开代码,应说明自己修改的部分;若只完成复现,也可以清楚讲出复现条件与发现。能解释一个不理想的实验为何不支持假设,通常比只展示最好一次结果更有内容。