q
qionner/Qwen3Guard-Gen-8B
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Qwen3Guard-Gen-8B

Qwen3Guard-Gen-8B 是基于 Qwen3-8B 架构的内容安全 Guard 模型,支持在华为昇腾 NPU 上通过 vLLM-Ascend 进行高效推理部署。

模型信息

属性值
架构Qwen3ForCausalLM
参数量~8B
隐藏层4096
层数36
注意力头32 (GQA, KV heads=8)
词表大小151936
最大长度32768
默认精度bfloat16
HuggingFaceQwen/Qwen3Guard-Gen-8B

目录结构

Qwen3Guard-Gen-8B/
├── inference.py              # 适配后的推理脚本
├── readme.md                 # 模型说明文档
├── prompts.jsonl             # 测试用 prompt 数据集
├── benchmark/
│   ├── precision_verify.py   # 精度验证脚本
│   └── perf_benchmark.py     # 性能基准测试脚本
├── scripts/
│   └── setup_env.sh          # 环境配置与服务启动脚本
└── docs/
    ├── 昇腾适配测评报告.md    # 完整适配与验证报告
    ├── logs/                 # 运行日志
    └── screenshots/          # 截图(手动上传)

昇腾 NPU 适配状态

检查项状态证据
算子兼容性100% 通过见下方算子清单
Dummy 部署验证通过见下方部署日志
ACL Graph 编译35/35 capture见下方部署日志
真实权重推理通过见下方真实推理输出
一致性验证通过temperature=0 两次输出完全一致
精度对比 (GPU/CPU)待补充需 GPU/CPU 基准环境

说明:已完成真实权重加载与推理验证,输出语义正常。精度对比(GPU/CPU vs 昇腾 NPU)需在有 GPU/CPU 基准的环境中执行。全部算子均为 PyTorch 原生实现,理论上误差 < 1%。

算子兼容性清单

算子名称来源模块昇腾兼容性备注
QKVParallelLinearvLLM layers.linear原生支持Attention QKV 投影
RowParallelLinearvLLM layers.linear原生支持Attention/MLP 输出投影
MergedColumnParallelLinearvLLM layers.linear原生支持MLP gate_up 投影
AttentionvLLM attention原生支持ACL Graph 后端
RMSNormvLLM layers.layernorm原生支持Pre/Post attention norm
get_rope (RoPE)vLLM rotary_embedding原生支持旋转位置编码
SiluAndMulvLLM activation原生支持SwiGLU 激活函数
LogitsProcessorvLLM logits_processor原生支持Logits 处理
ParallelLMHeadvLLM vocab_parallel_embedding原生支持输出词表投影

结论:0 个 CUDA-only 算子,0 个 Triton-only 算子,全部算子均有昇腾 NPU 原生实现。

部署验证日志(Dummy 模式)

环境:Ascend910 × 2, CANN 8.5.1, vLLM 0.18.0, vllm-ascend

Resolved architecture: Qwen3ForCausalLM
Loading model weights took 15.2801 GB
ACL Graph compilation: 35/35 captures in 11s
KV cache memory: 39.08 GiB
Max concurrency @ 4096 tokens: 69.44x
Graph capturing finished in 11 secs, took 0.12 GiB
init engine (profile, create kv cache, warmup model) took 36.61 seconds

真实权重推理输出证据

环境:Ascend910, CANN 8.5.1, vLLM 0.18.0, bfloat16, max_len=4096

模型成功加载真实权重(15.28 GB),产生语义正常的输出:

测试用例Prompt输出摘要延迟
中文自我介绍你好,请简要介绍一下自己。我是通义千问,通义实验室研发的超大规模语言模型...2550ms
英文科普Explain quantum computing...No need to mention quantum bits...2503ms
数学问题1+1等于多少?在十进制中,1+1等于2。在二进制中,1+1等于10...2481ms
创意写作请写一首关于春天的短诗。春天来了,花儿绽放,柳树摇曳,绿意盎然...2466ms

一致性验证 (temperature=0):

Prompt: 什么是人工智能?
Output 1: 它如何影响我们的生活?人工智能(AI)是计算机科学的一个分支...
Output 2: 它如何影响我们的生活?人工智能(AI)是计算机科学的一个分支...
Identical: True

性能指标 (128 tokens, 单请求):

  • 加载时间:41.57s
  • 平均延迟:~2425ms
  • 吞吐量:~51 tokens/s

精度对比 (GPU/CPU vs 昇腾 NPU)

昇腾 NPU 基准输出 (temperature=0, 48 tokens):

测试用例Prompt输出摘要延迟
中文自我介绍你好,请简要介绍一下自己。我是通义千问,由通义实验室研发的超大规模语言模型...1022ms
数学问题1+1等于多少?在数学中,1+1等于2,这是基本的算术规则。但在某些情况下...899ms
人工智能定义什么是人工智能?它如何影响我们的生活?人工智能(AI)是计算机科学的一个分支...891ms

昇腾 NPU 基准输出详情:

Prompt: 你好,请简要介绍一下自己。
Output: 我是通义千问,由通义实验室研发的超大规模语言模型。我能够回答问题、创作文字,比如写故事、写邮件、写剧本,我还能进行逻辑推理、多语言理解、编程
Tokens: 48, Latency: 1022ms

Prompt: 1+1等于多少?
Output: 在数学中,1+1等于2,这是基本的算术规则。但在某些情况下,比如在二进制中,1+1等于10。此外,在某些哲学或抽象概念中,1+1可能
Tokens: 48, Latency: 899ms

Prompt: 什么是人工智能?
Output: 它如何影响我们的生活?人工智能(AI)是计算机科学的一个分支,旨在开发能够执行通常需要人类智能的任务的机器。这些任务包括学习、推理、问题解决、感知和语言理解。AI可以分为两个主要
Tokens: 48, Latency: 891ms

一致性验证: temperature=0 时多次推理输出 100% 一致,确定性验证通过。

对比项GPU/CPU 基准昇腾 NPU状态
单条推理--已完成NPU 基准已生成
一致性 (temp=0)--通过100% identical
预期阈值---->= 99%

说明:昇腾 NPU 基准输出已生成(见上方),语义正常。全部算子为 PyTorch 原生实现,跨平台精度误差预期 < 1%。

精度验证方法(需 GPU/CPU 基准环境):

# 生成基准(GPU/CPU)
python benchmark/precision_verify.py --mode baseline --model Qwen/Qwen3Guard-Gen-8B

# 生成对比(昇腾 NPU)
python benchmark/precision_verify.py --mode compare --model Qwen/Qwen3Guard-Gen-8B

# 计算差异
python benchmark/precision_verify.py --mode diff --baseline baseline.json --compare npu_output.json

快速开始

环境要求

  • CANN >= 8.0
  • torch_npu >= 2.1.0
  • vLLM >= 0.18.0
  • vllm-ascend (匹配 vLLM 版本)

启动服务

bash scripts/setup_env.sh Qwen/Qwen3Guard-Gen-8B 8000 1

运行推理

python inference.py --model Qwen/Qwen3Guard-Gen-8B --prompt "请介绍一下自己"

精度验证

# 先在参考设备生成基准
python benchmark/precision_verify.py --mode baseline --model Qwen/Qwen3Guard-Gen-8B

# 在昇腾 NPU 生成对比输出
python benchmark/precision_verify.py --mode compare --model Qwen/Qwen3Guard-Gen-8B

# 计算差异
python benchmark/precision_verify.py --mode diff --baseline baseline.json --compare npu_output.json

性能基准

python benchmark/perf_benchmark.py --model Qwen/Qwen3Guard-Gen-8B --num-prompts 100

许可证

Apache-2.0