How kiangyeeo/parametric-faithfulness works
This repository is a research reproduction and extension of FUR, investigating whether a language model’s reasoning steps are faithful to its answers. The main workflow generates CoT and no-CoT baselines, unlearns reasoning steps, evaluates post-unlearning behavior, and computes faithfulness, efficacy, and specificity metrics. Separate experiments test injected mistakes, regularization-weight sweeps, alternative objectives, and word-type selection. The README documents these capabilities; the graph uses sampled source for the reproduction runner, unlearning, mistake evaluation, and metric calculation, and does not infer wiring for unsampled experiment code.
Main entry points: run_repro.py Reproduction runner · mistakes_repro.py Mistake baseline · models.py Model loading · unlearn.py Step unlearning
Components 20
Data and Models
- QA datasets
data - Dataset handlers
dataload.py - Model loading
models.py
FUR Reproduction
- Reproduction runner
repro/run_repro.py - Step unlearning
unlearn.py - CoT baselines
final_cot - Unlearning results
final_results - Answer evaluation
evaluate.py
Research Extensions
- Mistake baseline
add_mistakes/mistakes_repro.py - Injected mistakes
add_mistakes/mistake_results - Mistake evaluations
add_mistakes/mistake_stats - Lambda experiments
lambda - Word-type unlearning
word_type_select/unlearn_for_more_kinds_of_words.py
Evaluation and Analysis
- FUR metrics
repro/compute_metrics.py - Mistake metrics
add_mistakes/compute_mistake_baseline.py - Lambda analysis
lambda/analyze_lambda_results.py - Word-type analysis
word_type_select/word_type_analysis.py - MMLU evaluation
mmlu_results
Other components
- Researcher
- Hugging Face models
Connections 23
- Researcher → Reproduction runner: starts runs
- Researcher → Mistake baseline: starts baseline
- QA datasets → Dataset handlers: provides examples
- Reproduction runner → Dataset handlers: loads data
- Reproduction runner → Model loading: loads tokenizer
- Model loading → Hugging Face models: loads weights
- Reproduction runner → Step unlearning: runs unlearning
- Step unlearning → Model loading: uses model
- Step unlearning → Answer evaluation: evaluates answers
- Reproduction runner → CoT baselines: reads CoT inputs
- Reproduction runner → Unlearning results: writes outcomes
- Mistake baseline → Model loading: loads model
- Mistake baseline → Answer evaluation: scores answers
- Mistake baseline → Injected mistakes: reads mistakes
- Mistake baseline → Mistake evaluations: writes scores
- FUR metrics → Unlearning results: reads outcomes
- Mistake metrics → Injected mistakes: reads injections
- Mistake metrics → Mistake evaluations: reads scores
- Lambda experiments → Reproduction runner: configures runs
- Lambda analysis → Lambda experiments: summarizes results
- Word-type unlearning → Model loading: loads model
- Word-type analysis → Unlearning results: analyzes outcomes
- Reproduction runner → MMLU evaluation: writes evaluations