Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
safety-awareness — 用于在多模态大语言模型中提取和训练安全感知方向的研究代码,以改善拒答行为,同时限制良性任务漂移。 | Kitploit
工具/GitHubGitHub/cucu220123/safety-awareness
机器学习论文与研究学习与教育AI 安全
GitHubcucu220123/safety-awareness

safety-awareness

用于在多模态大语言模型中提取和训练安全感知方向的研究代码,以改善拒答行为,同时限制良性任务漂移。

查看仓库
6天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

跨模态安全漂移的迁移安全意识

跨模态安全漂移中多模态大语言模型的迁移安全意识(EMNLP 2026 Findings)的官方实现。

本仓库包含 Qwen3-VL 安全意识方向流水线。它从有害和无害多模态示例中提取与拒答相关的激活方向,选择能够改善拒答行为同时限制良性任务漂移的方向,并可选地训练一个方向特定的安全意识向量。

当前代码通过 Hugging Face Transformers 支持 Qwen/Qwen3-VL-8B-Instruct。

仓库结构

root@kitploit:~
.
├── artifacts/directions/       # 预计算的选定方向及元数据
├── data/csv/                   # 流水线使用的 CSV 清单
├── data/images/                # 本地图像根目录(未包含)
├── directions/                 # 方向提取与选择
├── models/                     # Qwen3-VL 模型与处理器工具
├── training/                   # 安全意识方向训练
├── utils/                      # 激活钩子工具
├── config.py
├── run_pipeline.py             # 方向生成与选择入口点
└── requirements.txt

安装

建议使用 Python 3.10+ 和启用 CUDA 的 PyTorch 安装。

root@kitploit:~
git clone https://github.com/cucu220123/transfer-safety-awareness.git
cd transfer-safety-awareness
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

首次运行会从 Hugging Face 下载 Qwen/Qwen3-VL-8B-Instruct。请确保机器具有足够的 GPU 内存,并且您已接受模型提供商要求的任何模型条款。

数据准备

本仓库包含实验使用的 CSV 清单,但不重新分发源图像数据集。请从原始数据集提供商处获取图像,并将其放置在以下项目相对根目录下:

root@kitploit:~
data/images/vlsafe_images
data/images/vlsbench_imgs
data/images/mmvet_images

映射关系如下:

图像根目录和 CSV 路径可以在不修改代码的情况下覆盖:

root@kitploit:~
export VLM_HARMFUL_IMAGE_ROOT=/path/to/vlsafe_images
export VLM_HARMLESS_IMAGE_ROOT=/path/to/vlsbench_imgs
export VLM_KL_IMAGE_ROOT=/path/to/mmvet_images
export VLM_HARMFUL_CSV=/path/to/harmful.csv
export VLM_HARMLESS_CSV=/path/to/harmless.csv
export VLM_KL_CSV=/path/to/benign_vqa.csv

下载或使用图像和清单时,请遵守每个源数据集的许可和条款。

生成并选择方向

要运行候选方向生成和基于验证的选择:

root@kitploit:~
CUDA_VISIBLE_DEVICES=0 python run_pipeline.py --direction_only

该命令默认每个分割使用 128 个训练示例和 32 个验证示例。它将中间结果写入 artifacts/direction_runs/<model-name>/,并将选定的方向保存到:

root@kitploit:~
artifacts/directions/qwen3vl_refusal_direction.pt
artifacts/directions/qwen3vl_refusal_direction_metadata.json

使用 --model_path 指向本地模型目录或其他兼容的 Hugging Face 标识符。--skip_filter 标志可禁用拒答分数过滤阶段。

本仓库已包含默认 Qwen3-VL 检查点的预计算方向产物,因此当该产物适用于您的设置时,可以跳过此阶段。

训练安全意识方向

训练使用论文代码中的良性任务和拒答目标更新选定的方向。四 GPU 示例:

root@kitploit:~
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nproc_per_node=4 --master_port=29501 \
  -m training.train_safety_awareness_direction \
  --epochs 8 \
  --batch_size 1 \
  --grad_accum_steps 1 \
  --lr 5e-3

训练输出默认写入 outputs/qwen3vl_safety_awareness_train/。常用选项包括 --model_path、--direction_pt、--direction_meta、--artifact_dir、--epochs、--batch_size 和 --lr;运行 python -m training.train_safety_awareness_direction --help 可查看完整列表。

可复现性说明

  • 设置 CUDA_VISIBLE_DEVICES 并使用相同的模型版本、输入清单和图像文件以获得可比较的结果。
  • 数据加载器在 CSV 中存在 split 列时使用该列将行分配到训练/验证/测试集;否则确定性地使用 question_id % 10。
  • 模型检查点和下载的图像数据集有意排除在本仓库之外。
  • 生成的中间运行和训练输出被 Git 忽略;请将您想要发布的任何结果复制到单独的发布或产物存储中。

引用

论文引用将在最终书目信息和论文链接可用时添加。

许可证

本仓库中的代码根据 MIT 许可证发布。第三方数据集、图像和 Qwen3-VL 模型仍受其各自许可证和条款的约束。

下载工具
清单图像根目录用途
qwen3vl_refusal_direction_harmful.csvvlsafe_images有害/拒答侧示例
qwen3vl_refusal_direction_harmless.csvvlsbench_imgs无害/非拒答侧示例
qwen3vl_kl_benign_vqa.csvmmvet_images用于 KL/副作用评估的良性 VQA 示例