ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

内存减半,速度快61%:Amis 的 AI Storage Expansion 如何突破本地大模型内存天花板

内存减半,速度快61%:Amis 的 AI Storage Expansion 如何突破本地大模型内存天花板

【免费下载链接】Amis

🖥️ A local-first desktop workspace for private agents, local models, runtime visibility, and local/cloud routing.

项目地址:https://gitcode.com/gh_mirrors/amis/Amis
点击查看免费下载

想让 35B 级别的大模型在普通电脑上跑起来,最大的拦路虎是内存。Amis-LocalAI 通过 AI Storage Expansion 技术,把 35B 级 MoE 模型的内存占用从 21.8 GB 压到 10.8 GB,同时预填充速度还快了 61%。本文面向新手讲清楚:这个技术解决了什么问题、由哪四层构成,以及实测数据怎么读。

为什么本地大模型总是"内存不够用"

问题出在两条曲线背道而驰:

  • 模型越来越大:一个 235B-A22B 的 MoE 模型,Q4 量化后也需要约 140 GB 快速内存;
  • 消费级内存没跟上:手机通常只有 4–8 GB,高端 MacBook 也止步于 64 GB。

llama.cpp/Ollama是最优秀的 GGUF 运行时,LM Studio的本地体验最好,但它们都有一个共同前提——模型得能塞进内存。塞不进去,就只能回到云端,账单照涨。

Amis-LocalAI 的定位非常聚焦:就是要在消费级设备上把这块"内存天花板"掀掉,尤其针对 MoE(混合专家)架构的开源模型。项目首页 README.md 开篇就写明了这一目标。

四层运行时栈:AI Storage Expansion 如何工作

Amis-LocalAI 不是一个单点优化,而是一套四层运行时栈,每层解决一个具体问题:

层技术解决什么
1MoE-aware 稀疏激活每个 token 只激活它真正需要的专家,其余专家保持"冷"状态,不必常驻内存
2AI Storage Expansion把高速 NVMe 存储变成 DRAM 的受管扩展:热张量常驻内存,冷权重从 SSD 流式读取,可寻址的权重空间不再受限于物理内存
3页感知内存映射与预取预测下一步计算要触碰哪些权重页,提前从 SSD 拉取,让延迟不被 SSD 寻址拖垮
4CPU 优先调度默认在 CPU 上运行,检测到 iGPU / dGPU / NPU 时机会性卸载加速

核心思想一句话概括:内存装不下没关系,让 NVMe SSD 成为内存的"第二层"。配合 MoE 模型"每步只用一小部分专家"的特性,大部分权重可以安心留在 SSD 上,按页流式读入,而预取机制保证读取跑在计算前面。

项目首页中的原理图完整展示了这套栈的结构,详见 README.md 的 "How it works" 一节。

实测数据:同机、同模型,内存 10.8 GB vs 21.8 GB

最有说服力的是同机同模型的正面对比。测试模型为Qwen3.5-35B-A3B(34.66B 参数、Q4_K_M 量化、GGUF 格式),设备是一台消费级 AI PC(Intel Core Ultra 9 285H),纯 CPU 推理,不使用 GPU:

指标基线 llama.cppAmis-LocalAI差距
内存占用(预填充阶段)21.8 GB10.8 GB−50%
内存占用(解码阶段)23.3 GB10.8 GB−54%
预填充速度(pp512)78.92 ± 8.74 t/s127.37 ± 2.96 t/s+61%
解码速度(tg1024)6.20 ± 0.15 t/s6.32 ± 0.12 t/s持平
线程数1410更少

几个容易被忽略、但很关键的细节(完整日志见 docs/benchmarks/qwen3-5-35b-a3b-u9-285h.md):

  • 内存还更稳:基线从预填充的 21.8 GB 涨到解码阶段的 23.3 GB,Amis-LocalAI 全程稳定在 10.8 GB;
  • 不是 mmap 的功劳:Amis-LocalAI 使用了mmap=0(-mmp 0)关闭内存映射,省下的内存是运行时栈本身的能力;
  • 线程更少还更快:只用 10 个线程(基线 14 个),预填充反而快了 61%;
  • MoE 稀疏激活参数可见于命令行的-nkmoe 15 -ncmoe 99 -tmoe 4 -llmoe等专属参数,控制热专家常驻与冷专家流的策略。

另外还有一个单点预览数据:DeepSeek-V4-Flash Q2在 15 GB 内存下跑出 428.50 t/s 预填充 / 17.39 t/s 解码(记录见 docs/benchmarks/deepseek-v4-flash-preview.md,平台规格确认后才会对外引用)。

桌面端怎么用:模型广场里的本地部署

Amis 桌面端为这套运行时提供了完整的产品界面。进入"模型广场 → 本地模型部署",选择一个模型(例如 Qwen3.6-35B-A3B),右侧会显示三块关键信息:

  1. 模型卡:参数规模、GGUF 格式、量化方式、内存需求与建议预留空间;
  2. 本机环境检测:芯片、总内存、当前可用内存、CPU 核心、GPU、磁盘剩余,并直接给出"兼容 / 内存紧张"的判断;
  3. 运行参数:启动模式(Mix / GPU)、线程数、GPU Layers 等,支持保存为自定义 profile。

这套界面对应的源码位于 src/renderer/src/components/model-hub/,其中 deviceDetection.ts 负责本机硬件检测,ModelActivationPage.tsx 是模型激活主页面。

想自己复现基准测试?克隆仓库后按 README.md 的 Quickstart 一节执行llama-bench命令即可,完整的硬件、模型文件、命令与原始输出都已归档在 docs/benchmarks/ 目录下,每个数字都可溯源。

新手常见问题(FAQ)

需要 GPU 吗?不需要。默认目标是CPU 优先,iGPU / dGPU / NPU 仅作机会性卸载。上面的正面对比就是纯 CPU(-ngl 0)跑出来的。

会不会把 SSD 读写坏?推理是读为主的负载:运行时只是把冷权重页流式读入,几乎不重写。现代 NVMe SSD 的 TBW(可写入量)评级普遍在数百 TB 起步,日常交互使用离保修磨损上限非常远。

它是 llama.cpp 的另一个分支吗?不是。预览构建基于ik_llama,沿用 GGUF 生态;真正的工作在上层——AI Storage Expansion、MoE 感知激活与页感知调度,这些与 llama.cpp 本身优化的维度正交。

能上生产环境了吗?目前是preview(预览)阶段:Qwen3.5 系列已验证、Apple Silicon 在预览中,Qwen3.6、Llama、DeepSeek-R1、GLM 等家族在路线图上。独立发行版、OpenAI 兼容本地端点、一行安装(brew/apt/pip/ Docker)都已在 Roadmap 中。

和 Amis 桌面应用什么关系?桌面应用是基于这套运行时构建的独立产品面,其文档归档在 README.desktop-app.md,首页 README 则专注运行时本身。

写在最后

AI Storage Expansion 的本质,是把"内存容量"这个硬件约束转化为"存储带宽调度"这个软件问题。对于想在 MacBook、迷你主机或 AI PC 上私有化运行开源大模型的用户来说,它给出了一条不靠加内存、不靠上云的路径:同一台机器,一半的内存,更快的响应。

  • 项目首页与技术说明:README.md
  • 基准测试归档目录:docs/benchmarks/
  • 桌面端模型广场源码:src/renderer/src/components/model-hub/

【免费下载链接】Amis

🖥️ A local-first desktop workspace for private agents, local models, runtime visibility, and local/cloud routing.

项目地址:https://gitcode.com/gh_mirrors/amis/Amis
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表