拓冰建站拓冰建站
首页 / 资讯中心 / 正文

从基向量搬迁到算术强度陷阱:给大模型工程师的线代解构

几乎所有入门材料都会给你同一个比喻:np.ndarray的二维形态就是矩阵,矩阵就是一张按行列排好的数字表。这个比喻很省事,也确实够你把A @ B写对。可它解释不了紧接着发生的每一件事——为什么行数列数必须那样对上;为什么nn.Linear存权重偏要存成(out_features, in_features)这个看起来反过来的形状;为什么同一份权重、同样多的乘加,换个乘法顺序墙钟时间能差出一个数量级;为什么有人把一层权重换成两个瘦矩阵还不掉点,有人换完精度直接崩。表格这个比喻在第一个问题上就已经不够用了:格子里放什么它管得住,格子代表哪里它管不住。而后面所有的坑,坑的都是“哪里”。矩阵的每一列记的是一个基向量被搬到了哪里。本文从二十行手写matmul与np.matmul的对拍起步,推出乘法为什么是列的线性组合、结合律怎么把同样的 FLOPs 差出十九倍;再用行列式、秩与条件数改写可逆性判据,把nn.Linear的y = xA^T + b拆回换基加平移,用幂迭代盯住方向不变的特征向量,用 SVD 把矩阵摊成一串外积并量 Eckart-Young 的截断误差,验 PCA 走 SVD 而非协方差特征分解的数值理由,再算低秩替换在算术强度上翻车的那一档,收在 shape 与广播的三种翻车上。适合写高性能 C++ 或做大模型算法、而线代记忆还停在应试层的工程师。二十行手写 matmul,和它藏起来的那个断言先把东西做出来。矩阵乘法的教科书定义是“
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门