@yibie:宣布我最近的项目:strata-mlx。Strata 太棒了:它可以运行拥有 1250 亿参数的混合专家模型 Qwen……

X AI KOLs Timeline 工具

摘要

yibie 发布了 strata-mlx,这是一款面向 Mac 的非官方 MLX 推理引擎,可从 Strata 的 GGUF 文件运行 125B MoE 模型 Qwen3.8-Flash-Next,生成速度达到 llama.cpp 的 1.7–2.9 倍,并支持内存较小的 Mac 将专家卸载到 SSD。

介绍一下我最近的项目:strata-mlx Strata 很棒:它可以在一张 12 GB 显卡上运行拥有 125B 参数的混合专家模型 Qwen3.8-Flash-Next。但它的作者表示,macOS 不在支持范围内。 我还是想让它在 Mac 上跑起来。 于是我花了一天半时间编写了 strata-mlx。这是一个非官方的 MLX 引擎,借鉴了 Strata 的设计,可以直接读取 Strata 的 GGUF 文件,无需修改权重。 我在一台配备 128 GB 内存的 M4 Max MacBook Pro 上开发它,经过一次又一次实验,终于取得了一些成果。以下单位均为 token/秒,越高越好;Q2_0 和 IQ3_S 是该模型的两个文件,大小分别为 66 GB 和 84 GB。 生成回复(左侧 Q2_0,右侧 IQ3_S):strata-mlx 的速度是 llama.cpp 的 1.7–2.9 倍,是 LM Studio 的 1.6–2.6 倍 strata-mlx:Q2_0 68–111,IQ3_S 65–95 strata-mlx,不使用草稿头:44–67,43–56 llama.cpp llama-server 0.4.1:38–39,35–36 LM Studio 0.4.25:43,40 读取一段 1,180 token 的提示词:strata-mlx 的速度是 llama.cpp 的 1.04–1.17 倍,是 LM Studio 的 1.20–1.36 倍 strata-mlx:570–578,510–517 strata-mlx,不使用草稿头:595–612,504–515 llama.cpp llama-server 0.4.1:494–495,488–489 LM Studio 0.4.25:426–446,421–424 草稿头是模型内置的一个模块,它先预测接下来的几个 token,再由模型一次性验证这些 token;它只用于生成阶段,读取提示词时不使用它反而会稍快一些,而另外两个引擎都没有使用它。 我做这件事的最初动机是:并不是每台 Mac 都有 128 GB 内存。在无法容纳整个模型的 Mac 上,strata-mlx 会将能放得下的专家保留在内存中,其余专家则在处理每个 token 时按需从 SSD 读取。根据引擎自身的估算,48 GB 内存的 Mac 可以完整加载 Q2_0 文件,无需访问磁盘;如果内存更小,就需要在运行过程中从 SSD 读取。 我限制了自己这台 Mac 的可用内存,模拟低内存机器进行测试:这个 66 GB 的文件在 16 GB 机器的内存条件下可以达到 6–7 token/秒,24 GB 时为 19–23,32 GB 时为 28–47。在这种模式下,读取一段 1,537 token 的提示词的速度为 273–287 token/秒。 所以,低内存 Mac 可以运行远大于自身内存容量的模型,但运行速度无法保证。 希望有人能为这个项目做贡献,测试它在不同内存容量的 Mac 设备上运行大语言模型的性能。这样我就能持续改进它。 代码、实验日志和未解决的问题:
查看原文
查看缓存全文

缓存时间: 2026/10/11 02:59

介绍一下我最近的项目:strata-mlx

Strata 非常出色:它能在一张 12 GB 显卡上运行拥有 125B 参数的混合专家模型 Qwen3.8-Flash-Next。但它的作者表示,macOS 不在支持范围内。

我还是想让它在 Mac 上跑起来。

于是我花了一天半写了 strata-mlx。这是一个非官方的 MLX 引擎,借鉴了 Strata 的设计,可以直接读取 Strata 的 GGUF 文件,无需修改权重。

我在一台配备 128 GB 内存的 M4 Max MacBook Pro 上开发它,经过一次又一次实验,终于取得了一些成果。下面的单位均为 token/秒,越高越好;Q2_0 和 IQ3_S 是该模型的两个文件,大小分别为 66 GB 和 84 GB。

生成回复(左侧 Q2_0,右侧 IQ3_S):strata-mlx 的速度是 llama.cpp 的 1.7–2.9 倍,是 LM Studio 的 1.6–2.6 倍 strata-mlx:Q2_0 68–111,IQ3_S 65–95 strata-mlx,不使用草稿头:44–67,43–56 llama.cpp llama-server 0.4.1:38–39,35–36 LM Studio 0.4.25:43,40

读取一段 1,180 token 的提示词:strata-mlx 的速度是 llama.cpp 的 1.04–1.17 倍,是 LM Studio 的 1.20–1.36 倍 strata-mlx:570–578,510–517 strata-mlx,不使用草稿头:595–612,504–515 llama.cpp llama-server 0.4.1:494–495,488–489 LM Studio 0.4.25:426–446,421–424

草稿头是模型内置的一个模块,它先预测接下来的几个 token,再由模型一次性验证这些预测;它只用于生成,而在读取提示词时,不使用它反而略快一些,另外两个引擎则都没有使用它。

我做这个项目的最初动机是:并不是每台 Mac 都有 128 GB 内存。在无法容纳整个模型的 Mac 上,strata-mlx 会将内存能容纳的专家保留在内存中,其余专家则在处理每个 token 时按需从 SSD 读取。根据引擎自身的估算,48 GB 内存的 Mac 就能完整加载 Q2_0 文件,无需访问磁盘;如果内存更小,就需要在运行过程中从 SSD 读取。

我限制了自己这台 Mac 的可用内存,模拟低内存机器进行测试:这个 66 GB 的文件在 16 GB 内存限制下能达到 6–7 token/秒,24 GB 下为 19–23,32 GB 下为 28–47。在这种模式下,读取一段 1,537 token 的提示词的速度为 273–287 token/秒。

所以,低内存的 Mac 也能运行远大于自身内存容量的模型,但运行速度无法保证。

希望有人能为这个项目做出贡献,测试它在不同内存容量的 Mac 设备上运行大语言模型的性能。这样我就能持续改进它。

代码、实验日志和未解决的问题:

相似文章

@yibie:strata-mlx 更新:・被其他请求中断的长对话不再重新读取。对于一个 10,000 token 的对话,下一轮输出首字符的时间从 19.7 秒降至 0.26 秒(M4 Max,需要添加 --conversation-cache-mib)

X AI KOLs Timeline

strata-mlx 更新:中断的长对话不再重读,10K token 会话的首字符输出时间从 19.7 秒降至 0.26 秒(M4 Max),并优化了 32 GB Mac 的内存管理,避免 swap。该项目是运行 Qwen3.8-Flash-Next 等 125B MoE 模型的 Apple Silicon MLX 推理引擎,吞吐量显著优于 llama.cpp 和 LM Studio。

@lencx_:这几天我被 Strata 信息刷屏了——它在 𝕏 和 Hacker News 上引起了大量关注。Mac M 芯片是否有类似的优化?据我所知,目前只有 antirez/ds4。

X AI KOLs Timeline

作者指出 Strata 的热度正持续升温,这是一款开源的本地 LLM 推理引擎,主打量化版 125B Qwen3.8-Flash-Next;同时将其与 antirez 的 ds4(DwarfStar)引擎进行对比,指出两者都支持投机解码、CPU/GPU 协同推理,并可集成 Claude Code 和 Codex 等工具。