微信扫码
添加专属顾问
我要投稿
文|庞德公
编辑|郭嘉
若在阅读过程中有些知识点存在盲区,可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果构建生成级别的AI架构则可以关注AI架构设计。技术宅麻烦死磕LLM背后的基础模型。当然最重要的是订阅跟随“鲁班模锤”。
Mamba自从出道就一直被拿来和Transformer对比,文章巨多,带着标题的爆炸性字样“颠覆Transfomer”,“全面包围”等等。文章深浅不一,小编认为其背后的设计思路以及演化过程更加重要。为此本专题将从山上有座庙开始,沿着RNN、SSM、S4、HIPPO一路走来。期间抛弃冗杂的文辞,以更接地气的模式协助读者打开新的逻辑思维。
状态空间
状态空间模型
状态空间模型(SSM)是用于描述这些状态表示并根据某些输入预测一个状态的模型。在时间t(请注意t是时间的意思,它不使用离散序列,而是将连续序列作为输入并预测输出序列):
上图输入为连续信号u,输出为连续信号y。中间x为状态变量(上一章节的h),A为状态矩阵,主要用于将上个状态xt-1转换为xt,B为输入矩阵,C为输出矩阵,D为前馈矩阵。
假设输入向量为x(d维),输出向量为y(q维),状态向量为h(n维)。值得一提,在原始模型输入输出的维度不一定要一致。那么矩阵A维度为n*n,矩阵B的维度为n*d,矩阵C的维度为q*n,矩阵D的维度为q*d。上图的例子,输入n和输出q均为3维,中间状态向量为4维
运算的公式如下图。也可以直观的看出,h的状态更新是采用新的输入和上一轮的中间状态,这点和RNN相似。输出则由状态h和输入运算分别乘以两个矩阵累加而运算完成。<这里有个有趣的作业,请带着下面的式子去推敲下上图的矩阵运算,看看能够对得上>
行文至此,应该没有太过多的技术障碍,读者还是要完全的消化这些内容,例如状态空间模型的参数,运算模式,运行的原理。否则会迷失在后面的丛林之中。
最后值得一提的是这个模型是时不变(time-invariant)系统,时不变系统是输出不会直接随着时间变化的系统。任意时间延迟的输入将得到相同时间延迟的输出(ABCD其实可以带上时间参数,那就是时变系统,延时输入会导致不同的输出)。
这里带出一个概念LTI(线性时不变)。时不变已经解释了,线性的意思大概就是f(a+b)= f(a)+ f(b)。该模型是一个连续(continuous)的,若要运用到实际的场景需要做一些变化,例如将输入离散转连续,得到连续输出在将结果离散化。
离散到连续
如果连续信号的输入,要找到状态来表示h(t)在分析上的确很有挑战。而且要是想将状态空间模型运用到大模型,首先还是要解决离散与连续互转的问题。毕竟大模型输入是离散的,经过Embedding之后的向量序列。
上图为离散转连续,下图为连续转离散。当然离散化还有很多算法,在Mamba中被采用的也是ZOH。
而在Mamba的原始论文中,它改造连续SSM的过程则围绕着将连续矩阵参数 (Δ,A,B) 调整为离散化参数矩阵(Anew,Bnew)。算法如下,公式能看则看。
同时Δ,A,B按照ZOH的思路进行调整与设计,得到它们的实现方式:
回到本章,到了这里已经完成了将连续的SSM转化为离散SSM,那么就可以开始进一步的后续运用了。注意的是下标从t变为k(k代表离散的每一步),参数也从A,B变成了(Anew,Bnew)。当然训练过程中还是保存参数矩阵A,使用的使用才离散化。
拥有了离散的SSM,就能够稍微远离微积分,用矩阵运算来解决一切。下图展示离散每一步的迭代计算过程,会不会让你想起了上一章节RNN。还是那句话透过现象看本质,现象会随着时间不断地产生事件xt。而人类会不断从这些事件中捕获内在的本质hk。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-01
2025-01-01
2024-08-13
2025-02-04
2024-04-25
2024-07-25
2024-06-13
2024-09-23
2024-04-26
2024-08-21
2025-03-09
2025-03-08
2025-03-08
2025-03-08
2025-03-07
2025-03-07
2025-03-07
2025-03-05