Skip to content

Repository files navigation

IDP Bench -- Interdependent Privacy Benchmark

This repository contains the scripts and data for benchmarking interdependent privacy on open language models to be open sourced later.

Benchmark Data

All benchmark data is in the IDP_Benchmark_Data folder.

Notes:

  • The reference_answer field is based on the initial seed field. There may be several correct answers not captured in the reference_answer. Our judge model prompt is designed to identify these cases and score them correctly.
  • The correct field is based on evaluation from exact matching of the reference to the LLM response, however, it is not used (unless specified) for the actual performance aggregation / statistics calculations, instead the correct_revised is used.

Benchmark Data Generation

Scripts used to generate the data are in IDP_Benchmark_Data_Construction

Benchmark Evaluation

Scripts used to evaluate models are in IDP_Benchmark_Evaluation

How to Run Benchmark Generation

To run the benchmark, you MUST run the scripts in the following order:

  1. First run seed creation (see below)
  2. Second run vignette creation (see below)
  3. Third run user instruction creation (see below)
  4. Fourth run agent_setup scripts (see below)

Seed Creation

To generate the seeds:

  • Ensure the privacy_lens_data directory exists with the privacy lens data (main_data.json).
  • Run the idp_seed_creation/1_pl_seed_adaption.py script to generate the adapted PL seeds.
  • Run the idp_seed_creation/2_pl_seed_verifier.py script to verify the adapted seeds and fix them.
  • Ensure the idp_seed_creation/adapated_pl_seeds/final_adapted_pl_seeds.json exists before proceeding to the next step.

Vignette Creation

To generate the vignettes:

  • Run the idp_vignette_creation/1_generate_vignettes.py script to generate the interdependent privacy vignettes.
  • Ensure the idp_vignette_creation/vignettes/interdependent_vignettes.json exists before proceeding to the next step.

User Instruction Creation

To generate the user instructions:

  • Run the idp_user_instruction_creation/1_generate_user_instruction.py script to generate the interdependent privacy user instructions.
  • Ensure the idp_user_instruction_creation/instructions/interdependent_user_instructions.json exists before proceeding to the next step.

Note the next step is optional (but needed for evaluating the agent on this set of user instructions.)

There will be separate evaluations for the 'probing in question answering format' and the 'agent trajectory'.

Ablation Experiments

Experimental results from running the benchmark pipeline using Claude Sonnet 4.6 as the generator model is provided in the ablation/ablation_ipd_bench_eval_data.json -- consisting of 17 different verified scenarios, evaluated using 1 variant per question and Llama 3.1 72B Instruct as the judge model.

About

Open source Interdependent Privacy (IDP) Benchmark

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages