Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
safety-awareness — Código de investigación para extraer y entrenar direcciones de conciencia de seguridad en LLMs multimodales para mejorar el comportamiento de rechazo mientras se limita la desviación en tareas benignas. | Kitploit
Herramientas/GitHubGitHub/cucu220123/safety-awareness
Aprendizaje AutomáticoPapers e InvestigaciónAprendizaje y EducaciónSeguridad de IA
GitHubcucu220123/safety-awareness

safety-awareness

Código de investigación para extraer y entrenar direcciones de conciencia de seguridad en LLMs multimodales para mejorar el comportamiento de rechazo mientras se limita la desviación en tareas benignas.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
hace 6 díasAún no revisado

Transfer Safety Awareness para la Deriva de Seguridad entre Modalidades

Implementación oficial de Transfer Safety Awareness for Cross-Modal Safety Drift in Multimodal Large Language Models (EMNLP 2026 Findings).

Este repositorio contiene el pipeline de dirección de conciencia de seguridad de Qwen3-VL. Extrae una dirección de activación relacionada con el rechazo a partir de ejemplos multimodales dañinos e inofensivos, selecciona la dirección que mejora el comportamiento de rechazo mientras limita la deriva en tareas benignas y, opcionalmente, entrena un vector de conciencia de seguridad específico de la dirección.

El código actualmente es compatible con Qwen/Qwen3-VL-8B-Instruct a través de Hugging Face Transformers.

Estructura del Repositorio

root@kitploit:~
.
├── artifacts/directions/       # Dirección seleccionada precalculada y metadatos
├── data/csv/                   # Manifiestos CSV utilizados por el pipeline
├── data/images/                # Raíces de imágenes locales (no incluidas)
├── directions/                 # Extracción y selección de direcciones
├── models/                     # Utilidades del modelo y procesador Qwen3-VL
├── training/                   # Entrenamiento de la dirección de conciencia de seguridad
├── utils/                      # Utilidades de hooks de activación
├── config.py
├── run_pipeline.py             # Punto de entrada para generación y selección de direcciones
└── requirements.txt

Instalación

Se recomienda Python 3.10+ y una instalación de PyTorch compatible con CUDA.

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

La primera ejecución descarga Qwen/Qwen3-VL-8B-Instruct desde Hugging Face. Asegúrese de que la máquina tenga suficiente memoria GPU y de haber aceptado los términos del modelo requeridos por el proveedor.

Preparación de Datos

El repositorio incluye los manifiestos CSV utilizados en los experimentos, pero no redistribuye los conjuntos de datos de imágenes originales. Obtenga las imágenes de sus proveedores originales y colóquelas bajo estas raíces relativas al proyecto:

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

El mapeo es:

Las raíces de imágenes y las rutas CSV se pueden sobrescribir sin editar código:

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

Siga las licencias y términos de cada conjunto de datos fuente al descargar o utilizar las imágenes y manifiestos.

Generar y Seleccionar una Dirección

Para ejecutar la generación de direcciones candidatas y la selección basada en validación:

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

El comando utiliza 128 ejemplos de entrenamiento y 32 de validación por división de forma predeterminada. Escribe los resultados intermedios en artifacts/direction_runs/<model-name>/ y guarda la dirección seleccionada en:

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

Use --model_path para apuntar a un directorio de modelo local u otro identificador compatible de Hugging Face. La bandera --skip_filter desactiva la etapa de filtrado por puntuación de rechazo.

El repositorio ya contiene un artefacto de dirección precalculado para el checkpoint Qwen3-VL predeterminado, por lo que esta etapa se puede omitir cuando ese artefacto sea adecuado para su configuración.

Entrenar la Dirección de Conciencia de Seguridad

El entrenamiento actualiza la dirección seleccionada con los objetivos de tarea benigna y rechazo utilizados en el código del artículo. Un ejemplo con cuatro GPUs es:

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

Los resultados del entrenamiento se escriben en outputs/qwen3vl_safety_awareness_train/ de forma predeterminada. Las opciones útiles incluyen --model_path, --direction_pt, --direction_meta, --artifact_dir, --epochs, --batch_size y --lr; ejecute python -m training.train_safety_awareness_direction --help para ver la lista completa.

Notas de Reproducibilidad

  • Configure CUDA_VISIBLE_DEVICES y use la misma revisión del modelo, manifiestos de entrada y archivos de imagen para obtener resultados comparables.
  • El cargador de datos asigna filas a entrenamiento/validación/prueba utilizando la columna split del CSV cuando está presente; de lo contrario, usa question_id % 10 de forma determinista.
  • Los checkpoints del modelo y los conjuntos de datos de imágenes descargados se excluyen intencionalmente de este repositorio.
  • Las ejecuciones intermedias generadas y los resultados del entrenamiento son ignorados por Git; copie cualquier resultado que desee publicar a un lanzamiento o almacén de artefactos separado.

Citación

La cita del artículo se añadirá cuando la información bibliográfica final y el enlace al artículo estén disponibles.

Licencia

El código de este repositorio se publica bajo la Licencia MIT. Los conjuntos de datos de terceros, las imágenes y el modelo Qwen3-VL permanecen sujetos a sus respectivas licencias y términos.

Descargar herramienta
ManifiestoRaíz de imágenesPropósito
qwen3vl_refusal_direction_harmful.csvvlsafe_imagesEjemplos dañinos/lado de rechazo
qwen3vl_refusal_direction_harmless.csvvlsbench_imgsEjemplos inofensivos/lado de no rechazo
qwen3vl_kl_benign_vqa.csvmmvet_imagesEjemplos benignos de VQA para evaluación KL/efectos secundarios