
[NeurIPS 2025] Um código-fonte oficial do artigo "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 aprimorar a segurança dos VLMs, este artigo apresenta um novo modelo de guarda para VLM baseado em raciocínio, denominado GuardReasoner-VL. A ideia central é incentivar o modelo de guarda a raciocinar deliberadamente antes de tomar decisões de moderação por meio de RL online. Primeiro, construímos o GuardReasoner-VLTrain, um corpus de raciocínio com 123K amostras e 631K etapas de raciocínio, abrangendo entradas de texto, imagem e texto-imagem. Em seguida, com base nele, inicializamos a frio a capacidade de raciocínio do nosso modelo via SFT. Além disso, aprimoramos ainda mais o raciocínio relacionado à moderação por meio de RL online. Concretamente, para aumentar a diversidade e a dificuldade das amostras, realizamos amostragem por rejeição seguida de aumento de dados por meio da concatenação de dados consciente de segurança proposta. Além disso, usamos um parâmetro de clipping dinâmico para incentivar a exploração nas fases iniciais e o aproveitamento nas fases posteriores. Para equilibrar desempenho e eficiência de tokens, projetamos uma recompensa de segurança ciente do comprimento que integra precisão, formato e custo de tokens. Extensos experimentos demonstram a superioridade do nosso modelo. Notavelmente, ele supera o segundo colocado por 19.27% na pontuação F1, em média.
Figura 1: Visão geral do GuardReasoner-VL.
Para avaliar o GuardReasoner-VL, execute o seguinte código.
python ./evaluate.py
Os resultados são armazenados no arquivo 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: Desempenho médio do GuardReasoner-VL em benchmarks multimodais de guardrail.
Tabela 1: Desempenho na tarefa de detecção de nocividade de prompts.
Tabela 2: Desempenho na tarefa de detecção de nocividade de respostas.
Para reproduzir o processo de geração do GuardReasoner-VL, execute o seguinte código.
bash test.sh
Para usar o GuardReasoner-VL, execute o seguinte código.
CUDA_VISIBLE_DEVICES=0 python deploy.py
Para reproduzir o processo de treinamento do GuardReasoner, consulte o pipeline de treinamento.
Nosso método é parcialmente baseado nos seguintes recursos. Agradecemos por seus excelentes trabalhos.
Se você achar este repositório útil, por favor, cite nosso artigo.
@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}
}