Janas Open-Source Engine Streams MoE Experts from SSD to Run 48GB Models on 32GB Laptops with 9x Speedup
Janas releases an open-source LLM inference engine that streams Mixture-of-Experts weights directly from NVMe SSDs, enabling 48GB models to run on laptops with only 32GB RAM. Benchmarks show a generation speed of 24 tok/s, nearly 9 times faster than llama.cpp's 2.8 tok/s, significantly lowering hardware barriers for local deployment.
Full Report
Contents2 sections
Janas
在一台配备 32 GB 内存的笔记本电脑上,Qwen3-Next-80B(一个 48 GB 的模型)达到了 37 tok/s;在不使用草稿模型的情况下为 24 tok/s,而 llama.cpp 仅为 2.8 tok/s;读取提示词时速度为 62 tok/s,对比 llama.cpp 的 16 tok/s。 在同一台笔记本电脑(Debian 13 Linux、Intel Core Ultra 9 185H、其集成 Arc GPU、32 GB 内存、NVMe SSD;测试时间为 2026 年 10 月 9-11 日;整机配置见下文)上,Janas-LLM 在所有对比模型上的表现均快于 llama.cpp:
| 模型 | 读取 1,024 tokens: Janas-LLM | llama.cpp | 生成: Janas-LLM | llama.cpp |
|---|---|---|---|---|
| Qwen3-Next-80B-A3B (48.4 GB, 超出内存容量) | 62 tok/s | 16 tok/s | 24 tok/s | 2.8 tok/s |
| Qwen3-Coder-Next (48.4 GB, 超出内存容量) | 66 tok/s | 14 tok/s | 22 tok/s | 2.2 tok/s |
| Qwen3.6-35B-A3B | 104 tok/s | 79 tok/s | 19 tok/s | 12 tok/s |
| Qwen3-30B-A3B | 135 tok/s | 122 tok/s | 32 tok/s | 15 tok/s |
| Gemma-4-26B-A4B-it | 84 tok/s | 76 tok/s | 18 tok/s | 12 tok/s |
| Gemma-4-12B-it | 65 tok/s | 46 tok/s | 9.9 tok/s | 7.1 tok/s |
| Qwen3.5-9B | 111 tok/s | 78 tok/s | 14 tok/s | 8.7 tok/s |
| Gemma-4-E4B-it | 122 tok/s | 109 tok/s | 20 tok/s | 15 tok/s |
| Qwen3-4B | 193 tok/s | 164 tok/s | 27 tok/s | 18 tok/s |
| Gemma-4-E2B-it | 191 tok/s | 150 tok/s | 38 tok/s | 19 tok/s |
| Qwen3.5-2B | 441 tok/s | 323 tok/s | 52 tok/s | 28 tok/s |
| Qwen3.5-0.8B | 799 tok/s | 519 tok/s | 109 tok/s | 32 tok/s |
| Qwen3-0.6B | 939 tok/s | 670 tok/s | 130 tok/s | 45 tok/s |
旁边目录中由其他社区维护的同款模型数据:
| 模型 | 读取 1,024 tokens: Janas-LLM | llama.cpp | 生成: Janas-LLM | llama.cpp |
|---|---|---|---|---|
| Qwen3-30B-A3B, bartowski 的 Q4_K_M (importance matrix) | 131 tok/s | 122 tok/s | 32 tok/s | 16 tok/s |
| Qwen3-30B-A3B, unsloth 的 UD-Q3_K_XL (3 bits) | 100 tok/s | 112 tok/s | 36 tok/s | 11 tok/s |
| Qwen3-4B, bartowski 的 Q4_K_M (importance matrix) | 191 tok/s | 160 tok/s | 26 tok/s | 18 tok/s |
有一个例外:3-bit 量化版本的 Qwen3-30B-A3B 在读取阶段略慢于 llama.cpp,但在生成阶段仍快得多。这是因为该模型的权重尚未完全适配到 GPU 加速路径。
测量方法说明:所有基准测试均在相同硬件和软件环境下进行,使用 llama-bench 标准工具链。"读取"指预填充(prefill)阶段处理 1,024 个 token 的速度,"生成"指解码(decode)阶段的平均 token 生成速率。数值为多次运行的中位数,误差范围 ±3%。
curl -LO https://github.com/prabanta-dev/janas/releases/latest/download/janas-linux-x86_64.tar.gz
tar xf janas-linux-x86_64.tar.gz && cd janas
./janas-chat # 它支持的模型:选择一个,程序会自动下载并校验或在 Windows 10(1903 或更高版本)和 11、x86-64 架构上:下载 janas-windows-x86_64.zip,解压后,在其 janas 文件夹中的终端里运行 .\janas-chat。在同一台笔记本电脑的 Windows 11(2026 年 10 月 12 日)环境下,Janas-LLM 的生成速度与 Linux 相当(Qwen3-4B 为 25.6 tok/s,Qwen3-30B-A3B 为 34.2),提示词读取速度在混合专家模型下同样快(Qwen3-30B-A3B 为 132 tok/s),而在稠密模型下则快 1.8 倍(Qwen3-4B 为 346 tok/s,对比 Linux 下的 193),这是因为其完整的数据块通过 Intel 自家的 Windows 驱动程序直接送入 GPU。
这些模型已从 Hugging Face 预先转换完毕;若要从源代码构建,请参阅:快速开始。
▄███████████▄
▄███████████████▄
███ ▄ █████ ▄ ███ ▄ J A N A S
███▄▄▄█████▄▄▄████
▀█████▄▀▀▀▄█████▀ ▀ a family of tools for artificial intelligence, in C
█████████████
█ █ █ █ █ █ █ █
▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀ Janas 是一系列用于人工智能的工具,使用 C 语言编写,除了 C 标准库外没有任何其他依赖。其首个组件 Janas-LLM 能够在普通计算机上运行大型混合专家(mixture-of-experts)语言模型,无论是否配备 GPU:权重存储在磁盘上,每个 token 所需的专家从 NVMe SSD 流式加载,而频繁访问的部分则保留在内存中。一个拥有 800 亿参数的模型可以在配备 32 GB RAM 的笔记本电脑上运行并生成回答。
由 Maurizio "camauri" Cammalleri 设计与编写。
⚠️ 请先阅读此部分
这是一个实验项目,而非成熟产品。
| 阶段 | 早期开发。公共 API 和命令行接口随时可能变更且不予通知,每周甚至会有多次改动。模型文件是例外:发布在 Hugging Face 上的 .jns 文件(格式版本 2)将被 Janas-LLM 的所有后续版本兼容读取。 |
| 稳定性 | 未经验证。 该引擎有意对机器施加高负载:它会用专家缓存填满空闲内存,并以 O_DIRECT 模式全速读取磁盘。如果机器的可用资源低于其预期,桌面环境可能会被迫使用交换空间(swap),导致运行缓慢或无响应。曾有一次使用 GPU 导致驱动程序重置,进而使整个桌面环境崩溃。 |
| 数据 | 它仅在 ~/.cache/janas 中写入数据(存储关于你机器的学习信息,以及已读取的系统消息以避免重复读取),以及在你指定的位置存放转换后的模型。它不会修改所读取的模型文件。 |
| 硬件 | 在单台机器上开发和运行(详见下文)。在其他任何硬件上均未测试:速度可能更慢,可能拒绝加载模型,或出现异常行为。 |
如果出现任何问题,按 Ctrl-C 可停止回复,按 Ctrl-D 可退出聊天;使用 --cache <GiB> 参数可对其占用的内存设置硬性上限,而设置环境变量 JANAS_GPU=0 则可完全禁用 GPU 加速。
原生开发环境
本仓库中的所有代码均在以下环境中编写和测量:
- Linux Debian 13 (trixie),x86-64 架构,内核 6.12.107;GPU 驱动 Mesa 26.1.6 (Vulkan);使用 GCC 14.2 构建
- Intel Core Ultra 9 185H(6 个性能核,8 个能效核,2 个低功耗核;支持 AVX2, FMA, F16C, AVX-VNNI;集成 Arc GPU)
- 32 GB DDR5 内存
- 1 TB NVMe SSD(读取速度约 5.7 GB/s)
Windows 版本在同一台笔记本电脑的 Windows 11(Build 26300)环境下运行,使用 Intel 官方图形驱动程序:其测试在该环境下通过,具体性能表现请参见上文 “在 Windows 上运行” 部分。
引擎的所有决策均基于其实时测量结果,因此在不同机器上会做出不同的选择——这部分设计旨在具备跨平台适应性。尚未尝试过的场景包括:其他 CPU(特别是缺乏 AVX-VNNI 指令集的处理器,或 AMD 处理器)、独立显卡、低速磁盘,以及不同大小的内存配置。如果你在其他硬件上运行,janas-bench 生成的报告是你所能反馈的最有价值的信息(请参阅 帮助其在更多硬件上运行)。
(注:更多技术实现细节与完整 API 文档请查阅原项目 README)