端侧设备跑大模型时,最常见的卡点不是算力不够,而是内存不够快、不够大。统一内存架构的思路是让处理器和图形处理器共享同一块物理内存,不再各自维护独立的显存和内存拷贝。数据不需要在两块内存之间来回搬运,理论上既省带宽又省延迟。

统一内存带来的第一个好处是零拷贝。传统分离式架构下,模型权重从内存拷入显存、中间结果再拷回内存,每次拷贝都要占用总线带宽。统一内存让计算单元直接访问同一地址空间,指针传递代替了数据搬运。对推理这种权重反复读取、中间激活频繁生成的负载来说,省下的拷贝开销相当可观。

第二个好处是内存利用更灵活。分离式架构中显存容量固定,模型稍大就装不下;统一内存则可以根据当前任务动态分配,推理时多给模型权重,别的任务需要时再释放。这种弹性对内存容量本就紧张的端侧设备很有价值,也让更大参数规模的模型有了落地的可能。

但统一内存并没有让内存墙消失,而是把矛盾换了形式。首先是带宽共享。处理器、图形处理器、神经网络加速器和显示引擎都在争用同一条内存总线,高峰期互相干扰,推理延迟会出现抖动。其次是容量天花板。统一内存通常采用板载封装,容量扩展不如独立显卡灵活,模型规模一旦超过物理内存,依然要靠量化、剪枝或分片加载来解决。

实际选型时要看三个指标。一是内存带宽与算力的比值,带宽跟不上算力时,大算力只能空转。二是量化后的实际内存占用,权重精度从十六位降到八位或四位,占用几乎成比例下降,但精度损失需要实测验证。三是长上下文场景下的键值缓存增长,上下文越长,缓存占用的内存越大,统一内存的弹性优势在这里最容易被消耗殆尽。

统一内存架构的意义在于改变了内存管理的范式,而不是一劳永逸地解决了容量问题。把它理解为一种更灵活的资源调度方式,再配上量化、缓存复用和算子融合等优化手段,端侧推理才能在有限的硬件预算里跑出可用的体验。对开发者来说,统一内存的编程模型也更简单,同一份数据不需要维护两套指针,调试内存问题时的心智负担明显降低。