Skip to content

Releases: Headmaster218/MoE4All

MoE4All v1.0.3

Choose a tag to compare

@github-actions github-actions released this 16 Oct 14:37
6fd46c4

What's Changed

Full Changelog: release-1.0.2...release-1.0.3

Build provenance: exact commit 6fd46c4a7a347ed67ad28cf10e49b0dcfd59a45b, artifact source rebuilt.

Linux x86_64 is experimental: requires glibc 2.35+, Bash 4.3+, standard Linux utilities and a Vulkan GPU driver; no Python or jq is needed to launch. GPU inference and upgrading across real systems need community validation. / Linux 包为实验性版本,请反馈驱动、推理及更新兼容性问题。

macOS arm64 / Metal is experimental. The package runs on Apple Silicon with the system zsh and standard Apple utilities; Homebrew, Python, jq and a Rust toolchain are not runtime dependencies. Text run/serve/bench and explicit MTP are included. Metal serving is currently single-slot; Vision and Embedding are not yet available. The binary is ad-hoc signed but not Apple-notarized. / macOS Apple Silicon 包为实验版,请反馈模型兼容性与性能问题。

1.0.3 Release Note:

  • 修复核显、UMA 设备在自动激进模式下 RAM 预算被重复收缩的问题,避免内存充足时仍出现固定权重加载失败。
  • 修复 Windows、Linux、macOS 启动向导遇到启动错误时直接退出、错误信息来不及查看的问题。
  • 优化 CI 与发版构建缓存,统一三平台产物校验,并确保 Release 只复用同一提交生成的已验证产物。

MoE4All v1.0.2

Choose a tag to compare

@github-actions github-actions released this 15 Oct 20:06
56e1b31

What's Changed

Full Changelog: release-1.0.1...release-1.0.2

macOS arm64 / Metal is experimental. The package runs on Apple Silicon with the system zsh and standard Apple utilities; Homebrew, Python, jq and a Rust toolchain are not runtime dependencies. Text run/serve/bench and explicit MTP are included. Metal serving is currently single-slot; Vision and Embedding are not yet available. The binary is ad-hoc signed but not Apple-notarized; if Gatekeeper blocks it, remove quarantine from the extracted package with the system xattr command documented in the README. / macOS Apple Silicon 包为实验版,请反馈模型兼容性与性能问题。

Linux x86_64 is experimental: requires glibc 2.35+, Bash 4.3+, standard Linux utilities and a Vulkan GPU driver; no Python or jq is needed to launch. GPU inference and upgrading across real systems need community validation. / Linux 包为实验性版本,请反馈驱动、推理及更新兼容性问题。

MoE4All v1.0.2 Hotfix

  • 修复 Windows 自动更新:显示下载进度,更新后自动启动新版。
  • 修复 Linux 自动更新后的版本校验与自动重启。
  • 更新失败时自动回滚,并保留配置、模型记录和 KV 缓存。
  • 新增实验性 Apple Silicon macOS Metal 发行包。

MoE4All v1.0.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 11:22
c39b4b8

What's Changed

Full Changelog: release-1.0.0...release-1.0.1

Linux x86_64 is experimental: requires glibc 2.35+, Bash 4.3+, standard Linux utilities and a Vulkan GPU driver; no Python or jq is needed to launch. GPU inference and upgrading across real systems need community validation. / Linux 包为实验性版本,请反馈驱动、推理及更新兼容性问题。

MoE4All v1.0.1 Hotfix

  • 修复核显及 UMA 设备重复占用系统内存的问题。
  • 修复 Qwen3.6 35B 多并发时的显存分配与执行异常。
  • GPU-resident Decode 统一支持最多八行并行执行。
  • Presence Penalty 和 Frequency Penalty 支持直接在 Vulkan GPU 上计算。
  • 修复 Vulkan Timeline 配置未正确生效的问题。

建议所有 v1.0.0 用户更新,尤其是核显、UMA 和 Qwen3.6 35B 多并发用户。

MoE4All v1.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:06
67ef49f

MoE4All 1.0.0

  • 引入 GPU Resident 分页 MoE Decode,减少层间调度与专家 Miss 恢复空挡。
  • 完善 FlashNext 与 Qwen3.5/Qwen3.6 35B 的单路、双路和三路并发推理。
  • 优化 Q8 长上下文注意力、宽投影、FlashNext Decode Kernel 与四 Token MTP 验证。
  • 新增 Qwen3.5/Qwen3.6 原生视觉支持和模型对应的思考强度控制。
  • Windows 与 Linux 启动向导新增模型下载中心,支持主模型、视觉和 Embedding 多选下载、进度显示、断点续传与失败重试。
  • Linux 启动流程与 Windows 对齐,无需 Python 或 jq,并修复 mawk 兼容问题。
  • 修复自动 RAM 预算、UMA 重复缓存、Prefill 重复读取硬盘及分页资源清理问题。
  • 修复 Qwen3.6 重复输出倾向、并发 suffix checkpoint、过期 SSD KV 状态和启动向导卡顿。
  • 更新 30K/150K、1/2/3 路性能数据、Strata 对比及多卡专家分配参考。

Full Changelog: release-0.10.0...release-1.0.0

Linux x86_64 is experimental: requires glibc 2.35+, Bash 4.3+, standard Linux utilities and a Vulkan GPU driver; no Python or jq is needed to launch. GPU inference and upgrading across real systems need community validation. / Linux 包为实验性版本,请反馈驱动、推理及更新兼容性问题。

MoE4All v0.10.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 06:28
7b4a941

What's Changed

Full Changelog: release-0.9.0...release-0.10.0

MoE4All v0.10.0

  • 推理提速:优化 Prefill、单路及多路 Decode,减少 CPU 同步、小算子开销,并改善专家传输与计算重叠。
  • 显存利用优化:根据实际 KV 占用调整 Prefill 资源,复用临时工作区,减少不必要的显存预留。
  • 辅助任务共存:保留 Decode、视觉和 Embedding 工作区,独立超时回收,减少交错请求时反复创建资源的开销。
  • 修复并发输出串槽:修正混合 Prefill/Decode 批次的 LM head 行选择,解决错误输出其他会话内容的问题。
  • 扩展图片支持:新增 HEIC、AVIF,以及 GIF、BMP、TIFF、ICO 支持;图片解码失败时提供更明确的诊断。
  • 简化启动向导:支持按上次配置直接启动,统一配置流程;改善设备选择、大小核分配及 Windows 启动兼容性。
  • 改进状态与诊断:显示单槽及整体瞬时速度,平滑 Prefill 显示;API 请求体上限提高至 64 MiB,完善 RAM 分配失败信息。
  • 实验性 CPU 专家计算:支持将少量未命中专家交给 CPU,核心数和 miss 数量可配置;要求 AVX2 + FMA3,不支持的 CPU 自动回退 GPU。
  • 实验性新增 Linux 发行包:提供 Bash 启动向导,并加入自动构建与打包。

感谢贡献者

MoE4All v0.9.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 09:48
ed62393

What's Changed

Full Changelog: release-0.8.0...release-0.9.0

MoE4All v0.9.0

相较于 v0.8.0,本次主要更新:

  • 完善 MTP 加速:支持双槽服务、视觉任务和 Embedding 共存;并发时自动选择 MTP 或普通批量 Decode。
  • 增强 Agent 会话复用:支持系统提示词、历史会话和末轮编辑的 KV 前缀复用,减少重复 Prefill。
  • 保存 MTP 缓存状态:MTP 状态可随主 KV 一起跨槽及 SSD 保存恢复,缺失时安全回退普通 Decode。
  • 新增 Responses API:提供无状态的 OpenAI Responses API,支持流式输出、工具调用、Reasoning 和图片输入。
  • 提升长任务稳定性:为排队、长 Prefill 和长时间生成加入 SSE 心跳,减少 Agent 和客户端超时。
  • 修复视觉问题:改善 Qwen3.8 图文、多轮视觉及部分 F16/BF16 模型的兼容性。
  • 改进显存管理:显存分配失败时自动降低 ubatch 重试,并修复 NVIDIA 显存识别、Host DMA 和统一显存池相关问题。
  • 新增模型支持:加入 Ling 3.0 Tiny Q4_K_M 支持。
  • 改进启动向导:增加显卡选择、推荐模型下载、本地 KV 缓存目录及安全的 Engine 自动更新。
  • 稳定构建环境:版本升级至 0.9.0,并将正式构建工具链固定为 Rust 1.97.1。

升级后 SSD KV 缓存格式有所变化,v0.8.0 的旧缓存不会继续复用。

MoE4All v0.8.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 16:44
d05d09c

What's Changed

Full Changelog: release-0.7.0...release-0.8.0

新增功能

  • 新增 Qwen3.8 四 Token MTP 投机解码预览,支持批量验证并保留已接受前缀状态,面向单路 greedy 生成加速。
  • 新增 Qwen3 原生 Embedding 模型支持,可通过 OpenAI 兼容的 /v1/embeddings 接口调用。
  • 启动向导新增 MTP、Embedding 及自动模式上下文容量设置。

性能优化

  • 优化 Qwen3.8 普通 Decode、MTP 验证、QSA Attention、PLE Gather 和 Q8 投影。
  • 优化多会话混合 QSA Decode,并复用 Pager Host 工作区,提升并发吞吐。
  • 优化 QSA dense/sparse 边界 Prefill,减少重复模型遍历和 Vulkan dispatch。
  • MTP Prompt Priming 改为流式执行,降低长输入初始化开销。
  • 自动 Prefill Ubatch 调整为保守模式 2048、激进模式 4096,显存不足时自动逐档回退。
  • 修复并发服务错误预留大块 Prefill Attention Scratch 的问题,释放约数 GiB 显存用于专家缓存和 Prefill Ring。

自动资源策略

  • 保守 RAM 策略:以启动时可用内存减去 3 GiB 作为进程预算。
  • 激进 RAM 策略:以总物理内存减去 14 GiB 作为进程预算。
  • 保守 VRAM 策略:保留约 1 GiB 当前可用显存。
  • 激进 VRAM 策略:最多使用总显存减去 2 GiB。
  • 显式 Ubatch 在并发服务中得到正确应用。

修复与兼容性

  • 修复并发视觉请求的 Decode 批处理。
  • 修复 Vulkan Canvas Attention 分块边界问题。
  • 修复多会话 Prefill 显存预算与实际串行执行方式不一致的问题。
  • 更新 Rust 1.97 兼容代码并恢复跨平台 Stable CI 构建。

实测表现

  • Qwen3.8 在 20K 输入、高接受率任务中,MTP Decode 从 37.7 提升至 60.2 tok/s。
  • Qwen3.8 在 150K 输入、高接受率任务中,MTP Decode 从 32.4 提升至 48.1 tok/s。
  • 普通复杂任务的 MTP 收益约为 8%–14%,实际收益取决于草稿接受率。
  • Qwen3.6 35B A3B 在 RX 7900 XTX 上实测达到 20K 输入 65.6 tok/s、150K 输入 39.9 tok/s。

MoE4All v0.7.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 15:25
70b6ff3

What's Changed

New Contributors

特别鸣谢

  • 感谢 @zhangzhan620-hue 在 PR #21 中完成的 Qwen3-VL Vision 实现。v0.7.0 选择性移植并适配了其中的 projector 元数据与图像预处理、multimodal RoPE/GELU CPU/Vulkan 内核,以及 Vision tower/projector 核心拓扑;合入版本进一步适配了统一显存、原生量化权重和请求级资源生命周期。

MoE4All 0.7.0

相较 0.6.0,本次版本重点完善了 Qwen3.8 视觉推理、并发服务、SSD 会话缓存和长上下文性能。

主要更新

  • 新增 Qwen3.8 Flash Next 原生 Vulkan 视觉推理,支持匹配的 mmproj GGUF。
  • OpenAI 兼容接口支持图片 content parts,可使用 Data URL 或裸 Base64 输入图片。
  • 新增 infr serve --parallel N,多个请求使用独立 KV 槽并发生成。
  • 支持先后到达、上下文长度不同的并发请求,以及 Prefill 和 Decode 混合调度。
  • 新增共享前缀 KV,减少具有相同对话前缀时的重复 Prefill。
  • 客户端断开连接后会取消对应生成任务,避免继续占用计算资源。

SSD 会话缓存

  • 动态 Q8 KV 会话可以在空闲后写入 SSD并释放显存。
  • 服务重启后,可以根据对话身份从冷缓存恢复长对话。
  • 当前 SSD 会话缓存适用于 Qwen3.5、Qwen3.6、Qwen3.8 的动态分段 Q8 KV 文本会话。

推理控制

  • 终端聊天支持模型默认、开启思考和关闭思考。
  • OpenAI 兼容接口支持原生 reasoning_effort。
  • 推理强度会经过模型能力和 chat template 校验,无效组合会返回明确错误。

性能优化

  • 重写 Qwen3.8 分段 QSA Prefill 的在线 Softmax 和地址计算路径。
  • 批量处理并发会话的 PLE gather,减少 CPU 同步和小型 GPU 提交。
  • 随机采样可以在 GPU 上跨行批处理。
  • 并发 Decode 保留 hit-first 调度,并在计算命中专家时搬运缺失专家。
  • 优化专家预取、跨池提升和 Prefill/Decode 阶段的统一显存复用。
  • 回收过期 Prefill scratch,减少长上下文增长后的显存碎片。
  • 根据启动后的真实剩余显存确定 MoE arena,降低自动配置启动失败概率。

实测结果

  • Qwen3.8 IQ4_XS 在 131K synthetic depth 后执行 pp3072,达到 750.7 tok/s。
  • Qwen3.8 Q4_K_M 进行 32K + 8K 错峰双路 Decode,达到 56.9 tok/s aggregate。
  • 测试平台为 RX 7900 XTX 24 GiB、64 GiB DDR4、Q8 KV、ubatch=3072。
  • aggregate 表示两个并发会话的总吞吐,不代表每个会话分别达到该速度。

状态与诊断

  • 新增终端实时资源表,显示每个 KV 槽的工作、状态、速度和上下文占用。
  • Prefill 不再长时间停留在 Starting,现在会显示真实 token 进度和速度。
  • 修复缓存 Prefill token 被重复计数的问题。
  • Embedding 任务会显示当前请求和已运行时间。
  • 请求完成日志增加 Prefill、Decode、缓存命中、上下文和结束原因统计。

稳定性修复

  • 修复共享 Vulkan command pool 在并发推理和 Embedding 下的同步问题。
  • 修复图片对话后的纯文本续写仍走视觉 RoPE,导致 Decode 降至约 10 tok/s 的问题。
  • 修复 Windows 大模型加载时 Host cache 预算未按实时 commit 余量收缩的问题。
  • 修复并行调度 worker 生命周期和连续请求下的状态复用问题。
  • 增强 AMD Windows 驱动下的显存驻留稳定性。
  • 双显卡机器不再默认选择枚举到的第一张独显,而是自动选择显存最大的独显。
  • 显式 --dev VulkanN、INFR_DEV 和配置文件中的设备选择仍保持最高优先级。

使用注意

  • 当前原生视觉路径仅支持 Vulkan qwen4exp。
  • 服务端不会主动下载 HTTP(S) 图片,客户端需要先转换为 Data URL 或 Base64。
  • 多模态 KV 暂不写入 SSD 冷缓存。
  • SSD 会话缓存默认不启用,需要在向导或配置中指定缓存目录。
  • 自动设备选择规则发生变化;需要固定亮机卡或特定 GPU 时,请显式设置 --dev。

Full Changelog: release-0.6.0-beta.1...release-0.7.0

MoE4All v0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 16:38
9fef63b

What's Changed

  • V0.6.0 弹性统一显存与更稳健的长上下文推理 by @Headmaster218 in #35

Full Changelog: release-0.5.2...release-0.6.0-beta.1

Vulkan 显存 arena 不再强制依赖 mapped ReBAR,可根据硬件能力选择直接映射或普通 device-local VRAM + staging 路径。
改善 RDNA2、小型 host-visible heap 和受限 ReBAR 环境下的 MoE 模型兼容性。
引入弹性统一显存布局,Expert 作为可回收填充物,与动态 KV、Prefill、runtime 和 Embedding 共享显存预算。
Q8 KV 按 32K 上下文分段动态增长,未提交空间继续用于专家缓存。
统一 paged MoE Decode 的 U/G/D 晋升路径,并在会话启动时冻结硬件传输方案。
支持服务端按需加载 Embedding GGUF,共享统一显存预算,空闲后可释放。
Paged Prefill 支持专家上传与 GPU 计算重叠;Qwen3.8 PLE 读取也可与层计算并行。
自动 Submit Splitter 增加采样校准,并提供保守、激进两种自动性能配置。
修复 Qwen3.8 多轮对话中 DeltaNet 与 PLE recurrent state 的保存、恢复和分段稳定性问题。
修复 paged scratch 与 expert LUT 分配顺序导致的地址失效风险。
增强 Windows 内存压力下的 Vulkan allocation、queue submit 重试与受控降级。
改进显存 owner 借用和恢复,保护 Decode 最低专家工作集及 bounded RAM exchange slot。
内存预算与诊断输出统一使用 GiB、MiB、KiB。
新增 Qwen3.8 Conv1d/DeltaNet 分段一致性及真实 recurrent 尺寸确定性测试。

MoE4All v0.5.2

Choose a tag to compare

@github-actions github-actions released this 01 Sep 10:20
3901476

What's Changed

New Contributors

MoE4All v0.5.2:动态 Q8 KV Cache 与长上下文稳定性更新

Release Note

功能更新

  • Qwen3.5、Qwen3.6 和 Qwen3.8 的 Q8 KV Cache 改为每 32K token 动态增长。
  • Qwen3.8 QSA index-key cache 同步支持分段增长。
  • 兼容的 Vulkan 模型默认使用 Q8_0 K/V,显著降低长上下文显存占用。
  • Prefill 默认恢复 chunk-major 执行,提升大模型分页效率。
  • 统一 KV 类型、显存预算、运行时分配和上下文容量估算。

稳定性修复

  • 修复动态 KV 扩容后 MoE expert cache 工作集不足导致的 panic。
  • 修复长上下文 prefill 中历史 scratch buffer 未及时回收的问题。
  • 修复 unified VRAM 碎片导致的 prefill 分配失败。
  • 补齐 Vulkan buffer、command buffer、descriptor pool、fence 等错误路径回收。
  • 修正手动 RAM 总预算,避免运行后期额外分配导致系统分页。
  • 资源监控不再把可回收的 GGUF mmap 文件页误判为 RAM 泄漏。

验证

  • Qwen3.6 35B 与 Qwen3.8 IQ4_XS 自动/手动资源配置共 9 项测试全部通过。
  • 多轮 API 对话连续跨过 32K、64K、96K KV 扩容边界。
  • 已验证 16 GiB + 32 GiB 和 24 GiB + 64 GiB 两类硬件资源配置。