一台售价大约2000到3000美元的统一内存迷你主机,可以加载某些经过深度量化的235B级模型,而这些模型无法装进一块 H100级GPU.
这听起来反常,所以让我们把比较讲清楚。昂贵的显卡快得多,但其本地GPU内存更小。桌上的小机器可能拥有更大的共享内存池,所以即使生成速度慢,模型也能加载进去。
关于原理的一词答案是「统一内存」。它出现在许多新款AI迷你主机和Mac的规格表上,作为一个醒目的数字(「128GB统一内存」),但几乎没人解释它到底起什么作用。这正是本文要做的事。读完之后,你会明白什么是统一内存,为什么它能让一台小机器 运行 运行一个曾经需要一整台服务器机架才能承载的模型,而没人写进标题的陷阱是:它运行这个模型的速度很慢。
TL;DR
- 统一内存是芯片的CPU与集成GPU共享的一块物理内存池,而不是独立显卡那块小小的、单独的VRAM与你独立的系统RAM分开存放。
- 这块共享内存池很大,GPU通常能访问到远超独立显卡固定VRAM上限的内存,不过实际可用量取决于平台、固件设置、操作系统和运行时。于是第一个问题变成:这个量化版本能不能装进可用内存?128GB的内存池能容纳24GB或32GB显卡永远装不下的模型。
- 陷阱在于速度,而不是容量。 统一内存传输数据的速度远慢于独立显卡的VRAM。大模型能跑起来,只是生成token的速度很慢。统一内存让你能够运行大模型,而不是快速运行它。
- 「统一」并非只有一种形态。 苹果的实现方式对用户来说大多是不可见的;AMD的实现方式暴露了更多可调选项,因为固件和驱动设置会影响有多少内存被预留给GPU,或者GPU实际能用多少。而内存更多并不意味着更快。
什么是统一内存?
设想两种架构。独立显卡拥有自己的内存(VRAM),紧贴处理器,速度快但容量小。你的系统RAM则是CPU使用的另一块独立内存池。要在GPU上运行模型,数据必须先从系统RAM经PCIe总线复制到VRAM里。两个内存池,一个复制步骤。
统一内存打破了这种分离。它是芯片CPU和集成GPU共同共享的单一物理内存池,让GPU直接从这个共享池中工作,而不依赖一小块单独的VRAM。在Apple Silicon这类平台上,这还省去了过去那道跨PCIe复制数据的步骤。 苹果自己的架构说明 将其描述为CPU和GPU「在同一块内存上工作」,无需通过PCIe总线复制数据。一个内存池,零复制。
这块共享内存池通常是焊接在封装上的LPDDR5X内存,这正是它既能容量大又能贴近处理器的原因。目前最典型的例子是搭载Apple Silicon的Mac、AMD以Ryzen AI Max+ 395等芯片为基础打造的Strix Halo系统,以及Nvidia的DGX Spark。 AMD Ryzen AI Halo开发者平台 标称配备128GB LPDDR5x内存,带宽为256GB/s,而 Nvidia DGX Spark 标称配备128GB LPDDR5x统一系统内存,带宽为273GB/s。
CPU与集成GPU共享内存并不是新事物。笔记本电脑多年来一直这么做,通常是一种妥协:内存慢,而且不多。真正改变的是在可用带宽下的容量。当共享内存池大到足够大,大约达到128GB这一档次,同时又保持足够的速度值得使用时,它就跨过了那条线,使得非常庞大的开放权重模型能够在本地装下。这就是全部故事。架构是旧的,尺寸才是新的。
关于「对比VRAM」的说明:有人问统一内存是不是VRAM。不完全是。VRAM是独立显卡上专用的显存,速度快且独立存在。统一内存则是一块共享内存池,同时承担VRAM和系统RAM的职责。它用独立显卡的原始速度换取了容量和省去复制步骤的能力。
为什么模型必须能装进内存?
对于常规的内存内推理,模型的权重必须驻留在处理器可寻址的内存中。如果可用内存太小,模型就无法在该设备上干净地加载。有些工具可以把模型的一部分卸载到CPU内存或存储中,但这会大幅改变性能表现,和模型舒适地装进GPU可寻址内存完全是两回事。容量是一道硬性关卡,先于任何关于速度的问题。
这正是统一内存所撬动的杠杆。许多消费级显卡的VRAM只有24GB或更少,即便顶级的单块消费级显卡也大约在32GB左右。一个700亿或2350亿参数的模型对此而言实在太大了。235B参数的原始4比特运算量在计入格式开销、运行时缓冲区和上下文内存之前,就已经从大约118GB起步。实际情况中,真正可下载的版本差异很大:比如 Ollama的Qwen3-235B-A22B Q4_K_M版本 标注为142GB,而更激进的低比特量化版本则可能更接近128GB统一内存主机能承受的范围。于是为这项任务打造的显卡还没开始就已经没地方了。(那些内存数字究竟如何计算——参数量乘以每个权重的字节数,再加上文件大小所掩盖的开销——是另一个话题, 关于量化数学的姊妹文章 会做这道算术题。)
128GB统一内存池改变的是一个问题的答案:在操作系统、运行时、KV缓存和GPU分配限制各自占用一部分之后,这个特定的量化版本还能不能装下?对某些激进的235B级量化版本来说,答案是能。这就是为什么一台紧凑的统一内存主机有时能加载一个VRAM更小的GPU装不下的模型。它并不是更强大,只是有更大的空间来存放模型。
这是标题说对了却没解释清楚的第一件事。决定模型能不能跑起来的,是内存池的大小,而不是原始算力。
为什么统一内存比显卡慢?
逐个token生成文本受限于内存 带宽,而不是受限于处理器的运算速度。你生成的每一个token都需要把模型的活跃权重流式送入处理器,所以速度上限取决于内存能以多快的速度喂给芯片数据。这就是文献充分记载的 单流解码的「内存受限」本质,芯片大部分时间都花在等待内存上,而不是在计算上。
而带宽正是统一内存让步的地方。AMD Strix Halo内存池的纸面带宽是256GB/s,llm-tracker.info的独立测试显示实际约为212GB/s。DGX Spark则是273GB/s。相比之下,高端独立显卡的数据传输速度要快上好几倍,它的专用VRAM就是为此而生的。所以当一个模型同时能装进 两者 统一内存主机和独立显卡时,独立显卡生成token的速度明显更快。同一个模型,同样的结果,速度却截然不同。
对于稠密模型,有一个实用的经验法则:
每秒token数 ≈ 内存带宽 ÷ 模型在内存中的大小。
这只是一个方向性的估算,不是基准测试,但它说明了这种权衡:驻留权重更小或带宽更高,通常意味着解码更快。对于MoE模型,不要把这条规则直接套用到总参数量上。容量仍然取决于总的存储权重,但每个token的速度更多取决于被激活的路径、路由开销、缓存行为和具体实现。
还有一个细节,说完就不再展开了:一次请求分两个阶段。读取你的提示词(prefill)依赖计算能力。生成回复(解码)依赖带宽。你感受到的那种慢,文字一个接一个蹦出来,正是受带宽限制的那部分。
所以这就是规格表没写的结论:统一内存让你能够运行大模型,而不是快速运行它。它在容量这一项上赢了,在带宽这一项上输了。这笔交易值不值,完全取决于你打算做什么,而这应该是买之前就权衡清楚的公平取舍,不该是买完才发现的意外。
所有统一内存都一样吗?
不一样。「统一」描述的是一个类别,而不是单一的实现方式,不同版本之间的差异是实实在在的。苹果的版本对用户来说大多是不可见的:内存默认就是共享的。AMD的Strix Halo则需要用户更多插手:固件和驱动设置会影响有多少内存被预留给GPU,或者GPU实际能用多少。两者都是统一内存,但体验并不相同。
让我说出这整个话题最容易催生的一个误解,因为它是最常见的: 内存更多并不意味着推理更快。 它意味着可以运行一个 更大 模型。有人买了一台128GB的主机指望它快,结果加载了一个24GB独立显卡也能装下的模型,却失望地发现它跑得比那块小显卡还慢。这两句话可以同时成立:大内存池能装更多,而小巧快速的显卡在两者都能装下的模型上跑得更快。容量和速度是两个不同的维度,统一内存买到的是第一个。
AMD这边还有一个实际的复杂点:内存池到底有多少能真正用于模型,取决于固件设置和操作系统。 AMD的Variable Graphics Memory常见问答 介绍了这种分配是如何运作的;简单来说,一台128GB的主机不会把全部128GB都交给GPU,可用量取决于VGM设置、预留的系统内存、操作系统和运行时。要按可用内存来规划,而不是按标称数字。
小贴士:在为本地模型挑选机器时,要把规格表当成两个数字来读,而不是一个。容量告诉你哪些模型能装下。带宽告诉你装下之后能跑多快。一台内存池巨大但带宽平平的主机,就是一台会缓慢运行大模型的主机,这也许正是你想要的,只要你事先就清楚这一点。
还有一种情况值得特别提醒,因为它常常让人在这些大内存池主机上栽跟头:混合专家(Mixture-of-Experts)模型。像 Qwen3-235B-A22B 这样的模型总共有2350亿参数,但每个token只激活其中大约220亿。很容易让人误以为这意味着只需要为激活的那部分预留内存。对于常规的内存内推理来说,并非如此。全部2350亿权重仍然需要驻留在运行时可以使用的某处,因为任何一个token都可能被路由到任意一个专家:减少的只是每个token的计算量,而不是容量需求。这正是统一内存的大容量池发挥价值的地方,而 关于量化数学的姊妹文章 会算清楚这些数字最终意味着什么。
常见问题
统一内存和VRAM是一回事吗?
不是。VRAM是内置在独立显卡中的专用高速内存,与系统RAM是分开的。统一内存则是CPU和GPU共用的单一共享内存池,同时承担VRAM和系统RAM的职责。统一内存通常比独立显卡的VRAM容量更大但速度更慢,并且省去了在两个内存池之间复制数据的步骤。
为什么我的本地模型明明装得进内存却还是很慢?
因为装得下和跑得快是两码事。模型能不能加载取决于内存容量;生成文本的速度取决于内存带宽。统一内存容量充裕,但带宽比独立显卡低得多,所以一个能舒适装下的模型仍然可能生成token很慢。对于稠密模型,粗略关系是每秒token数 ≈ 带宽 ÷ 模型大小。对于MoE模型,容量仍取决于总的存储权重,但速度更多取决于激活路径和运行时实现。
有了统一内存还需要GPU吗?
集成GPU本来就是统一内存芯片的一部分,正是它在运行模型。真正的问题是你是否还想要一块独立GPU。许多独立显卡能提供高得多的带宽,也就是更快的生成速度,但本地内存比大型统一内存系统少,所以它们本身可能装不下最大的模型。统一内存给你的是一个能以较低速度装下大模型的大内存池。你想要哪一种,取决于你更看重模型大小还是速度。
为什么迷你主机能运行需要数据中心GPU的模型?
因为加载模型的瓶颈是内存容量,而拥有大型统一内存池的迷你主机,其可用模型内存可能比许多单GPU配置还多。消费级GPU的VRAM可能只有24到32GB,而单块H100级数据中心GPU有80到94GB,与此同时一些统一内存系统标称128GB的共享内存池。模型的权重必须整体装进处理器能触及的地方;大容量共享内存池能装下,小巧快速的VRAM却装不下。迷你主机并不是更强大,它只是空间更大。
能装下就是胜利:需要多少是下一个问题
统一内存的贡献很纯粹:一个巨大的、共享的、可寻址的内存池,让一台小机器能够 装下 装下曾经需要一台服务器才能承载的模型。这就是容量上的胜利。带宽这个陷阱是代价,现在你能读懂规格表,清楚哪个数字决定哪种表现了。
自然而然的下一个问题,正是本文一直在推给别处回答的那个:一个给定的模型到底需要多少内存?这是一道算术题:参数量、每个权重的字节数、你选择的压缩等级,以及文件大小所掩盖的上下文开销。 关于GGUF、GPTQ、AWQ和EXL2量化的姊妹文章 会把这道数学题算清楚,在你为主机选型或挑选模型之前,值得先把这个算清楚。