We lifted 5 functions out of this paper's own repositories and ran 1 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| Zhe-Young/SelfCorrectDecompose | canonical | 1 of 5 |
| Function | Status | Where it lives |
|---|---|---|
| get_examples | Ran | Zhe-Young/SelfCorrectDecompose/eval_logits.py pointer only (licence: NONE) · get_code("fbe652c7fa7abfbc") |
| generate_answer | Not yet run | Zhe-Young/SelfCorrectDecompose/eval_sampling.py pointer only (licence: NONE) · get_code("dd6378ce27ea29b1") |
| generate_answer1 | Not yet run | Zhe-Young/SelfCorrectDecompose/eval_sampling.py pointer only (licence: NONE) · get_code("4ec0e3f68b16920f") |
| get_answer | Not yet run | Zhe-Young/SelfCorrectDecompose/eval_logits.py pointer only (licence: NONE) · get_code("e888e7e76d03f6fa") |
| get_probs | Not yet run | Zhe-Young/SelfCorrectDecompose/eval_logits.py pointer only (licence: NONE) · get_code("fcc620fb7cb1bb32") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Large Language Models (LLMs) can correct their self-generated responses, but a decline in accuracy after self-correction is also witnessed. To have a deeper understanding of self-correction, we endeavor to decompose, evaluate, and analyze the self-correction behaviors of LLMs. By enumerating and analyzing answer correctness before and after self-correction, we decompose the self-correction capability into confidence (being confident to correct answers) and critique (turning wrong answers to correct) capabilities, and propose two metrics from a probabilistic perspective to measure these 2 capabilities, along with another metric for overall self-correction capability evaluation. Based on our decomposition and evaluation metrics, we conduct extensive experiments and draw some empirical conclusions. For example, we find different models can exhibit distinct behaviors: some models are confident while others are more critical. We also find the trade-off between the two capabilities (i.e. improving one can lead to a decline in the other) when manipulating model self-correction behavior by prompts or in-context learning. Further, we find a simple yet efficient strategy to improve self-correction capability by transforming Supervision Fine-Tuning (SFT) data format, and our strategy outperforms vanilla SFT in both capabilities and achieves much higher accuracy after self-correction. Our code will be publicly available on GitHub.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2412.19513")
get_code_for_paper("2412.19513")
have("2412.19513")
Connect an agent — have() is free.