大语言模型能否从单样本中学习?
在微调大语言模型(LLM)时,我们观察到一种异常的训练模式。最初以为这是错误,但后来发现这可能表明LLM能从单样本中高效学习。
神经网络如何学习
神经网络分类器通过输入输出示例进行训练,学习从输入预测输出。例如,展示狗和猫的图片及品种,模型学会从图像猜测品种。训练过程中,模型尝试减少损失(即预测错误的频率),每个批次后计算训练集损失,并定期计算验证集损失。
异常损失曲线
在Kaggle LLM科学竞赛中,我们训练模型3个周期后,观察到损失曲线出现异常:每个周期结束时损失突然下降。类似曲线通常由错误导致,但多位开发者报告了相同现象,即使使用自定义训练循环。假设模型仅需1-2个样本即可记忆输入。
深入探究
假设模型通过单样本快速记忆。实验使用周期性学习率计划(CLR)和1周期训练,结果显示:
- CLR实验:第二周期训练损失骤降,验证损失恶化,表明模型记忆训练集但未提升泛化能力。
- 1周期训练:验证损失在第三周期才恶化,与模型置信度提升时间一致。
记忆假设的合理性
预训练大语言模型可能具有平滑的损失曲面,微调时权重调整幅度小。Adam优化器的动态学习率可能使步长大幅增加,加速记忆。
后续影响
模型快速学习带来新挑战:
- 灾难性遗忘:罕见反例可能覆盖常见模式。
- 数据增强效果减弱:模型可能从不同形式输入中提取相同信息。
- 缓解方案:增加dropout或随机深度等技术,或使用混合数据集训练。
欢迎通过Twitter讨论其他假设或实证结果。