Softmax的数值稳定性:为什么一行简单的代码能让训练崩溃
你花了数天清洗数据,精心调参,终于启动了训练。Loss曲线漂亮地下降,一切似乎都很顺利。突然,屏幕上跳出一个刺眼的 nan——整个训练过程在瞬间崩溃。 ...
你花了数天清洗数据,精心调参,终于启动了训练。Loss曲线漂亮地下降,一切似乎都很顺利。突然,屏幕上跳出一个刺眼的 nan——整个训练过程在瞬间崩溃。 ...
2023年10月,一篇名为 FP8-LM 的论文在 arXiv 上发布,研究团队用8位浮点数完成了 GPT-175B 的训练——内存占用减少39%,训练速度提升75%。这并非孤例,QLoRA 更是将模型压缩到4位,却依然保持着与16位训练相当的微调效果。这些数字背后的数学原理,揭示了深度学习一个反直觉的特性:神经网络对数值精度的要求,远比我们想象的要低。 ...
打开浏览器的开发者工具,在控制台输入0.1 + 0.2。结果不是0.3,而是0.30000000000000004。 这不是JavaScript的bug。Python、Java、C、Rust——几乎所有主流语言都会给出同样的答案。你的编程语言没有错,错的可能是你对计算机如何处理数字的直觉。 ...