Transformer解析
- 精细的抽象,记忆空间特别大
-
大数据,大算力,大模型
-
scaling特性,可以训练很大的模型,用很多数据获得更多智能
- “硬件彩票”,高强度对着GPU设计,能打满GPU利用率
- 在nlp问题里面,通过逐个处理新的token,递归得进行抽象
- 使用少量的权重对自然语言逐个token进行计算
- 先用kq权重映射到当前token对应的空间,再用v权重映射到输出
- 通过多层叠加,使得kqv权重能表达整个sequence的范围
- 通过少量权重、大量的计算扩展了表达空间
- weight的存储效率非常高,充分的训练,提高了对样本抽象的质量
缺点
- 记忆和人类不一致,而且没有统一的表达,不通用
- 没有自主意识,还是在算概率,逃不开数学上的特征分割,虽然不能证明当前的数学基础、梯度下降是错误的,但是AGI肯定不是只有这些,AGI更多的是一种复杂的工程,而不是简单几个公式
- Transformer架构个在处理长上下文时,会受到二次复杂度(浪费算力),以及长度外推能力弱的限制。
Attention
- 每层每个token计算的输入是前面所有token的key和value
- 从信息流的角度来看,不是一个树形的拓扑
- 实际上一段自然语言通过字、词、短语、句子等层级结构组合出表达的语义
- 类比于卷积的空间约束,自然语言语义应该需要树形层级结构的约束
- 所以可以采用KV cache进行缓存并加速
- 从信息流的角度来看,不是一个树形的拓扑
- 多层之间不能共享权重
- 动态性欠缺
- 随序列长度增加而变慢的attention机制
- 从信息量来说,句子长了,包含的信息肯定是变多了,空间复杂度在O(T)和O(1)之间
- Transformer 的时间复杂度为:O (T^2)、空间复杂度为:O (T^2)
- RWKV的固定大小的status存储器也是不合理的(不考虑外部记忆),时间复杂度为:O(T)、空间复杂度为 O(1)
- 相对于人脑,每个新的token都要重新计算一遍底层的语义,而不是直接根据前面语句的总结进行调整
- 缺乏更高维度的动态性
- MOE、CoT、稀疏 都能提高动态性能力
- 从信息量来说,句子长了,包含的信息肯定是变多了,空间复杂度在O(T)和O(1)之间
- 速度显存恒定的FFN全连接网络
System2
- Transformer被认为做不了System 2,现在RL+CoT可能推翻了这种说法
接口API
- transformer利用了语言的特性,在attention中间,使用自然语言作为通用的输入输出接口和表达
- attention中间的输入输出都是用于表达语言的一个序列的特征。
- 这个序列非常重要,因为序列都是由编码的token组成,可以非常灵活得表示一个非常复杂的语义
- 那么这个跟语言其实是有异曲同工的效果,语言也使用
- 很多个文字来表达一个语意,每个文字的空间不是很大
- 搜索空间
- 就比如说汉字也就几千个字 transformer相当于是在模仿语言,
- 把整个模型的搜索空间限制为自然语言这个尺度(约束),极大缩小了模型的搜索空间
研究者认为
LLM之所以在简单理解任务中无法提供准确且稳定答案,是因为这些模型缺乏对语言的真正理解:它们生成的词语如同语义「黑箱」,只是近似于语言的表面统计和解析过程中较「自动化」的部分。
此外,LLM并不适合作为语言理论,因为它们的表征能力几乎是无限的,这使得它们的表征既是任意的,又缺乏解释性基础,属于通用函数逼近器这一类别,而后者已被证明能够逼近任何数学函数 。
较自动化部分,表示抽象不够高级,只是对低级别的概念进行抽象,不能进行高级别的抽象。虽然级别低,但是AI的信息容量足够大,和人类比,更像是记忆力很好的书呆子
它们看似合理的表现,隐藏了语言建模方法本身固有的缺陷:智能实际上无法作为统计推断的副产品而自然产生,理解意义的能力也不能由此产生。
No Comments