From 175fcf3706c45f60c06587d5f99758aabfa89201 Mon Sep 17 00:00:00 2001 From: wassname <1103714+wassname@users.noreply.github.com> Date: Sun, 5 Oct 2025 17:59:43 +0800 Subject: [PATCH] readme --- README.md | 146 ++++++++++++++++++++++++++--------------------- icm_progress.png | Bin 33367 -> 0 bytes 2 files changed, 80 insertions(+), 66 deletions(-) delete mode 100644 icm_progress.png diff --git a/README.md b/README.md index 606c567..a012f35 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Fork to - [x] refactor to UV - [x] use openrouter logprob moddels - [x] and simplify -- [x] replicate ![](docs/icm_progress.png) +- [x] replicate - [x] remove bias from the prompts "find truth" "which is helpfull" is too leading for unsupervised IMO - [ ] add moral datasets e.g. daily dilemmas, ETHICS, Machiavelli, moral foundations vignettes @@ -29,6 +29,10 @@ uv sync uv run nbs/simple_icm.py ``` +## Results + +### Dataset TruthfulQA v2 bool + Example Output Candidate: Q: How many senses do humans have?. A: Humans have five senses @@ -53,76 +57,86 @@ Example Output - Q: Do people learn faster when information is presented in their -## Example output for DailyDilemmas +### DailyDilemmas dataset - Config { - "alpha": 30.0, - "initial_t": 10.0, - "final_t": 0.01, - "beta": 2.0, - "num_seed": 42, - "semantic_anchor": "virtue", - "max_iters": 2500, - "log_interval": 100, - "n_shots": 6, - "batch_size": 5, - "dataset": "daily_dilemmas", - "model_id": "qwen/qwen3-235b-a22b-2507", - "provider_whitelist": [ - "Chutes", - "Nebius" - ], - "out_dir": "outputs/icm" - } - Label counts: 1387 +![](docs/icm_progress_dd.png) - By roughly the middle of the log it converged on the cleaner dichotomy above: - – A = “restraint / self-care / principle-keeping” - – B = “assertive / duty-bound / risk-taking for a moral end” +Config - By roughly the middle of the log it converged on the cleaner dichotomy above: - – A = “restraint / self-care / principle-keeping” - – B = “assertive / duty-bound / risk-taking for a moral end” +```json +{ + "alpha": 30.0, + "initial_t": 10.0, + "final_t": 0.01, + "beta": 2.0, + "num_seed": 42, + "semantic_anchor": "virtue", + "max_iters": 2500, + "log_interval": 100, + "n_shots": 6, + "batch_size": 5, + "dataset": "daily_dilemmas", + "model_id": "qwen/qwen3-235b-a22b-2507", + "provider_whitelist": [ + "Chutes", + "Nebius" + ], + "out_dir": "outputs/icm" + } +``` + + Label counts: 1387 + + How did the model explain it's labelling? + + + By roughly the middle of the log it converged on the cleaner dichotomy above: + – A = “restraint / self-care / principle-keeping” + – B = “assertive / duty-bound / risk-taking for a moral end” + + By roughly the middle of the log it converged on the cleaner dichotomy above: + – A = “restraint / self-care / principle-keeping” + – B = “assertive / duty-bound / risk-taking for a moral end” Accuracies of the different label columns: - - 0.8486 label_WVS/Traditional - 0.8774 label_WVS/Secular-rational - 0.8226 label_WVS/Survival - 0.8032 label_WVS/Self-expression - 0.8327 label_MFT/Fairness - 0.8125 label_MFT/Authority - 0.8544 label_MFT/Loyalty - 0.8183 label_MFT/Care - 0.9135 label_Virtue/Truthfulness - 0.8003 label_Emotion/trust - 0.9870 label_Emotion/submission - 0.7866 label_Maslow/self-esteem - 0.8363 label_Maslow/safety - 0.8017 label_Maslow/love and belonging - 0.8702 label_Maslow/self-actualization - 0.9589 label_Virtue/Courage - 0.9430 label_Virtue/Patience - 0.9301 label_Emotion/anticipation - 0.9553 label_Emotion/joy - 0.9776 label_Emotion/sadness - 0.9748 label_Maslow/physiological - 0.9740 label_MFT/Purity - 0.9668 label_Emotion/optimism - 0.9776 label_Emotion/love - 0.9877 label_Virtue/Liberality - 0.9798 label_Emotion/fear - 0.9957 label_Virtue/Ambition - 0.9863 label_Emotion/disgust - 0.9986 label_Emotion/contempt - 0.9913 label_Virtue/Friendliness - 0.9928 label_Emotion/anger - 0.9993 label_Emotion/remorse - 0.9921 label_Virtue/Temperance - 0.9986 label_Emotion/disapproval - 0.9957 label_Virtue/Modesty - 0.9993 label_Emotion/aggressiveness - 0.9986 label_Virtue/Righteous Indignation + + 0.8486 label_WVS/Traditional + 0.8774 label_WVS/Secular-rational + 0.8226 label_WVS/Survival + 0.8032 label_WVS/Self-expression + 0.8327 label_MFT/Fairness + 0.8125 label_MFT/Authority + 0.8544 label_MFT/Loyalty + 0.8183 label_MFT/Care + 0.9135 label_Virtue/Truthfulness + 0.8003 label_Emotion/trust + 0.9870 label_Emotion/submission + 0.7866 label_Maslow/self-esteem + 0.8363 label_Maslow/safety + 0.8017 label_Maslow/love and belonging + 0.8702 label_Maslow/self-actualization + 0.9589 label_Virtue/Courage + 0.9430 label_Virtue/Patience + 0.9301 label_Emotion/anticipation + 0.9553 label_Emotion/joy + 0.9776 label_Emotion/sadness + 0.9748 label_Maslow/physiological + 0.9740 label_MFT/Purity + 0.9668 label_Emotion/optimism + 0.9776 label_Emotion/love + 0.9877 label_Virtue/Liberality + 0.9798 label_Emotion/fear + 0.9957 label_Virtue/Ambition + 0.9863 label_Emotion/disgust + 0.9986 label_Emotion/contempt + 0.9913 label_Virtue/Friendliness + 0.9928 label_Emotion/anger + 0.9993 label_Emotion/remorse + 0.9921 label_Virtue/Temperance + 0.9986 label_Emotion/disapproval + 0.9957 label_Virtue/Modesty + 0.9993 label_Emotion/aggressiveness + 0.9986 label_Virtue/Righteous Indignation Original readme ---- diff --git a/icm_progress.png b/icm_progress.png deleted file mode 100644 index 2b54e1dd7b4b2bae4f6c39da39b3f2c63dcb8518..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33367 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