|
|
本帖最后由 我輩樹である 于 2025-10-23 11:53 编辑
金秋十月,又到了动物们交配的季节。
随着黄发布GB10的NVIDIA DGX SPARK,LLM小型设备的角逐应该暂时告一段落了。
三个设备的参数(数据均为Gemini从网络收集整理,随缘校对):
| 特性 | Apple M4 Max 满配 | NVIDIA DGX Spark | AMD AI Max+ 395 满配 | | CPU 核心 | 16 (12P + 4E) | 20 ARM (10 X925 + 10 A725) | 16 Zen 5 | | GPU 核心/SMs/CUs | 40 核心 GPU 5120 ALU(A17Pro) | 6144 CUDA Cores (Blackwell) | 40 计算单元 2560 ALU (RDNA 3.5) | | NPU/AI加速器/矩阵指令加速器 | 16 核 Neural Engine | 第五代 Tensor Cores | 专用 AI 引擎 (XDNA 2) | | 制程工艺 | TSMC N3E | TSMC 4N | TSMC 4N | | 统一内存大小 | 128GB | 128GB | 128GB(最大调度96GB) | | FP16/BF16 TFLOPS (GPU) | ~34 | ~100 | ~59 | | INT8 TOPS (GPU) | ~34 | ~200(按1:2比例换算) | ~59 | | INT8/FP4 TOPS (NPU/AI) | 38 (INT8) | 1000 (INT8) / 1 PetaFLOP (FP4稀疏) | 50 (NPU) / 126 (整体) | | 关键精度支持 | FP16, BF16, INT8, MXFP4 | FP16, INT8, FP8, FP6, MXFP4,NVFP4 | FP16, INT8,MXFP4(不支持FP8) | | 内存类型 | LPDDR5X-8533 | LPDDR5X-9400 | LPDDR5X-8000 | | 峰值带宽 (GB/s) | 546 | 301 | 256 | | 总线宽度 (位) | 1024 | 256 | 256 | | 片上互联 | 是 | 否 | 否 | | 网络 | USBV2 80GB | 10GbE,ConnectX7 SmartNIC 200GbE | USBV2 80GB,10GbE | | 生态 | Core ML | TensorRT | MIGraphX |
三种设备运行OpenAI G-P-T-O-S-S 120b(MoE架构,Top4,MXFP4时占用显存在60-70GB)推理任务收集而来的数据如下(数据均为Gemini从网络搜集整理,随缘校对):
| 平台 | 软件栈 | 量化 | 上下文长度 (令牌) | 预填充速度 (令牌/秒) | 解码速度 (令牌/秒) | | NVIDIA DGX Spark | llama.cpp | MXFP4 | 2048 | 1689.47 | 52.87 | | NVIDIA DGX Spark | llama.cpp | MXFP4 | 4096 | 1733.41 | 51.02 | | NVIDIA DGX Spark | llama.cpp | MXFP4 | 8192 | 1705.93 | 48.46 | | NVIDIA DGX Spark | llama.cpp | MXFP4 | 16384 | 1514.78 | 44.78 | | NVIDIA DGX Spark | llama.cpp | MXFP4 | 32768 | 1221.23 | 38.76 | | Apple M4 Max | llama.cpp | MXFP4 | 2048 | 871.16 | 62.85 | | Apple M4 Max | llama.cpp | MXFP4 | 4096 | 643.32 | 56.48 | | Apple M4 Max | llama.cpp | MXFP4 | 8192 | 516.77 | 50.79 | | Apple M4 Max | llama.cpp | MXFP4 | 16384 | 351.42 | 46.2 | | Apple M4 Max | llama.cpp | MXFP4 | 32768 | 235.87 | 40.22 | | Apple M4 Max | MLX | MXFP4 转 Q8 | ~11000 | 350.95 | 32.86 | | Apple M4 Max | 不明 | ~MXFP4 | 短 | - | 50 - 74 | | AMD AI Max+ 395 | Ollama | MXFP4 | 短 | ~3750 | ~30 | | AMD AI Max+ 395 | LM Studio | MXFP4 转 GGUF | 短 | - | 31.41 | | AMD AI Max+ 395 | llama.cpp | MXFP4 | 短 | 526.15 | 43.14 | | AMD AI Max+ 395 | llama.cpp (Vulkan) | MXFP4 转 GGUF | 短 (pp512) | 402.01 | 49.4 | | AMD AI Max+ 395 | llama.cpp (ROCm) | MXFP4 转 GGUF | 短 (pp512) | 711.67 | 40.25 | | AMD AI Max+ 395 | 不明 | MXFP4 | 短 | 293 | ~43 | 注:要看TTFT(首个token输出时间),仅需取 上下文长度 (令牌) 除以 预填充速度 (令牌/秒) 即可。
自问自答几个问题:
1,看GPU还是NPU?
本世代的NPU/AI处理器在设计时主要关注的是无感智能。
LLM的运行显然无法也没必要实现无感,不在设计范畴内。
虽然NPU确实可以运行极小规模的大模型,但现实意义不大。
除了Spark外(Spark基于tensor core),其他两台设备主要还是基于GPU。
2,运行更小的模型性能怎么样?
我觉得这是一个相对不需要讨论的问题。
可以看一下SPARK运行小规格LLM的结果:
3,运行更大的模型性能怎么样?
当前比较热门的,且128GB内存可以运行的大模型有:
Qwen3-235B-A22B(MoE架构,Top8,Q4下占用120-140GB显存,Q3在110GB左右)。
它的尺寸处于边界状态,情况比较复杂。
至于dense或者更大的模型,个人感觉意义已经不大。
首先AMD因为保留内存太多出局。
根据miniforum对MS-S1MAX的宣传稿,可以运行Q2版本。
苹果能跑Q3版本,为了保证TTFT性能,还需要使用UD2.0技术:
https://www.bilibili.com/video/BV1gmEqzDEM3
里面最有希望畅跑的应该是Spark了,目前尚未由相关数据。
4,彼此的优缺点。
苹果和AI395一个显著问题是算力太弱,无专用矩阵乘法加速器。
M系列的构架在M1时代就定型了,设计时并未预料到LLM这个场景的出现。
它们多为富媒体准备,处理音视频。
当时认为文本这种较低维的数据不会有多少计算压力。
后面的故事大家也都知道了。
文本因为LLM而逆天改命,变成压力最大计算最密集的AI应用之一 。
好消息是,苹果在M5这代在神经引擎以外额外安装了神经加速器。
这是一种矩阵加速器,类似于tensor core。
其加速比根据B站UP主在iPhone17上的测试,在2.5到4倍之间(相较于神经引擎,一种向量加速器)。
395和SPARK的问题是并未采用先进封装,所以带宽上尚赶不上苹果。(好处是,395可以赛博神医扩容)
另外395的问题和苹果类似,算力上并不亮眼,并且没有适用于LLM的低精度矩阵加速器。
SPARK虽然看起来也很拉,价格也比较昂贵。
但是看到后面的ConnectX7 SmartNIC 200GbE了么?
老黄从来没说只能买一台!
more you buy more you save。
5,为什么做不好LLM廉价设备。
当前世代的小型设备没法流畅玩耍LLM主要还是缘于构架设计上针对现实任务变化的始料不及(SPARK除外)。
我相信在不远的下一代应该都会做出一些修正。
那么在显存大小满足的前提下,在运行MoE架构的LLM推理任务的时候,业界有没有一个黄金公式,可以让算力和显存带宽刚好不构成瓶颈。
这样就可以用刚刚好的性能、相对便宜的价格构建一个LLM小型硬件,让大家都有的玩呢。
现实是很难了,因为prefill阶段和decode阶段分别是计算密集型和访存密集型。
这等于你要一块田又长又宽面积还要小。这无疑加大了芯片的设计难度。
目前流行的方案除了3D并行外(主要还是集群用)
是在计算密集型设备上进行prefill,然后将kv cache stream到访存密集型设备上进行decode(exo labs的方案):
最后
当前没有完美的设备。
Spark主要在于其价格,nv的设备都是这样,买一台没有意义。
我相信2台或4台互联应该是完全体,但价格来到12w+。
m4max和395的话,看看下一代吧,苹果明确加了神经加速器了。
Strix halo下一代呢,据说位宽会提高一倍,但专用矩阵指令加速单元尚不明确。
另外,除了硬件外还可以寄望于软件层面的创新。
比如最近的光学压缩技术(deepseek ocr),极大的降低了计算量消耗。
视觉令牌与文本令牌的加速比为1:10。
但是现阶段,如果有人或厂家推荐你买上面的设备来跑(不是玩票性质的)AI,他一定是你的好朋友。
|
|