Skip to content

Releases: DocPang/qwen38-k100ai-int8-optimization

v1.3.1 — Final Unified TP1 / TP2 / TP4 Image

Choose a tag to compare

@DocPang DocPang released this 02 Sep 00:54

v1.3.1 是当前 v30 正式版,本次已经重新制作成一个完整 Docker 镜像,TP1 / TP2 / TP4 通过 PROFILE 直接切换。

  • 单一最终镜像:PROFILE=tp1|tp2|tp4
  • TP2 legacy flash-attn 260602 sidecar 已内置,TP1/TP4 保持 260728
  • SGLang all-rank allocator rootfix,取消 external /flush_cache guard
  • TP2 mixed c4 / TP4 mixed c8 已重新验证
  • TP1 GPU2、TP2、TP4 cache-resume authority 均 PASS
  • Docker save -> zstd -> docker load round-trip PASS

完整镜像(夸克):https://pan.quark.cn/s/2e35321f6278?pwd=gPVV
提取码:gPVV
文件:Qwen3.8-K100AI-v1.3.1-final-image.tar.zst
SHA256:4e43edd8a0cf5ee0e501aefb051170587b1da3003392fdd2d32a1d9712e11d8f
镜像:qwen38-k100ai-int8:v1.3.1
Image ID:sha256:534f9512a3d5217c8f65f11183ed75db19e7aa3df1ecc4da1ba993e98793973d

详细更新、部署方式和验证结果见 README.md、RELEASE_NOTES_v1.3.1.md 与 v1.3.1/VALIDATION.md。

v1.2.2 — DFlash2 Sampling Fix

Choose a tag to compare

@DocPang DocPang released this 27 Aug 05:00

v1.2.2 主要修复 TP4 DFlash2 在默认采样 / temperature>0 时可能触发 scheduler 退出的问题。

  • 支持 temperature / top_k / top_p / min_p 的 DFlash2 speculative sampling
  • greedy 路径保持不变,mixed c4 已实机验证
  • 最新完整镜像已更新到首页 README

完整镜像(夸克):https://pan.quark.cn/s/653e165c2fc7?pwd=DBia
提取码:DBia
文件:Qwen3.8-K100AI-Unified-v1.2.2.tar.zst
SHA256:91818fcc5ae0fc1cfcec6b6b9cc2950ee991f293fd16221ccd80e91fa069850d

详细验证与已知边界见 RELEASE_NOTES_v1.2.2.md。

v1.2.1 — TP4 raw-q8 ABI hotfix

Choose a tag to compare

@DocPang DocPang released this 27 Aug 00:59

v1.2.1 — TP4 raw-q8 performance hotfix

这是 v1.2.0 的 TP4-only 小版本热修复。TP1 / TP2、模型权重、SourceFind SGLang 版本和 flash-attn 版本均不变。

背景

v1.2.0 为修复 SourceFind flash-attn 260728 环境下 TP4 raw-q8 verifier 的输出异常,采用了正确但更保守的 2 × q4 verifier。该方案避免乱答,但在长上下文下会重复扫描 KV Cache,使 TP4 Decode 相比旧冠军出现约 8%–20% 的回退。

进一步审计确认,问题不是 q8 算法本身,而是 260728 新增的 raw paged_attention layout ABI 参数适配错误。TP4 当前 paged KV 几何的正确值为 layout=0。修正后可以安全恢复 single raw-q8。

本次修复

  • SourceFind flash-attn 版本仍固定为:
    2.8.3+das.opt1.dtk2604.torch290.2607280958.gebb4be
  • TP4 exact DFlash verifier 恢复 single raw-q8;
  • 260728 raw paged_attention 使用经过重新验证的 layout=0;
  • raw-q8 仅允许:q=8 / QH6 / KVH1 / D256 / page64 / BF16;
  • 所有非精确 shape fail-closed;
  • BF16 KV Cache 约束不变;
  • TP1 / TP2 不受影响。

验证结果

isolated raw-q8(layout=0) 在 16K / 64K / 128K / 257.9K 均与 v1.2.0 的 2 × q4 reference bitwise equal。

full-model:

  • 普通回答 PASS;
  • tool_choice=auto PASS;
  • canonical 16K / 64K / 128K / 257.9K 输出 SHA 与 v1.2.0 正确版本完全一致;
  • 139265 cache-resume gate-v2:2× cold deterministic,cached_tokens=131072,replay=8193,cached == cold,PASS;
  • 128K 三次 Decode:87.90 / 87.33 / 87.36 tok/s;
  • 257.9K 两次 Decode:70.49 / 73.56 tok/s;
  • 257.9K 第二轮 TTFT 132.09s,与旧冠军约 132.25s 基本一致。

代表性对比:

上下文 v1.2.0 q8split v1.2.1 raw-q8 旧冠军参考
16K 110.94 113.55 113.10
64K ~94.41 median 98.59 median 102.21
128K ~78.06 median 87.36 median 88.68
257.9K 57.20 70.49 / 73.56 72.49

64K 仍观察到单次 Decode runtime 低点,输出 SHA 和 DFlash 接受率未改变,因此不以单次峰值或低点作为正式性能结论。

安装方式

GitHub Release 同时附带小补丁包:qwen38-k100ai-v1.2.1-tp4-hotfix.tar.gz,SHA256:43a47bb3a12fa84ba46e49a425ec120222b401fbe4a8e72b06ba324db18385e5。

本次不要求重新下载完整 Docker 镜像。已有 v1.2.0 RC2 镜像的用户,在仓库中执行:

cd hotfixes/v1.2.1
bash apply.sh

会基于本地 v1.2.0 镜像生成:

qwen38-k100ai-int8:unified-20260827-v1.2.1

然后把原启动命令中的镜像名替换为上述 v1.2.1 镜像即可,其余参数完全不变。

详细说明、回滚方法和版本锁见 hotfixes/v1.2.1/README.md。

原始验证 JSON:

  • results/tp4_v121_rawq8_layout0_16k_20260827.json
  • results/tp4_v121_rawq8_layout0_64k128k257k_20260827.json
  • results/tp4_v121_rawq8_layout0_257900_repeat_20260827.json
  • results/tp4_v121_cache_resume_139265_20260827.json

回滚

v1.2.0 原镜像不会被修改。直接切回:

qwen38-k100ai-int8:unified-20260826-fa260728-q8split-rc2

即可恢复 v1.2.0 的 2 × q4 verifier。

v1.2.0 — Unified TP1 / TP2 / TP4 Full Image

Choose a tag to compare

@DocPang DocPang released this 26 Aug 13:05

v1.2.0 — Unified TP1 / TP2 / TP4 image

本次更新将 TP1 / TP2 / TP4 收敛为 同一个完整 Docker 镜像,并更新 SourceFind 新版 flash-attn。重点修复新版环境下可能出现的乱答、输出异常和工具调用异常,同时继续完善 TP2 / TP4 长上下文、缓存复用和 TP4 并发能力。

主要更新

  • TP1 / TP2 / TP4 统一为一个镜像,通过 PROFILE=tp1|tp2|tp4 切换。
  • 更新 flash-attn 2.8.3+das.opt1.dtk2604.torch290.2607280958.gebb4be。
  • 修复新版 flash-attn 下 TP2 / TP4 输出异常;正常回答与自动工具调用已重新验证。
  • TP2 继续修复部分上下文长度下速度突然下降的问题。
  • TP4 继续优化长上下文、缓存复用和 Agent 场景。
  • TP4 已针对 2 / 3 / 4 并发进行适配,最高按 4 并发优化。
  • 启动时可直接修改 PORT 和 MODEL_NAME,无需修改镜像内部文件。
  • 本次只提供 完整 Docker 镜像,不再同时维护多套部署流程。

TP4 并发粗略参考

不同请求并发时的总吞吐约为:

并发 总吞吐
1 ~95–97 tok/s
2 ~115–117 tok/s
3 ~141–152 tok/s
4 ~175–183 tok/s

为不同 prompt 的 aggregate throughput 粗略参考;实际结果会受上下文长度、缓存命中和输出长度影响。

完整镜像

夸克网盘:

https://pan.quark.cn/s/156dd54a0861?pwd=2T8B

提取码:2T8B

文件:

Qwen3.8-K100AI-Unified-20260826-RC2.tar.zst

SHA256:

215cfb3f15254b8c8cb790a091f21c27827d77abdcd89c7e86ebbc58a4fe6770

模型权重(二选一下载)

如果已经有上一版的 Target / Draft 权重,可以直接继续使用,不需要重新下载。

推荐使用之前整理好的夸克完整权重包,一包同时包含 Target + Draft:

  • Qwen3.8-K100AI-Weights-20260823
  • https://pan.quark.cn/s/eb79a87216ba?pwd=Rcxc
  • 提取码:Rcxc
  • 文件:qwen38-k100ai-w8a8-dflash2-weights-20260823.tar.zst
  • SHA256:aa33b9d1ed1e31b1f5c3c6989a302299ecb957ff3f2768f233fdaab17f0073f5

也可以按 README 中固定 revision 从 HuggingFace 分别下载 Target + Draft。两种方式二选一,不需要 BF16 / FP16 Base 权重。

完整导入、真实权重目录、TP1 / TP2 / TP4 启动,以及端口 / 模型名称修改方式见仓库 README。

历史性能数据

上一版本的正式十档测速数据、JSON 结果和测速图片继续保留在仓库中,没有删除。详细结果见 PERFORMANCE.md、results/ 和 assets/。

已知限制

  • 保持 BF16 KV Cache,不建议自行切换 FP8 KV Cache。
  • 正常 tool_choice=auto / 默认工具调用可用。
  • 当前 DFlash 不支持 tool_choice=required 对应的强制 grammar-constrained decoding。
  • TP1 / TP2 极长上下文缓存复用仍在继续完善;TP4 会继续扩大随机缓存和并发回归测试。

v1.1.0 — TP1 / TP2 / TP4 Unified Series

Choose a tag to compare

@DocPang DocPang released this 23 Aug 00:07

v1.1.0 — TP1 / TP2 / TP4 Series

发布日期:2026-08-23

这是第一次把 TP1、TP2、TP4 作为一个完整系列正式发布。

主要变化

  • TP1 更新为当前正式方案:此前单卡 128K 方案不再作为最终性能引用;新增 BM128 long-KV 32K→253952、257.9K ceil-causal qtail、262K context 与完整 257.9K quality gate。
  • TP2 首次正式公开:包含 cross-rank shared-scale layers32–47、TP2 row-LDSx、BM128 long-KV、257.9K qtail、raw-q8 verifier。
  • TP4 保持当前冠军配置:与 TP1/TP2 统一进入同一系列入口。
  • 统一 Docker runtime:PROFILE=tp1|tp2|tp4。
  • 补齐 TP1/TP2/TP4 的完整 native 依赖闭包:系列共提供 7 个已验证用户态 gfx928 extensions,包括 TP2 row-LDSx、K5120 full5 / LDS-x 等正式运行时实际依赖,并全部附对应 HIP 源码。
  • patchset 增加 TP1/TP2 完整 runtime closure、TP2 tune-cache、processor overrides。
  • run.sh 按 Profile 只映射所需 render node:TP1=1、TP2=2、TP4=4。
  • 新增统一 authority 文件与三档十档总表。

最终十档

统一口径:canonical corpus / output256 / DFlash2 / cold / 每档独立 cache flush / contaminated=false。

上下文 TP1 TTFT TP1 Decode TP2 TTFT TP2 Decode TP4 TTFT TP4 Decode
512 5.93s 23.92 0.42s 70.61 0.41s 100.74
2K 7.21s 28.65 1.62s 86.08 1.08s 119.03
4K 12.41s 25.65 4.15s 77.09 2.36s 95.65
8K 8.42s 27.58 3.89s 83.24 2.40s 110.88
12K 13.74s 28.29 12.92s 85.27 4.12s 91.06
16K 16.55s 26.59 9.59s 81.27 4.60s 113.10
32K 34.01s 27.30 23.23s 79.05 10.01s 128.25
64K 72.66s 31.68 40.36s 73.32 22.18s 102.21
128K 174.68s 33.90 90.66s 49.98 49.45s 88.68
257.9K 466.44s 24.30 234.28s 53.10 132.25s 72.49

TP1 / TP2 / TP4 十档性能对比

完整 Total / scaling / quality:PERFORMANCE.md。

TP1 旧版修正

此前 TP1 128K TTFT 为 231.13s。当前正式结果为 174.68s,并新增 257.9K 正式结果 466.44s / 24.30 tok/s。

旧研究期 TP1 文件已从公开仓库移除。

正式验收

  • TP1:accept=true;short semantic PASS;Arithmetic20=18/20(仅历史 case8/17);257.9K semantic PASS;257.9K P95 needle PASS。
  • TP2:accept=true;同口径质量门通过。
  • TP4:formal 10/10 + 长上下文 quality/stability 已完成。

Patchset

qwen38-k100ai-patchset.tar.gz

SHA256 861903598b683ba592d68f795ac10493cbbd5e47f9b6c2757cf542d10b2930d4

发布前已在 K100AI 服务器上基于固定 SourceFind image digest 完成真实 docker build:

sha256:366525b25f452f85eb0ea5813604a64f03c648627bc824bb498b56cf5a325dde

构建过程中 TP1/TP2/TP4 runtime py_compile、TP2/TP4 tune-cache 数量、7 个 native .so 均通过 fail-closed 检查。

升级提醒

完整镜像已重新打包为支持 TP1 / TP2 / TP4 的统一版本。

完整镜像

重新打包的统一镜像支持 PROFILE=tp1|tp2|tp4,不包含模型权重。用户只需额外挂载 W8A8 target 与 DFlash2 draft,不需要 BF16/FP16 Base 权重。

  • Docker tag:qwen38-k100ai-int8:unified-20260823
  • 压缩包:qwen38-k100ai-int8-unified-20260823.docker.tar.zst
  • 压缩大小:5.65 GiB(6,065,184,632 bytes)
  • SHA256:6d14588722b0fea0ab66a53e2810385d1f9999a9cd78c8e1d2e6640c744f2b14
  • 完整镜像下载:夸克网盘 full_images,提取码:M8Fr;GitHub Release 保留 patchset、十档数据与整包 SHA256。

下载整包后按 SHA256 校验,再执行 zstd -dc ... | docker load。

v1.0.1 · Unified TP1/TP4 Docker image

Choose a tag to compare

@DocPang DocPang released this 22 Aug 01:17

统一完整运行时镜像

这次更新主要解决“单卡和多卡是否需要维护两套 30GB 级 Docker 镜像”的问题:现在 TP1 与 TP4 共用同一只预构建运行时镜像,通过 PROFILE=tp1 / PROFILE=tp4 切换。

新增

  • 统一 Docker tag:qwen38-k100ai-int8:unified-20260822
  • PROFILE=tp1:1× K100AI,Agent128K profile
  • PROFILE=tp4:4× K100AI,longctx-v8 Champion,默认 profile
  • TP1 generic overlay 与 TP4 overlay 同时封装
  • TP1 / TP4 DFlash2 worker 均包含 sampling 可用性保护:意外的非 greedy 请求不再触发旧 fatal gate 杀死 scheduler;生产路径仍建议 temperature=0

验收

  • TP1 使用空闲 K100AI 真冷启动:PASS
  • TP1 /health=200
  • TP1 Chat Completion 精确返回 UNIFIED_TP1_OK
  • TP1 restart=0 / OOM=false
  • TP4 entrypoint 与 v1.0.0 longctx-v8 Champion 镜像字节一致
  • TP4 DFlash2 worker 与当前 hardened 运行版 SHA256 一致
  • 服务端 / Mac 双端 zstd -t 与 SHA256 校验通过

完整镜像下载

夸克网盘:https://pan.quark.cn/s/1e9abeef509a?pwd=duZx
提取码:duZx

文件:qwen38-k100ai-int8-unified-20260822.docker.tar.zst
压缩后大小:约 5.67 GiB
SHA256:e3e2874939b540a935191939fe6309e583a7bf1808f6341f07aba447740d7557

导入:

zstd -dc qwen38-k100ai-int8-unified-20260822.docker.tar.zst | docker load

模型权重不包含在 Docker image 内,仍需挂载 /models/target 与 /models/draft。这样避免在运行时镜像里重复打包几十 GB 权重。

完整使用说明见仓库 full_images/README.md。

v1.0.0 · TP4 longctx-v8 Champion

Choose a tag to compare

@DocPang DocPang released this 21 Aug 13:53

TP4 longctx-v8 Champion

Qwen3.8-27B SmoothQuant W8A8 / INT8 on Hygon K100AI, SGLang 0.5.12 + DFlash2, TP4.

Formal cold output256 authority

  • 16K: 4.603s TTFT / 113.10 tok/s decode
  • 32K: 10.012s / 128.25 tok/s
  • 64K: 22.184s / 102.21 tok/s
  • 128K: 49.450s / 88.68 tok/s
  • 257.9K: 132.249s / 72.49 tok/s
  • Full 10-level decode median: 101.48 tok/s

All 10 levels were independently Radix-flushed, output256, uncontaminated; final service state was restart=0 / OOM=false / health=200.

Long-context correctness / stability

  • 128K thinking needle: PASS
  • 257900-token exact retrieval @ 95%: PASS
  • 257.9K formal repeat x3: identical SHA, 0 restart / 0 OOM
  • Fixed irregular-tail causal mapping for real q=3948 (ceil(Q/BLOCK_M)-1-pid), eliminating the old duplicate-write / missing-tail-block race.

Reproducible package

The repository default Docker profile now ships:

  • q16K prefill through 128K
  • exact KV=131072 q16 numerical repair
  • automatic q8K chunks after 128K
  • fixed q3948 split8 tail path at 257900 tokens
  • native raw q8 paged DFlash2 verifier for the audited TP4 geometry
  • 7 exact long-context W8A8 tune-cache JSONs
  • custom all-reduce enabled

Patchset SHA256: d25f5412f34a47138c3f249991c5625fd567a6e79d1ef000015217acf7c889d9

See TP4.md and results/ for full methodology and machine-readable evidence.