license: other license_name: qwen-community-1.0 base_model:
- orcarouter/Qwen3.8-Flash-Next-Uncensored
- Qwen/Qwen3.8-Flash-Next base_model_relation: quantized pipeline_tag: text-generation library_name: gguf tags:
- gguf
- rocmfp4
- llama.cpp
- strix-halo
- gfx1151
- rocm
- amd
- ryzen-ai-max
- uncensored
- research
🔧 运行环境:请构建下方的 ROCmFPX 分支
原生
llama.cpp无法加载此文件。你需要在同一个代码树中同时具备qwen4exp架构以及 ROCmFP4 张量类型。上游charlie12345/ROCmFPX包含 ROCmFP4 类型但 不包含qwen4exp。我们的分支同时具备这两者:
kingjones30/ROCmFPX——charlie12345/ROCmFPX的分支,main分支。git clone https://github.com/kingjones30/ROCmFPX.git cd ROCmFPX cmake -B build -DGGML_HIP=ON -DGPU_TARGETS=gfx1151 -DGGML_NATIVE=ON -DCMAKE_BUILD_TYPE=Release cmake --build build --target llama-server llama-quantize -j$(nproc)于 2026-08-27 在 gfx1151 上验证:全新克隆 → 0 构建错误 →
llama-server成功加载来自该系列的qwen4expROCmFP4 GGUF 并生成连贯文本。
Qwen3.8-Flash-Next-Uncensored — ROCmFP4 FAST GGUF — AMD Ryzen AI Max+ 395 / gfx1151
⚠️ 研究用产物(Research artifact)。 已移除拒答行为(Refusal behaviour)。这并没有增加模型能力 —— 而是移除了安全护栏(guardrails)。请在适当的环境下审慎使用,并对生成的内容自行负责。
⛔ 在 ≥64K 上启用 ngram-mod 可能会导致 GPU 卡死
对于该系列模型,在 ROCm 上
--spec-type ngram-mod是正确的推测解码(spec-decode)选项,在 32K 上运行良好。 在 64K 及以上上下文时,上下文检查点恢复(context-checkpoint restore)会导致 QSA 索引器缓存与 KV 缓存脱节(desync)。随后的内核将导致 SDMA 队列卡死 —— 出现Ring sdma0 reset failure、llama-server 处于 D-state、kill -9无效,只能硬关机重启恢复。现场问题报告由 @liusecret 提出于Qwen3.8-Flash-Next-ROCmFP4-STRIX-GGUF#6。临时规避方案(无需新编译二进制文件):
-ctxcp 0 -cpent -1即
--ctx-checkpoints 0加上--checkpoint-every-n-tokens -1。如果不创建检查点, 恢复路径就永远不会执行。在 ROCm 上请保留 ngram-mod;切勿在 Vulkan/gfx1151 上使用它 (接受率会崩溃至 0)。彻底的修复方式是一个序列化mem_idx的分支 —— 在拿到该二进制文件之前,请使用上述参数标志。
量化自 orcarouter/Qwen3.8-Flash-Next-Uncensored 发布的 BF16 权重 —— 本处的消除拒绝(abliteration)工作出自他们之手,并非由我完成。欢迎前往给他们的仓库点星(Star)。
FAST 是最小的层级,如果你受到磁盘空间限制,这是首选版本:
采用 Q4_0_ROCMFP4_FAST 配方 —— 注意力(attention)、专家(experts)、token 嵌入(token embeddings)以及 PLE 表全部采用 ROCmFP4,
仅将输出头(output head)提升为 Q6_K。
由我根据他们发布的版本转换为 BF16 GGUF 并进行量化。4.27 bpw,87.94 GiB。
| 张量组 (tensor group) | 类型 (type) |
|---|---|
MoE 专家权重 (ffn_*_exps) | TYPE_101 (ROCmFP4, 4.251 bpw) |
共享专家 (ffn_*_shexp) | TYPE_101 |
注意力 (attn_*) | 全部为 TYPE_101 |
per_layer_token_embd.weight (PLE, 51.2B 参数) | TYPE_101 |
token_embd.weight | TYPE_101 |
output.weight (lm head) | Q6_K |
文件大小与我构建的同层级对齐版本相差仅 0.01 GiB —— 去护栏(abliterated)后的检查点在结构上完全一致,因此量化配方可以完全沿用。
Q6_K 输出头
output.weight 采用 Q6_K,绝非 4-bit。每个采样的 token 都会经过 lm head,因此其量化误差会直接反映在 argmax 中。在量化和切分后均通过精确张量名称进行了验证 —— 因为 output.weight 是 attn_output.weight 的子字符串,模糊匹配会在 4-bit 头上误报成功。
构建支持加载这些文件的运行环境
需要在一个代码树中同时具备两项内容:qwen4exp 架构和 ROCmFP4 张量类型。
charlie12345/ROCmFPX 具备 ROCmFP4 类型但缺少 qwen4exp;上游 qwen4exp 的工作则没有 ROCmFP4。将它们结合的补丁已随附于本仓库中:
qwen4exp-on-rocmfpx-d3ca537.patch(156 KB,25 个文件)。
git clone https://github.com/charlie12345/ROCmFPX.git
cd ROCmFPX && git checkout d3ca537
curl -LO https://huggingface.co/kingjones777/Qwen3.8-Flash-Next-Uncensored-ROCmFP4-STRIX_LEAN-GGUF/resolve/main/qwen4exp-on-rocmfpx-d3ca537.patch
git apply qwen4exp-on-rocmfpx-d3ca537.patch
cmake -B build -DGGML_HIP=ON -DGPU_TARGETS=gfx1151 -DGGML_NATIVE=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --target llama-server llama-quantize -j$(nproc)
基于全新克隆验证:补丁无冲突应用,编译零错误,构建生成的 llama-server 能够正常加载这些 GGUF 并进行文本生成。补丁中的新增文件 ——
src/llama-memory-hybrid-idx.{cpp,h}(QSA 索引器自有的内存类)、
src/models/qwen4exp.cpp、conversion/qwen4exp.py —— 补齐了手动复制代码时容易遗漏的部分。
实测数据 —— Ryzen AI MAX+ 395, gfx1151, ROCm 7.2.4, 49/49 层完全卸载
- 生成速度 (generation):22.75 tok/s
- Prompt 处理速度 (prompt processing):387.3 tok/s
- GPU 显存占用:63.3 GiB 常驻 (resident) —— 与对齐版本完全相同
纯 GPU 运行,完全卸载。我不发布部分卸载(partial-offload)的速度数据。
测试基准:使用固定的 6,963-token 提示词跨样本复用(cache_prompt: false),第 1 次运行作为预热舍弃,取 4 次稳定样本的中位数 —— 波动范围 1.6 tok/s。早先记录的 222 tok/s 来自有缺陷的测试方法(每个样本使用了不同的语料分片,直接引入了分片间方差)。相同文件,相同的 GTT(63.6 GiB)—— 仅仅是测量方法作了修正。
长上下文
该模型的原生最大上下文为 262,144,在 128 GB 机器上可以完整跑满:
| 上下文大小 | Prompt 长度 | pp tok/s | gen tok/s | GTT |
|---|---|---|---|---|
| 131,072 | 111,411 | 196 | 15.22 | 69.1 GiB |
| 262,144 | 8,000 | 307 | 22.48 | 72.0 GiB |
| 262,144 | 200,000 | 128 | 10.46 | 74.9 GiB |
上下文窗口(window)本身开销极低 —— GTT 从 8k 到 128k 仅增长约 4 GiB,因为 Qwen 稀疏注意力(Qwen Sparse Attention)限制了 KV 缓存上限。真正消耗性能的是实际内容深度(depth):200k-token 的提示词会使生成速度减半。其性能表现为平滑下降,而非断崖式跌落。
拒答率 / 质量评估(仅统计次数)
对齐版本与本版本对比,相同提示词,贪婪采样(greedy),相同测试套件:
| 测试集切片 | 对齐版本 (aligned) | 本版本 (this build) |
|---|---|---|
| 有害有害问题 (Harmful, 24) | 0 次顺从 | 22 次顺从 (comply) |
| 无害问题 (Harmless, 12) | 10 次正常 | 11 次正常 |
| 质量测试 (Quality, 8) | 6/8 | 6/8 —— 相同的两道失败题目 |
模型质量在具体失败的题目上保持一致,这正是重点所在:消除拒绝操作成功去除了拒答倾向,且量化没有损害模型的基础能力。提示词和回复结果不予公开发布。
文件列表
由于 Hugging Face 单文件 50 GB 限制而进行了分卷切分。请将 --model 指向第一个分卷。
| 文件名 | 大小 |
|---|---|
Qwen3.8-Flash-Next-Uncensored-Q4_0-ROCmFP4-FAST-00001-of-00003.gguf | 41.63 GiB |
Qwen3.8-Flash-Next-Uncensored-Q4_0-ROCmFP4-FAST-00002-of-00003.gguf | 41.60 GiB |
Qwen3.8-Flash-Next-Uncensored-Q4_0-ROCmFP4-FAST-00003-of-00003.gguf | 4.71 GiB |
mmproj-Qwen3.8-Flash-Next-Uncensored-BF16.gguf | 0.85 GiB (视觉投影/vision tower) |
使用方法
llama-server \
--model Qwen3.8-Flash-Next-Uncensored-Q4_0-ROCmFP4-FAST-00001-of-00003.gguf \
--mmproj mmproj-Qwen3.8-Flash-Next-Uncensored-BF16.gguf \
--host 127.0.0.1 --port 8080 \
--n-gpu-layers 999 --flash-attn on --fit off \
--ctx-size 131072 --threads 16 --jinja
切勿使用 --no-mmap。 PLE 表是通过页面缓存(page cache)从文件中流式读取的;将其强制载入匿名内存会导致进程被 OOM 杀死,且服务端日志中不会留下任何错误信息。
致谢
charlie12345/ROCmFPX —— 定义了 ROCmFP4 张量格式。此处的所有文件均使用其 llama-quantize 生成并在其运行环境上运行。采用 MIT 协议,基于上游 llama.cpp。qwen4exp 架构不属于该分支的一部分 —— 它来源于上游 llama.cpp 的工作,并通过本仓库中的 qwen4exp-on-rocmfpx-d3ca537.patch 补丁叠加应用。
llama.cpp — ggml-org 及各位贡献者 —— 本项目所依托的底层推理引擎、GGUF 格式及转换工具。
AMD ROCm —— 本项目所针对的计算平台(ROCm 7.2.4,gfx1151)。
orcarouter —— 发布了本项目所构建的基础无审查(uncensored)BF16 检查点。消除拒绝(abliteration)是工程团队的技术成果;我仅负责了转换与量化。
Qwen 团队 —— 原始基座模型。详见 base_model;许可证遵循 qwen-community-1.0。