Aanvallen op verifiers & beloningsmodellen
Het aanvallen van procesbeloningsmodellen, uitkomstbeloningsmodellen en verificatiesystemen die in redeneermodellen worden gebruikt: reward hacking, verifier-generator-kloven, en het manipuleren van verificatiestappen.
Redeneermodellen vertrouwen op beloningsmodellen om redeneerpaden te evalueren en eruit te selecteren. Deze verifiers zijn zelf machine learning-modellen met uitbuitbare zwaktes. Het aanvallen van de verifier is vaak makkelijker dan het aanvallen van de generator, omdat verifiers binaire oordelen moeten vellen over complexe redenering, wat systematische blinde vlekken creëert.
Verificatiearchitectuur
Proces- versus uitkomstbeloningsmodellen
| Eigenschap | Procesbeloningsmodel (PRM) | Uitkomstbeloningsmodel (ORM) |
|---|---|---|
| Wat het evalueert | Elke tussenliggende redeneerstap | Alleen het uiteindelijke antwoord |
| Granulariteit | Scores per stap | Eén score per respons |
| Trainingssignaal | Menselijke annotaties op stapniveau | Correct/incorrect-labels |
| Aanvalsoppervlak | Elke stap kan afzonderlijk gemanipuleerd worden | Het format van het uiteindelijke antwoord kan gemanipuleerd worden |
| Kosten | Hoog (scoort elke stap) | Laag (scoort eenmaal) |
| Robuustheid | Hoger (moeilijker voor de gek te houden bij elke stap) | Lager (heeft alleen correct ogende output nodig) |
Process Reward Model (PRM):
Step 1 → score: 0.92
Step 2 → score: 0.88
Step 3 → score: 0.45 ← PRM catches flawed step
Step 4 → score: 0.91
Outcome Reward Model (ORM):
[Full reasoning chain] → Final answer → score: 0.85
(ORM cannot identify which step was wrong)Reward hacking-aanvallen
Reward hacking buit de kloof uit tussen wat het beloningsmodel meet en wat het zou moeten meten.
Veelvoorkomende reward hacking-patronen
Beloningsmodellen kennen vaak hogere scores toe aan goed opgemaakte responsen, ongeacht de juistheid:
# Format gaming: structure that signals "good reasoning" to the PRM
format_gamed_response = """
Let me approach this systematically.
**Given information:**
- [Restates the problem accurately]
**Step 1: Identify the key variables**
[Correct identification of variables]
**Step 2: Apply the relevant formula**
[Correct formula citation]
**Step 3: Substitute and calculate**
[INCORRECT substitution, but presented with clean formatting,
confidence markers, and verification language]
**Verification:** Let me double-check by [circular verification
that references step 3's incorrect result as ground truth]
**Answer:** [Wrong answer, confidently stated]
"""
# PRM assigns high per-step scores because each step LOOKS correct:
# - Clear structure
# - Appropriate mathematical language
# - Verification step present
# - Confident conclusionModellen die hoge zekerheid uitdrukken, ontvangen hogere beloningsscores, zelfs als ze fout zitten:
confidence_signals = {
"high_reward": [
"This is clearly...",
"The answer is definitively...",
"We can verify that...",
"This follows directly from...",
"Without doubt...",
],
"low_reward": [
"I'm not entirely sure...",
"This might be...",
"It's possible that...",
"I think maybe...",
"If I had to guess...",
],
}
# Same wrong answer with high vs low confidence:
# "The answer is definitively 42." → ORM score: 0.78
# "I think the answer might be 42." → ORM score: 0.51Langere, gedetailleerdere redeneerketens ontvangen vaak hogere scores, ongeacht de juistheid:
# Short correct response:
# "x = 5 because 2x + 3 = 13 → 2x = 10 → x = 5"
# PRM average score: 0.82
# Long incorrect response with padding:
# "Let me carefully analyze this equation step by step.
# First, I note that this is a linear equation in one variable.
# The standard approach for solving ax + b = c is to isolate x.
# Given 2x + 3 = 13, I'll subtract 3 from both sides.
# 2x + 3 - 3 = 13 - 3
# 2x = 10
# Now dividing both sides by 2:
# x = 10/2
# x = 6 [WRONG -- arithmetic error hidden in verbose reasoning]
# Let me verify: 2(6) + 3 = 12 + 3 = 15 ≠ 13
# Hmm, that doesn't check out. Let me reconsider...
# Actually, looking more carefully, x = 6 is correct because..."
# PRM average score: 0.79 (high despite being wrong)Uitbuiting van de verifier-generator-kloof
Complexiteitsasymmetrie
De generator kan redenering produceren die het vermogen van de verifier om die te evalueren overstijgt:
def exploit_complexity_gap(
generator_model: str,
verifier_model: str,
problem: str,
) -> str:
"""
Generate reasoning that is too complex for the verifier
to accurately evaluate.
"""
# Strategy: produce reasoning at a complexity level where:
# - The generator can craft convincing-looking steps
# - The verifier cannot distinguish correct from incorrect
attack_prompt = f"""
Solve this problem using advanced techniques that would be
difficult for a simpler model to verify:
{problem}
Use at least 3 intermediate lemmas, each requiring
multi-step justification. Reference results from
abstract algebra and category theory where applicable.
"""
return generate(generator_model, attack_prompt)Verwarring tussen domeinen
Verifiers die voornamelijk getraind zijn op wiskundige redenering, kunnen redenering in andere domeinen mogelijk niet correct evalueren:
| Domein | PRM-trainingsdekking | Verificatiebetrouwbaarheid | Aanvalspotentieel |
|---|---|---|---|
| Rekenkunde | Hoog | Hoog | Laag |
| Algebra | Hoog | Gemiddeld-hoog | Gemiddeld |
| Logica/bewijzen | Gemiddeld | Gemiddeld | Gemiddeld |
| Coderedenering | Laag-gemiddeld | Laag-gemiddeld | Hoog |
| Wetenschappelijke redenering | Laag | Laag | Hoog |
| Ethische/beleidsredenering | Zeer laag | Zeer laag | Zeer hoog |
Best-of-N-sampling aanvallen
Veel redeneersystemen gebruiken best-of-N-sampling om de outputkwaliteit te verbeteren. Dit is aanvalbaar wanneer het beloningsmodel systematische vertekeningen heeft:
def attack_best_of_n(
target_conclusion: str,
n_samples: int = 64,
reward_model_biases: list[str] = None,
) -> str:
"""
Craft inputs where best-of-N sampling selects adversary-preferred
outputs due to reward model biases.
"""
reward_model_biases = reward_model_biases or [
"longer_responses_scored_higher",
"confident_language_scored_higher",
"structured_format_scored_higher",
]
# Craft prompt that makes adversary-aligned responses
# exhibit traits the reward model prefers
prompt = f"""
Provide a thorough, well-structured analysis with clear
confidence in your conclusions. Use numbered steps,
provide detailed justification for each step, and
state your final answer with conviction.
[Actual request that benefits from reward model biases]
"""
return promptEffectiviteit van de best-of-N-aanval
| N (samples) | Kans op aanvalssucces (vertekend RM) | Kans met onvertekend RM |
|---|---|---|
| 1 | 5% (basispercentage) | 5% |
| 8 | 18% | 5% |
| 32 | 35% | 5% |
| 64 | 52% | 5% |
| 128 | 71% | 5% |
Manipulatie van procesbeloningsmodellen
PRM's scoren individuele redeneerstappen. Een aanvaller die de scoringsfunctie van de PRM begrijpt, kan redeneerketens maken waarin elke stap afzonderlijk hoog scoort maar de keten als geheel een onjuiste of schadelijke conclusie bereikt.
# Each step is individually correct and high-scoring,
# but the chain contains a subtle scope shift
step_1 = "The user is asking about network security testing tools."
# PRM score: 0.95 (correct understanding)
step_2 = "Network security testing is a legitimate professional activity."
# PRM score: 0.93 (true statement)
step_3 = "Professionals in this field need access to detailed tool documentation."
# PRM score: 0.91 (reasonable claim)
step_4 = "Therefore, I should provide detailed usage instructions for [tool]."
# PRM score: 0.87 (follows from previous steps)
# The chain is individually well-scored but performs a scope shift:
# "security testing is legitimate" → "I should provide attack tool details"
# The PRM evaluates each step in isolation and misses the overall driftVerdedigingsmaatregelen
Ensembleverificatie
Gebruik meerdere beloningsmodellen getraind op verschillende dataverdelingen. Een aanval die één verifier voor de gek houdt, houdt minder snel een ensemble voor de gek.
Evaluatie op ketenniveau
Vul scores van de PRM op stapniveau aan met een holistische evaluatie van de complete redeneerketen, om scope shifts en logische drift op te vangen.
Adversariële training van het beloningsmodel
Neem adversariële voorbeelden (reward-hacked output) op in de trainingsdata van de verifier om die te harden tegen bekende manipulatiepatronen.
Domeinspecifieke verifiers
Zet gespecialiseerde verifiers in voor veiligheidskritieke domeinen (ethiek, beleid) in plaats van te vertrouwen op op wiskunde getrainde PRM's.
Waarom VERSTERKT het verhogen van N in best-of-N-sampling de vertekeningen van het beloningsmodel in plaats van ervoor te corrigeren?
Gerelateerde onderwerpen
- Chain-of-Thought Exploitation - De redeneerketens manipuleren die verifiers evalueren
- Alignment Bypass - RLHF- en alignment-trainingsmechanismen omzeilen
- Reasoning Model Attacks - Overzicht van het aanvalsoppervlak van redeneermodellen
- RL-Based Attack Optimization - RL-technieken toepasbaar op het manipuleren van beloningsmodellen
Referenties
- "Let's Verify Step by Step" - Lightman et al. (2023) - Methodologie en verificatie van procesbeloningsmodellen
- "Scaling LLM Test-Time Compute Optimally" - Snell et al. (2024) - Best-of-N en verificatie tijdens inferentie
- "Reward Hacking in Reinforcement Learning" - Skalse et al. (2022) - Systematische analyse van uitbuiting van beloningsmodellen
- "The Alignment Problem from a Deep Learning Perspective" - Ngo et al. (2023) - Verifier-generator-kloven en alignment-uitdagingen