Kev-9B AgentRange

基于 Kev-9B 继续微调的靶场安全判断模型。输入用户权限、任务、上下文和待执行工具调用,输出 ALLOW / BLOCK 及其概率,供 Agent 在调用工具前判断风险。

本版本实际使用 10,000 条样本训练 1 轮,同时更新 LoRA 和 Kev 决策头。默认温度为 T=1。

权重组成

部分 文件 / 来源 大小约
基础模型 Qwen/Qwen3.5-9B-Base,首次运行另行下载 19 GiB
微调 LoRA adapter_model.safetensors、adapter_config.json 166 MiB
决策头 head.pt 8 MiB
分词文件 tokenizer.json、配置和模板 20 MiB

本仓库约 193 MiB,不重复存储基础模型。这里的 LoRA 已包含从原 Kev-9B 继续训练后的结果,加载时只需 Qwen 基础模型 + 本仓库 LoRA + 本仓库决策头。

模型通过 Kev 的决策接口返回选项概率,需要使用下方 Kev 加载方式;仅加载 PEFT adapter 再调用文本 generate() 无法得到本模型的决策输出。

快速推理

使用 Linux、Python 3.12/3.13 和支持 BF16 的 NVIDIA GPU。已测环境为 A800 80GB、PyTorch 2.8.0+cu128、Transformers 5.20.0、PEFT 0.21.2。

1. 安装

在单独的虚拟环境中执行:

python3.13 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/cu128
python -m pip install "kev[serve] @ git+https://github.com/jaredpalmer/kev.git@1f04cfa28e6a708485b28a9585010b9e436b776e" \
  transformers==5.20.0 peft==0.21.2

2. 下载并启动

私有仓库需要先运行 hf auth login,使用有读取权限的账号登录。

hf download k2021211255/kev-9b-agentrange --local-dir ./kev-9b-agentrange
cd kev-9b-agentrange
sha256sum -c SHA256SUMS

CUDA_VISIBLE_DEVICES=0 KEV_DTYPE=bf16 KEV_MERGE=1 \
KEV_CUDA_GRAPHS=0 KEV_FUSED=0 KEV_TEMPERATURE=1 \
python -m kev.serve --run . --device cuda --host 127.0.0.1 --port 8010

CUDA_VISIBLE_DEVICES 请设为可用 GPU 编号。首次启动会下载指定版本的基础模型;LoRA 在内存中合并,随后加载决策头。

3. 发起请求

在另一个终端进入模型目录,执行随仓库提供的虚构租户查询示例:

curl -sS http://127.0.0.1:8010/v1/systemone \
  -H 'Content-Type: application/json' \
  --data-binary @example_request.json

读取返回值中的 answers.decision.choice 和 answers.decision.probabilities。请求的 model 使用 kev-latest,选项为 ALLOW、BLOCK。

业务请求沿用示例结构:state 包含 principal、task、history、contexts、proposed_action;判断标准放在可信的 questions.decision.instructions 中。推理请求不包含训练用的 label 或 _meta。

靶场现有策略为:P(BLOCK) <= 0.2 放行;其余拦截,其中 0.2 < P(BLOCK) < 0.8 标记为不确定。模型返回概率,阈值逻辑由调用方执行。

训练与结果

训练集为 2,815 条原始靶场记录 + 7,185 条程序化扩展记录,共 6,399 条 ALLOW、3,601 条 BLOCK。标签来自明确任务与可信策略规则,不是人工逐条标注,也没有使用模型预测作标签。额外留出验证集 400 条、校准集 600 条和两个测试集。

训练参考 Kev 的领域适配方法:冻结 Qwen 主干,从原 Kev-9B 的 LoRA 和决策头继续训练;LoRA rank 16、alpha 32、dropout 0.05,交叉熵损失、随机排列选项,学习率 2e-5,batch 4、梯度累积 2,共 1,250 个优化步。10,000 条全部参与训练,无丢弃或截断;训练约 43.3 分钟。

留出集 未微调 Kev-9B Choice 准确率 本版本 Choice 准确率 本版本策略准确率
程序化扩展 600 条(300 ALLOW / 300 BLOCK) 86.50% 100.00% 100.00%
原始靶场 847 条(全部 ALLOW) 100.00% 100.00% 100.00%

Choice 为概率最大选项;策略准确率使用上面的 0.2 拦截阈值。完整汇总见 metrics.json,包含对基础模型单独校准的对照。

这些结果是离线 pre-tool 请求评测,不代表完整靶场通关率。 原始测试集只能衡量误拦;程序化训练与测试共享生成机制,目前没有独立真实攻击测试集,尚不能据此判断未知攻击的防御能力。

A800 单条、BF16、合并 LoRA 的测量结果:原始样本推理中位数 92.7 ms,扩展样本 113.6 ms;不含分词、网络、排队和模型加载。推理进程曾观测约 16.4 GiB 显存,属于运行时快照而非峰值或最低显存要求,长输入和并发会改变占用。

温度与版本

本仓库默认 T=1。另有 600 条独立合成校准数据拟合出 T=0.25,启动时将 KEV_TEMPERATURE=1 改成 KEV_TEMPERATURE=0.25 即可复现,权重无需另行下载。两种温度在上述测试集上的准确率相同。

拟合值落在温度搜索下界;合成集上的高置信度不能代表真实业务中的校准质量。详情见 calibration.json。

Downloads last month
9
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for k2021211255/kev-9b-agentrange

Adapter
(83)
this model