RNN为什么无法记住超过二十步的信息:从梯度消失到现代序列模型的四十年技术突围
1986年,Michael I. Jordan在研究认知心理学时提出了一个革命性的想法:让神经网络拥有"记忆"。这个被称为Jordan网络的架构,首次实现了神经网络对序列数据的处理能力。四年后,Jeffrey Elman简化了这个设计,创造了现在被称为简单循环网络(SRN)的经典RNN架构。 ...
1986年,Michael I. Jordan在研究认知心理学时提出了一个革命性的想法:让神经网络拥有"记忆"。这个被称为Jordan网络的架构,首次实现了神经网络对序列数据的处理能力。四年后,Jeffrey Elman简化了这个设计,创造了现在被称为简单循环网络(SRN)的经典RNN架构。 ...
一个被忽视的基本问题 2017年,当Vaswani等人在论文《Attention is All You Need》中提出Transformer架构时,他们做出了一个看似合理的假设:模型应该能够外推到比训练时更长的序列。原论文中写道:“我们推测它可能外推到比训练时遇到的序列更长的序列。” ...
当你打开ChatGPT输入"你好"两个字,模型看到的是什么? 它看到的不是汉字,不是笔画,甚至不是图像像素。它看到的是两个整数:[22024, 22845]。 ...
2014年,Diederik Kingma和Jimmy Ba在ICLR上发表了一篇论文,标题平淡无奇——《Adam: A Method for Stochastic Optimization》。没有人预料到,这篇论文中的算法会在接下来的十年里统治深度学习训练领域。时至今日,无论是GPT、LLaMA还是Stable Diffusion,几乎所有大模型的训练日志里都能看到"optimizer=AdamW"的字样。 ...
引言:一个被低估的关键环节 当你向ChatGPT提问"法国的首都是哪里",它会毫不犹豫地回答"巴黎"。但如果你问"写一个创意故事",同样的模型可能每次都会给出不同的开头。这种差异的背后,隐藏着大语言模型最基础却又最关键的技术环节——解码策略。 ...
当你调用一个大语言模型的API时,通常会传入类似这样的结构: messages = [ {"role": "system", "content": "你是一个有帮助的助手。"}, {"role": "user", "content": "你好!"}, {"role": "assistant", "content": "你好!有什么可以帮助你的吗?"}, {"role": "user", "content": "2+2等于多少?"}, ] 这个整洁的消息列表,在送入模型之前,会被转换成一段连续的文本。问题是:这段文本长什么样? ...