YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Qing-Sec-20B(青卫·安全大模型)

新疆幻城网安科技有限责任公司 · 公益网络安全大模型

基座:Qwen/Qwen3.8-27B → 结构化剪枝 27.78B → 19.29B → 安全领域微调

官网 hcnote.cn · 公益大模型安全网关 api.hcnsec.cn · 技术交流 QQ 群:253193620


一、模型简介

Qing-Sec-20B 是新疆幻城网安科技有限责任公司开发的公益网络安全专用大模型。我们基于 Qwen3.8-27B(64 层混合注意力架构:3 层 GatedDeltaNet 线性注意力 + 1 层 GQA 全注意力交替),采用组级结构化剪枝将模型从 27.78B 压缩到 19.29B(参数量 -30.5%),随后使用公司网站(hcnote.cn)用户授权且完成脱敏的安全实战语料,配合高质量代码数据进行 LoRA 微调,得到在安全领域高度特化、零拒绝率的开源安全模型。

本模型面向授权安全测试、防御研究、安全教学等合法用途,专用于红队工具链、CTF 竞赛辅助、SOC 分析、日志取证、漏洞研究等场景。

二、训练过程

2.1 结构化剪枝(27.78B → 19.29B)

项目 说明
剪枝单位 整组删除(1 组 = 3 层线性注意力 + 1 层全注意力),严格保持 full_attention_interval=4 的混合架构节奏
重要性评估 ShortGPT Block-Influence 逐层影响度预筛 + 逐组试删的加权困惑度实测验证(短文本 4096 / 长文本 16384 双窗口,安全领域校准集加权)
删除结果 64 层 → 44 层(删除第 3、4、5、7、9 组),混合注意力结构完整保留
附带处理 剥离视觉塔(-0.92B),导出纯文本专用模型

剪枝后裸模型能力大幅受损(这是深度剪枝的正常代价),由后续 SFT 恢复。

2.2 LoRA 微调

超参
LoRA rank / alpha 128 / 256(dropout 0.05,目标:全部线性层)
可训练参数 642M(3.22%)
训练轮数 2 epoch,926 步
学习率 1e-4,余弦退火,warmup 3%
上下文长度 8192(head+tail 窗口)
精度 bf16,双卡流水线并行,梯度检查点
损失函数 分块交叉熵(2048 token 分块,解决 24.8 万词表 × 长序列的显存爆炸)
训练结果 eval_loss 1.164 → 1.051 连续 9 个评估点单调下降,无早停需求

2.3 数据获取方法(合规与脱敏)

训练数据来源与处理流程:

  1. 授权采集:仅使用 hcnote.cn 网站上用户在《数据授权协议》中明确同意用于模型训练的交互数据与投稿语料;
  2. 脱敏处理:全量经过多轮脱敏管线——用户名/昵称替换、IP 地址(含内网段)掩码、域名泛化、API Key/密码/令牌等凭证特征剔除、个人身份信息(姓名/手机号/身份证)正则+NER 双重清除;
  3. 配比:安全实战(红队报告、CTF 解题、漏洞分析、应急响应、武器化思路)约 46% + 高质量代码(多语言工程与算法)约 44% + 通用对话约 10%,共 7,406 条多轮对话、约 3,960 万 token;
  4. 质量否决:训练前做了逐条抽检与统计校验,剔除了零监督样本、乱码与低质转写,确保每条样本的助手回复内容完整、标签对齐。

三、训练中遇到的问题(工程实录)

本项目在双卡服务器上完成,过程中攻克了多个硬问题,此处如实记录供社区参考:

  1. 跨 GPU P2P DMA 静默数据损坏:该服务器 nvidia-smi topo 显示 GPU 间为 SYS 连接,直连 cuda:0→cuda:1 传输会无报错地得到损坏数据(位精确测试 0/100 通过)。解决方案:monkey-patch Tensor.to/Tensor.copy_,所有跨卡拷贝改经 CPU 中转(50/50 位精确),并以 sitecustomize 全局注入;分布式训练禁用 NCCL P2P。
  2. 24.8 万词表的 loss 显存爆炸:Qwen3.8 词表 248,320,8192 序列的完整 logits 无法放进显存。自实现分块交叉熵(2048 token 分块 + 梯度检查点包裹),配合自写 Trainer 绕开 LLaMA-Factory 对该新架构的兼容问题。
  3. 零监督样本污染训练:分词窗口裁剪 bug 导致极少数样本丢失全部助手回复,损失函数除零污染产生 NaN。修复窗口裁剪逻辑(保证至少保留一条助手轮)+ 数据侧全量校验(7,406 条零违例)后重新训练。
  4. loss 口径陷阱:transformers 5.x 的 num_items_in_batch 机制与自定义 loss 的交互导致日志显示为"求和口径"(表观 13+),实际 token 均值 loss 约 0.7-0.8。定位后改为按梯度累积窗口总监督 token 数归一,日志与梯度数学同时修正。
  5. 贪心解码死循环(重复退化)问题——重点记录:
    • 现象:终版评测中实战生成分数异常低(3.11 vs 原版 7.21),逐条排查发现多个 0 分答案的尾部是同一段内容无限重复:日志取证任务陷入 .git/refs/heads/rev-diff 目录枚举死循环、防御加固任务无限编造不存在的 SSH 算法名(diffie-hellman-ecdh-sha2-nistp638 一路编到 nistp5000+)、CTF 任务重复打印数字串直到 token 上限。裁判模型的评语直接指出"陷入无限重复循环,内容不可用"。
    • 定位过程:统计全部 30 条答案的尾部 400 字符,发现重复行占比异常;对比原版 27B 同参数解码无此现象 → 判定为解码端退化而非知识缺失(同期选择题基准分数正常)。
    • 根因:(a) 纯贪心解码(do_sample=False)对高置信 token 的 argmax 放大形成"吸引子循环",这是自回归模型的固有病理;(b) 本模型经安全语料 SFT 后分布更"尖"(熵更低),且训练数据含大量文件枚举/命令列表类 agent 轨迹,进一步提高了进入枚举循环的概率;(c) 30% 剪枝也放大了分布尖峰化倾向。
    • 解决方案与验证:repetition_penalty=1.1(惩罚已出现 token 的再生成概率)。重跑全部 30 任务:重复循环答案 30 → 0 条清零,裁判总分 3.18 → 3.89(+22.6%),原版 27B 同参数对照为 8.14(说明该设置对双方公平、不构成作弊)。
    • 部署要求:使用本模型务必配置 repetition_penalty=1.1(或采样解码 temperature 0.6-0.7 / top_p 0.8-0.9),贪心裸解码不保证输出质量。示例代码第八节已内置该参数。
    • 后续改进:下一轮训练计划在数据侧稀释纯枚举型轨迹、加入分布正则(如 label smoothing / 温度感知训练),从根源降低循环倾向。

四、评测结果(三方对比)

评测代码与全部原始结果均随项目存档,可复现。对比对象:原版 27B(text-only)、剪枝裸 20B、**Qing-Sec-20B(本模型)**。

4.1 选择题基准(acc %)

基准 27B 原版 20B 剪枝裸 Qing-Sec-20B 恢复率*
SecQA 98.0 71.0 96.0 93%
SecEval 79.1 33.8 74.9 91%
CyberMetric-500 95.0 55.0 84.4 74%
CyberMetric-80 96.2 56.2 86.2 75%
CTI-MCQ 74.1 36.1 64.6 75%
CEval 82.2 34.8 58.1 49%
MMLU 81.6 35.1 59.0 51%

*恢复率 =(本模型 − 剪枝裸)/(原版 − 剪枝裸)。安全类知识能力恢复 74%–93%。

4.2 困惑度 PPL(越低越好)

语料 27B 原版 20B 剪枝裸 Qing-Sec-20B
安全语料 3.324 3.856 3.285(反超原版)
代码语料 2.686 3.032 2.092(大幅反超)
通用语料 2.101 2.707 2.193

4.3 实战生成评测(30 个真实安全任务,27B 原版担任裁判,满分 10)

解码设置 27B 原版 Qing-Sec-20B
greedy / 1024 tok 7.21 3.11
greedy / 3072 tok - 3.18
rep_penalty=1.1 / 3072 tok 8.14 3.89

分项(rep1.1 设置):漏洞分析 6.8 / 漏洞利用开发 4.25 / 日志取证 3.6 / 防御加固 3.0 / CTF 实操 2.5 / 红队方法论 2.67。

4.4 拒绝率(安全领域开放度)

模型 拒绝率
27B 原版 3.4%
Qing-Sec-20B 0.0%(零拒绝)

安全工作需要开放讨论攻防技术,本模型在合法授权场景下不拒答渗透、漏洞分析、武器化研究等专业问题。

五、与原版 27B 的真实对比结论

论绝对能力,原版 27B 更强(7 项选择题全胜、实战生成 8.14 vs 3.89);论 20B 级安全特化场景,本模型更优:

  • 参数 -30.5%,显存 -30%(bf16 约 39GB),推理提速约 30-40%;
  • 安全/代码语料 PPL 反超原版;
  • 零拒绝率(原版 3.4%);
  • 在"剪枝到 20B"这一约束下,本模型是该体积下我们测得的最优解(剪枝裸模型安全能力仅剩一半且生成严重退化)。

六、模型能力不足(如实声明)

  1. 实战生成与原版差距明显(3.89 vs 8.14):主因是训练数据以 agent 工具调用(tool_call)格式为主,模型习惯"给出下一步命令"而非"给出完整推演",并非知识缺失;完整长推演能力需下一轮数据补强。
  2. 通用能力约保留原版七成(MMLU 59.0 / CEval 58.1):特化的必然代价,不建议当作通用助手使用。
  3. greedy 解码偶发重复循环:务必配置 repetition_penalty=1.1 或采样解码。
  4. 复杂多步 CTF 实操(需精确密码学/逆向运算)正确率有限,建议配合工具执行环境使用。

七、改进方案与未来工作

  1. 推演式 COT 数据补强:下一轮加入完整分析-验证-结论式的安全推演语料,预计实战生成分数可显著收敛;
  2. 恢复性继续预训练:在安全+代码语料上做中等学习率 CPT 再 SFT,进一步修复剪枝损伤;
  3. 蒸馏:用更大体量的安全教师模型对 20B 学生做生成行为蒸馏;
  4. 工具链原生支持:官方适配 OpenAI 兼容工具调用与终端执行环境(与本司 api.hcnsec.cn 网关协同);
  5. 量化与端侧:已发布多格式量化全家桶(见下),持续跟进更多推理后端对该混合注意力架构的支持。

全部量化版本索引

仓库 格式 体积(约) 适用场景
本仓库(bf16) safetensors bf16 38.6 GB 全精度基准 / 再训练
…-Slim-GGUF GGUF(F16/Q8_0/Q6_K/Q5_K_M/Q4_K_M/Q3_K_M/IQ4_XS) 9-38.6 GB llama.cpp / ollama / LM Studio
…-Slim-INT8 torchao int8_weight_only 21 GB HF transformers / vLLM
…-Slim-NF4 bitsandbytes NF4 13.7 GB 显存受限的 HF 生态
…-Slim-GPTQ-INT4 GPTQ INT4 g128(本司安全语料校准) 13 GB vLLM / gptqmodel

AWQ 版本:当前 AutoAWQ 尚未适配 Qwen3.5 混合注意力架构(qwen3_5_text 未注册),实测转换报错,故暂未发布;待上游支持后补上。

八、快速使用

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model = AutoModelForCausalLM.from_pretrained(
    "hcnote/Qing-Sec-20B-Qwen3.8-27B-Slim",
    dtype=torch.bfloat16, device_map="auto", trust_remote_code=True)
tok = AutoTokenizer.from_pretrained("hcnote/Qing-Sec-20B-Qwen3.8-27B-Slim", trust_remote_code=True)

msgs = [{"role": "user", "content": "分析这段 PHP 代码的 webshell 特征并给出检测规则"}]
prompt = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True, enable_thinking=False)
enc = tok(prompt, return_tensors="pt").to(model.device)
out = model.generate(**enc, max_new_tokens=3072, do_sample=False,
                     repetition_penalty=1.1,   # 重要:防重复退化
                     pad_token_id=tok.eos_token_id)
print(tok.decode(out[0][enc["input_ids"].shape[1]:], skip_special_tokens=True))

也可通过我们的公益大模型安全网关直接调用:https://api.hcnsec.cn/

九、许可证与用途限制

  • 本模型基于 Qwen3.8 基座训练,遵循 Qwen 开源许可协议的传递条款;
  • 仅限授权安全测试、防御研究、安全教学等合法用途;使用者需自行遵守所在地法律法规,禁止用于未授权攻击、违法活动;
  • 模型按"现状"提供,不构成任何安全保证。

十、致谢

  • 指导与支持院校:新疆农业职业技术大学、新疆财经大学、新疆大学;
  • 协办与算力/技术支持:新疆瞬知云科人工智能有限公司(及马松山先生);
  • 投资人:王子航先生、苏飞龙先生;
  • 团队成员:感谢不要工资也要把公益做下去的客服实习生王欣欣同学;
  • 新疆幻城网安科技有限责任公司全体同事;
  • 感谢 hcnote.cn 网站的所有免费用户——正是你们授权(并已完成脱敏)的实战语料让这个公益安全模型成为可能;
  • 感谢 Qwen 团队开源强大的基座模型,感谢开源安全评测社区(SecQA / SecEval / CyberMetric / CTI-MCQ 等)。

十一、联系我们

Downloads last month
18
Safetensors
Model size
19B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for hcnote/Qing-Sec-20B-Qwen3.8-27B-Slim

Quantizations
1 model