铭鸿体育资讯网

ntirez>总结了下自己最近做的大模型推理引擎的工作,并开始研究分布式推理的技

ntirez>总结了下自己最近做的大模型推理引擎的工作,并开始研究分布式推理的技术方向,特别提出了一种多模型融合推理方式:-----------------在 DwarfStar 中进行分布式大语言模型推理

高端 NVIDIA 显卡,以及运行这些显卡所需的服务器和电力,价格都很高。尤其是当你想获得足够多的显存,用来运行超大模型时,成本会非常夸张。

到目前为止,替代方案主要是 Apple 硬件,或者 DGX Spark。DGX Spark 虽然受到内存带宽的严重限制,但仍然可以让大语言模型的提示词处理阶段跑得足够快。

Mac Studio 最高可以提供 512GB 统一内存。它的内存带宽不算特别高,但比 DGX Spark 好不少。考虑到当前形势,它的价格总体还算相对合理。

例如,使用 DwarfStar 时,Mac Studio M3 Ultra 512GB 可以运行 DeepSeek v4 PRO。提示词处理速度大约是每秒 150 个词元,生成速度大约是每秒 10 到 13 个词元。这个速度不算特别好,但对某些使用场景来说已经可用。

即使做成 2 位量化版本,DeepSeek v4 PRO 的能力仍然保持得很好,和同样量化后的 Flash 类似。今天我让 PRO 写了一个 C 编译器,之后会发布视频。能用大约 1.2 万美元的总投入,在家里运行一个前沿模型,我不认为这是小事。

人们可能会期待情况越来越好,但眼下的前景并不明朗。NVIDIA 方案几乎看不到降价希望。即使是一家小公司,也很难轻松购买和维护一个用于本地推理的小型数据中心。

与此同时,内存短缺也让 Mac Studio 出现 M5 Ultra 版本变得不太确定。假如它能有每秒 1.2TB 的内存带宽和更强算力,那本来会很有吸引力。M5 Max 在算力方面已经更快,而且每个图形处理核心里都有神经网络加速器,这对某些模型有帮助。

所以,本地推理目前的局面是:最好的机器可能是一台笔记本。M5 Max 128GB 可以运行 2 位量化后的 DeepSeek v4 Flash 和 Mimo V2.5,而且提示词处理速度和生成速度都相当不错。

具体来说,提示词处理速度大约是每秒 500 个词元,生成速度大约是每秒 35 到 40 个词元。随着上下文长度增加,性能下降曲线也在可以接受的范围内。根据配置不同,价格大约在 6000 到 7000 美元之间。这目前是性价比很高的选择之一。

在这种情况下,对于本地推理项目整体,以及 DwarfStar 这个项目本身来说,研究分布式推理就开始变得有意思了。假如我们有两台、三台、四台 MacBook M5 Max,会怎样?或者有两台配备 512GB 内存的 M3 Ultra,又能做什么?

传统上,运行分布式推理主要有两种方式。

第一种方式是把模型层分到不同机器上。例如,在计算机 A 上加载一半 Transformer 层,在计算机 B 上加载另一半,然后按顺序执行推理。

这种方式只需要在机器之间传输中间激活值,概念上非常简单。通过一些微批处理技巧,理论上不仅可以突破单机内存限制,还可以显著提高提示词处理速度。不过,它不能提高单个词元的生成速度。因为生成一个词元时,必须先等机器 A 处理前半部分层,再等机器 B 处理后半部分层,以此类推。

但这也不算差。至少热量会分散到不同机器上,所以可以承受更长时间的持续负载。例如,幸运地拥有两台 512GB Mac Studio 的人,可以运行完整尺寸的 DeepSeek v4 PRO。即使 2 位量化版本已经跑得非常好,配合微批处理后,提示词处理速度仍然可以更快。

第二种方式是使用 Apple 的远程直接内存访问技术,让两台机器并行执行。本质上,这是一种纵向划分。

例如,可以尝试在机器 A 和机器 B 上都加载相同的 2 位量化模型。这样两边都能放得下模型,而且每一边都拥有全部路由专家。

然后,对于每一层,我们可以做必要的协调,让一半专家在机器 A 上执行,另一半专家在机器 B 上执行。注意,两台机器都有全部专家,所以无论路由器选择哪些专家,我们都可以把 50% 的计算交给另一台机器。而且需要传输的中间激活值很小。

这种方式对 PRO 版本更可行,因为 PRO 的路由专家规模大得多,所以通信开销的影响相对更小。不过,这种方式到底能不能运行得足够好,还需要验证。

你可能会想到张量并行,对吧?但我认为,在两台 Apple 电脑、两台 DGX Spark 之类设备之间,以现有通信速度来看,这基本不可行。看看 NVLink 的速度就明白了。前面两种方式之所以有吸引力,关键就在于它们需要传输的数据非常少。

到这里,你可能会想:这不就是大家都知道的并行运行大语言模型的方法吗?确实如此。但这篇文章正是为了引出这个问题:假如我们能用一种完全不同的方式,让两台 Mac 或 DGX 并行起来呢?

开放权重模型现在正处在黄金时代。我们有很多模型,其中不少都非常强。在 128GB 内存、2 位量化这个类别里,有很多有意思的选择:Minimax M2.7、Mimo V2.5、DeepSeek v4 Flash,还有其他一些模型。

与此同时,最近有人指出,大语言模型集成是一种研究不足的可能性。它允许两个模型在两台不同机器上以完全互不共享状态的方式运行,最后只合并原始预测分数,或者选择更好的后续生成内容。

实现方式有很多种。即使两个模型使用不同词表,也可以工作。你可以选择困惑度更低的后续生成内容,也就是选择那个更有把握的模型。这有点像一个双专家的混合专家模型,只不过专家选择是隐式发生的。

也可以把两个模型的原始预测分数合并,然后从合并结果中采样。不过,由于两个模型的词表可能不同,这里面会有一些复杂问题。

更新近的论文表明,把这两种技术混合起来,可能是最好的办法。无论如何,这些技术看起来确实有效:多个模型组合后的表现似乎比单独模型更好。就好像它们的知识得到了增强,因为每个模型都为“接下来该说什么”带来了自己的视角。

除了前面两种方法之外,这也许是最值得尝试的第三种方式之一。我真的希望接下来几个月能找到时间,多做一些相关实验。

AI创造营