STAR-S: Improving Safety Alignment through Self-Taught Reasoning on Safety Rules
Di Wu, Yanyan Zhao, Xin Lu, Mingzhe Li, Bing Qin
TL;DR
STAR-S addresses safety alignment against jailbreak attacks by enabling models to reason about safety rules before responding, using a self-taught loop of reasoning, reflection, and supervised fine-tuning. The method combines a Rules Design with a flawed reasoning prefix to provoke self-reflection, plus Reflection Enhancement via safety hints, and a rejection-sampling based fine-tuning loop. Empirical results across six jailbreak benchmarks and two over-refusal benchmarks show STAR-S improves jailbreak safety while maintaining general capabilities, and balances safety with over-refusal better than baselines. The work also investigates data distillation from other models, safety in agent scenarios, and discusses limitations and future directions.
Abstract
Defending against jailbreak attacks is crucial for the safe deployment of Large Language Models (LLMs). Recent research has attempted to improve safety by training models to reason over safety rules before responding. However, a key issue lies in determining what form of safety reasoning effectively defends against jailbreak attacks, which is difficult to explicitly design or directly obtain. To address this, we propose \textbf{STAR-S} (\textbf{S}elf-\textbf{TA}ught \textbf{R}easoning based on \textbf{S}afety rules), a framework that integrates the learning of safety rule reasoning into a self-taught loop. The core of STAR-S involves eliciting reasoning and reflection guided by safety rules, then leveraging fine-tuning to enhance safety reasoning. Repeating this process creates a synergistic cycle. Improvements in the model's reasoning and interpretation of safety rules allow it to produce better reasoning data under safety rule prompts, which is then utilized for further training. Experiments show that STAR-S effectively defends against jailbreak attacks, outperforming baselines. Code is available at: https://github.com/pikepokenew/STAR_S.git.
