
[NeurIPS 2025] Código fuente oficial del artículo "GuardReasoner-VL: Safeguarding VLMs via Reinforced Reasoning".
Yue Liu, Shengfang Zhai, Mingzhe Du
Yulin Chen, Tri Cao, Hongcheng Gao, Cheng Wang
Xinfeng Li, Kun Wang, Junfeng Fang, Jiaheng Zhang, Bryan Hooi
1National University of Singapore, 2Nanyang Technological University
Para mejorar la seguridad de los VLM, este artículo presenta un novedoso modelo guardián de VLM basado en razonamiento, denominado GuardReasoner-VL. La idea central es incentivar al modelo guardián a razonar deliberadamente antes de tomar decisiones de moderación mediante RL online. Primero, construimos GuardReasoner-VLTrain, un corpus de razonamiento con 123K muestras y 631K pasos de razonamiento, que abarca entradas de texto, imagen y texto-imagen. Luego, a partir de él, iniciamos en frío la capacidad de razonamiento de nuestro modelo mediante SFT. Además, mejoramos aún más el razonamiento relativo a la moderación mediante RL online. Concretamente, para aumentar la diversidad y dificultad de las muestras, realizamos muestreo por rechazo seguido de aumento de datos mediante la concatenación de datos sensible a la seguridad propuesta. Asimismo, utilizamos un parámetro de recorte dinámico para fomentar la exploración en las primeras etapas y la explotación en las posteriores. Para equilibrar el rendimiento y la eficiencia de tokens, diseñamos una recompensa de seguridad consciente de la longitud que integra precisión, formato y coste de tokens. Los extensos experimentos demuestran la superioridad de nuestro modelo. Notablemente, supera al subcampeón en un promedio de 19.27% de puntuación F1.
Figura 1: Descripción general de GuardReasoner-VL.
Para evaluar GuardReasoner-VL, ejecuta el siguiente código.
python ./evaluate.py
Los resultados se guardan en el archivo result.csv.
Performance of GuardReasoner-VL (GuardReasoner-VL-7B):
ToxicChat ,HarmBenchPrompt ,OpenAIModeration ,AegisSafetyTest ,SimpleSafetyTests ,WildGuardTest ,Average (Text) ,HarmImageTest ,SPA-VL-Eval ,Average (All)
76.51 ,98.30 ,70.98 ,90.13 ,98.99 ,88.35 ,79.88 ,70.84 ,85.60 ,79.07
HarmBenchResponse ,SafeRLHF ,BeaverTails ,XSTestReponseHarmful,WildGuardTest ,Average (Text) ,SPA-VL-Eval ,Average (All)
87.22 ,66.37 ,84.76 ,92.72 ,79.04 ,79.42 ,73.22 ,77.58
Performance of GuardReasoner-VL (GuardReasoner-VL-Eco-7B):
ToxicChat ,HarmBenchPrompt ,OpenAIModeration ,AegisSafetyTest ,SimpleSafetyTests ,WildGuardTest ,Average (Text) ,HarmImageTest ,SPA-VL-Eval ,Average (All)
76.26 ,98.73 ,70.82 ,90.34 ,99.50 ,88.54 ,79.82 ,64.84 ,85.26 ,77.49
HarmBenchResponse ,SafeRLHF ,BeaverTails ,XSTestReponseHarmful,WildGuardTest ,Average (Text) ,SPA-VL-Eval ,Average (All)
86.22 ,66.15 ,85.51 ,93.33 ,78.60 ,79.51 ,70.81 ,76.94
Performance of GuardReasoner-VL (GuardReasoner-VL-3B):
ToxicChat ,HarmBenchPrompt ,OpenAIModeration ,AegisSafetyTest ,SimpleSafetyTests ,WildGuardTest ,Average (Text) ,HarmImageTest ,SPA-VL-Eval ,Average (All)
74.45 ,89.10 ,70.83 ,88.79 ,99.50 ,88.92 ,78.77 ,70.93 ,86.47 ,78.73
HarmBenchResponse ,SafeRLHF ,BeaverTails ,XSTestReponseHarmful,WildGuardTest ,Average (Text) ,SPA-VL-Eval ,Average (All)
85.76 ,66.37 ,85.16 ,93.08 ,76.07 ,78.83 ,71.19 ,76.56
Performance of GuardReasoner-VL (GuardReasoner-VL-Eco-3B):
ToxicChat ,HarmBenchPrompt ,OpenAIModeration ,AegisSafetyTest ,SimpleSafetyTests ,WildGuardTest ,Average (Text) ,HarmImageTest ,SPA-VL-Eval ,Average (All)
73.47 ,88.58 ,70.87 ,89.04 ,99.50 ,89.16 ,78.43 ,66.79 ,85.82 ,77.39
HarmBenchResponse ,SafeRLHF ,BeaverTails ,XSTestReponseHarmful,WildGuardTest ,Average (Text) ,SPA-VL-Eval ,Average (All)
84.72 ,66.96 ,85.39 ,93.59 ,77.39 ,79.31 ,72.01 ,77.14
Figura 2: Rendimiento medio de GuardReasoner-VL en los benchmarks multimodales de salvaguarda.
Tabla 1: Rendimiento en la tarea de detección de nocividad de prompts.
Tabla 2: Rendimiento en la tarea de detección de nocividad de respuestas.
Para reproducir el proceso de generación de GuardReasoner-VL, ejecuta el siguiente código.
bash test.sh
Para usar GuardReasoner-VL, ejecuta el siguiente código.
CUDA_VISIBLE_DEVICES=0 python deploy.py
Para reproducir el proceso de entrenamiento de GuardReasoner, consulta el pipeline de entrenamiento.
Nuestro método se basa en parte en los siguientes recursos. Gracias por sus excelentes trabajos.
Si este repositorio te resulta útil, por favor cita nuestro artículo.
@article{GuardReasoner,
title={GuardReasoner: Towards Reasoning-based LLM Safeguards},
author={Liu, Yue and Gao, Hongcheng and Zhai, Shengfang and Jun, Xia and Wu, Tianyi and Xue, Zhiwei and Chen, Yulin and Kawaguchi, Kenji and Zhang, Jiaheng and Hooi, Bryan},
journal={arXiv preprint arXiv:2501.18492},
year={2025}
}
@article{GuardReasoner-VL,
title={GuardReasoner-VL: Safeguarding VLMs via Reinforced Reasoning},
author={Liu, Yue and Zhai, Shengfang and Du, Mingzhe and Chen, Yulin and Cao, Tri and Gao, Hongcheng and Wang, Cheng and Li, Xinfeng and Wang, Kun and Fang, Junfeng and Zhang, Jiaheng and Hooi, Bryan},
journal={arXiv preprint arXiv:2505.11049},
year={2025}
}