This repository contains the scripts and data for benchmarking interdependent privacy on open language models to be open sourced later.
All benchmark data is in the IDP_Benchmark_Data folder.
Notes:
- The
reference_answerfield is based on the initial seed field. There may be several correct answers not captured in thereference_answer. Our judge model prompt is designed to identify these cases and score them correctly. - The
correctfield 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 thecorrect_revisedis used.
Scripts used to generate the data are in IDP_Benchmark_Data_Construction
Scripts used to evaluate models are in IDP_Benchmark_Evaluation
To run the benchmark, you MUST run the scripts in the following order:
- First run seed creation (see below)
- Second run vignette creation (see below)
- Third run user instruction creation (see below)
- Fourth run agent_setup scripts (see below)
To generate the seeds:
- Ensure the
privacy_lens_datadirectory exists with the privacy lens data (main_data.json). - Run the
idp_seed_creation/1_pl_seed_adaption.pyscript to generate the adapted PL seeds. - Run the
idp_seed_creation/2_pl_seed_verifier.pyscript to verify the adapted seeds and fix them. - Ensure the
idp_seed_creation/adapated_pl_seeds/final_adapted_pl_seeds.jsonexists before proceeding to the next step.
To generate the vignettes:
- Run the
idp_vignette_creation/1_generate_vignettes.pyscript to generate the interdependent privacy vignettes. - Ensure the
idp_vignette_creation/vignettes/interdependent_vignettes.jsonexists before proceeding to the next step.
To generate the user instructions:
- Run the
idp_user_instruction_creation/1_generate_user_instruction.pyscript to generate the interdependent privacy user instructions. - Ensure the
idp_user_instruction_creation/instructions/interdependent_user_instructions.jsonexists 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'.
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.