在大模型参数量向数千亿甚至万亿规模推进的过程中,芯片设计面临的核心矛盾已经不只是能不能算得快,而是数据能否在正确的时间到达计算单元。矩阵乘法、注意力分数、KV缓存读写和跨卡同步四类负载同时争夺片上存储与I/O资源,任何一处出现带宽瓶颈都会让算力单元闲置。因此,面向大模型的芯片不能再沿用通用GPU的固定资源配比,必须围绕Transformer的数据流特征做专用化裁剪。

专用架构的价值体现在三个方面:第一,通过脉动阵列或高密度张量核心提高矩阵乘能效;第二,通过软件管理的多级存储缩短数据复用距离;第三,通过高带宽域内互联把单次训练或推理拆到多卡并行。三个维度并非孤立优化,而是在设计早期就要根据目标模型结构和集群规模做联合取舍。
一、专用架构与通用GPU的路线差异
通用GPU把大量晶体管用于灵活调度、图形固定单元和通用缓存,以便兼容各种并行任务。大模型计算负载却高度集中,尤其是Transformer每一层的前馈网络和注意力投影,基本都是大尺寸矩阵乘法。通用GPU的调度器需要维护海量线程状态,对单次矩阵乘而言,指令发射、线程切换和缓存一致性带来的开销占比并不低。相比之下,专用芯片可以把控制逻辑做得非常薄,把节省下来的面积和功耗全部倾斜给计算阵列与片上存储。
以Google TPU和NVIDIA Tensor Core为例,两者都针对矩阵乘做了硬件加速,但路线不同。TPU的MXU更依赖编译器提前排好数据流,芯片内的控制单元只负责按照固定节奏驱动脉动阵列;Tensor Core则嵌在通用CUDA核心体系里,通过复杂调度器兼容更丰富的算子类型。前者的峰值算力密度容易做得更高,后者的通用性可以覆盖动态形状和自定义算子。大模型芯片设计必须在两者之间找位置,尤其是推理场景下算子种类有限,专用化带来的收益会更加明显。
另一个关键差异是数值精度策略。大模型训练和推理已经普遍转向FP8、BF16、INT8甚至INT4混合精度。专用架构可以把不同精度的乘加单元按比例混合,不必像传统GPU那样依赖统一的宽精度数据通路。通过结构化稀疏和动态精度切换,同样面积下的有效算力可以提升两到三倍,但前提是编译器能够准确判断哪些层对精度敏感,哪些参数可以安全量化。
二、矩阵乘法分块与数据搬运调度
大模型中的矩阵乘法不能简单理解为一次性把整个权重矩阵读进计算单元。权重规模远大于片上SRAM,输入激活也持续变化,因此必须把矩阵切成若干小块,让数据在片上尽可能多次复用后再写回HBM。分块大小的选择直接决定计算单元利用率:块太小,数据搬运频繁,带宽压力上升;块太大,片上存储放不下,寄存器溢出到缓存后延迟会不可控。
下面这段伪代码展示了一种权重驻留的分块矩阵乘法调度方式,编译器会根据SRAM容量和脉动阵列尺寸确定具体分块参数。它的核心思想是固定输出分块,在K维度上累加,避免反复读取同一片权重。
# 模拟权重驻留的分块矩阵乘法调度
for m_tile in range(0, M, TM):
for n_tile in range(0, N, TN):
acc = init_accumulator(TM, TN)
for k_tile in range(0, K, TK):
a = load_matrix_a(m_tile, k_tile, TM, TK)
b = load_matrix_b(k_tile, n_tile, TK, TN)
acc = systolic_mac(a, b, acc)
store_accumulator(acc, m_tile, n_tile)
真正的硬件执行不会像普通程序那样逐条循环,而是由DMA引擎和脉动阵列流水线并行工作。以TM为128、TN为128、TK为32的分块为例,每次内层迭代需要从HBM读取两个小块,但在片上可以完成128乘128乘32次乘加操作。如果HBM带宽为3TB/s,脉动阵列算力为500 TFLOPS,分块后的数据复用次数就决定了有效吞吐能不能接近峰值。
软件显式管理存储是专用架构与通用缓存的本质区别。传统GPU依赖L1和L2缓存自动判断哪些数据需要保留,但大模型计算的访问模式完全可以由编译器预知。专用芯片可以把片上SRAM划分为输入激活区、权重驻留区和输出累加区,编译时直接生成搬运指令,避免缓存冲突和替换抖动。这种设计牺牲了运行未知负载的灵活性,却换来了更高的确定性和能效。
三、KV缓存、显存带宽与稀疏化设计
大模型推理阶段,显存压力很大一部分来自KV缓存。随着序列长度增加,每层注意力需要保存历史键值对,多轮对话和长文本场景下,KV缓存可能比模型权重本身还大。芯片设计如果只考虑权重加载带宽,很容易在实际部署中被KV缓存读写拖慢。因此,专用推理芯片通常会把KV缓存压缩、分页管理以及内存容量放在和算力同等重要的位置。
KV缓存压缩可以从两个层面实现:一是通过低比特量化,把FP16键值转为INT8或INT4存储,需要读取时再反量化;二是利用稀疏注意力只保存重要位置的键值。硬件上可以加入反量化单元和稀疏读取引擎,让压缩后的KV数据能够按块加载,避免随机访问造成的DRAM页切换开销。为了支持可变序列长度,芯片的存储控制器还需要处理非对齐地址和动态长度分块,这与训练芯片偏向固定形状的数据通路有所不同。
稀疏化设计同样不能只停留在算法层。2:4结构化剪枝可以把权重矩阵中每四个元素保留两个非零值,硬件通过紧凑格式存储并跳过零值计算。但如果脉动阵列没有对应的稀疏数据解码逻辑,压缩带来的理论收益很难转化为实际加速。专用芯片可以在MAC单元前增加稀疏选择器,根据掩码只向乘法器送入有效操作数,同时让数据搬运路径保持规则化。这样既降低HBM带宽需求,又避免控制流分支破坏流水线。
四、多卡扩展、功耗墙与验证挑战
单个芯片的算力提升受限于光罩面积和功耗,因此大模型训练和推理普遍采用多卡并行。多卡扩展时,单卡峰值算力反而不是最关键指标,端口带宽和拓扑灵活性更影响整体效率。张量并行、流水线并行和数据并行对通信模式要求不同,张量并行需要频繁交换激活分片,对低延迟高带宽的域内互联极其敏感;流水线并行则需要点对点大块传输,更适合通过高带宽端口连接相邻节点。
专用架构可以在芯片中集成更多SerDes通道或片间短距接口,减少经过PCIe交换的层次。比如通过多个50GB/s以上的片间链路组成环形或全连接拓扑,让AllReduce和AllGather操作分散到多个端口同时传输。设计中还要考虑故障隔离,当某条链路失效时,剩余链路能否通过重映射继续工作,这直接关系到大规模集群的可用性。
功耗墙是更现实的约束。大模型芯片如果持续运行在接近峰值算力的状态,单芯片功耗可能超过700W甚至更高,液冷和封装热阻会成为限制频率和激活率的首要因素。前端设计阶段需要与封装团队共同确定供电分区和热点分布,避免矩阵阵列与HBM堆叠区域热量叠加。验证方面,专用架构由于控制逻辑精简,功能验证复杂度虽然低于GPU,但软硬件协同验证要求更高。架构模拟器必须同时建模计算阵列、存储层级和互联拓扑,否则很容易在流片后才发现编译器调度与硬件流水线不匹配,导致实际利用率远低于预期。
总体来看,大模型芯片的专用架构不是简单堆砌乘法器,而是在矩阵计算、存储带宽、互联效率和功耗散热之间找一个持续动态平衡。随着模型结构从稠密Transformer向混合专家和长上下文演进,芯片架构也需要保留足够的可配置性,让张量核心、压缩引擎和片间互联能够根据部署场景重新组合。真正有竞争力的设计,既要能在单一模型上跑出高利用率,也要能在模型迭代后快速通过固件和编译器适配新算子。