Early Stopping:为什么"提前终止"能拯救你的模型免于过拟合
训练一个神经网络时,最令人沮丧的场景莫过于:训练损失持续下降,模型在训练集上的表现越来越好,但当你把它部署到真实环境时,效果却一塌糊涂。过拟合——这个困扰深度学习实践者的问题,有一个看似简单却异常有效的解决方案:Early Stopping(早停法)。 ...
训练一个神经网络时,最令人沮丧的场景莫过于:训练损失持续下降,模型在训练集上的表现越来越好,但当你把它部署到真实环境时,效果却一塌糊涂。过拟合——这个困扰深度学习实践者的问题,有一个看似简单却异常有效的解决方案:Early Stopping(早停法)。 ...
一行代码的魔法 在PyTorch中实现一个简单的语言模型时,你可能会看到这样一行看似普通的代码: self.lm_head.weight = self.embedding.weight 这行代码做的事情非常简单:让输出层的权重指针直接指向嵌入层的权重。但就是这样一行代码,却能够为一个典型的70亿参数大模型节省约2亿个参数——相当于模型总参数量的3%左右。 ...
引言:一个被误读了四十年的算法 如果你问一个机器学习从业者:“反向传播算法是谁发明的?“大多数人的回答会是:“Geoffrey Hinton和他的合作者在1986年提出的。“这个答案听起来理所当然——毕竟,Hinton被称为"深度学习之父”,而那篇发表在《Nature》上的论文《Learning representations by back-propagating errors》至今仍被奉为经典。 ...
2014年,Diederik Kingma和Jimmy Ba在ICLR上发表了一篇论文,标题平淡无奇——《Adam: A Method for Stochastic Optimization》。没有人预料到,这篇论文中的算法会在接下来的十年里统治深度学习训练领域。时至今日,无论是GPT、LLaMA还是Stable Diffusion,几乎所有大模型的训练日志里都能看到"optimizer=AdamW"的字样。 ...
训练大模型时,显存总是第一个瓶颈。以一个拥有70亿参数的LLaMA 7B模型为例,仅存储FP32权重就需要约28GB显存。再加上梯度、优化器状态和中间激活值,即使是一张A100 80GB显卡也可能捉襟见肘。 ...
2015年3月,Geoffrey Hinton在arXiv上发表了一篇只有9页的论文,标题是《Distilling the Knowledge in a Neural Network》。这篇论文没有提出什么新的网络架构,也没有刷新任何榜单,却彻底改变了模型部署的游戏规则。 ...
2017年,Vaswani等人在《Attention Is All You Need》中提出了Transformer架构,用纯粹的注意力机制取代了循环神经网络。然而,这个革命性的架构有一个致命缺陷:自注意力机制天生不知道顺序。 ...