diff --git a/mjc_notes.md b/mjc_notes.md index a6fc6ab..cad4600 100644 --- a/mjc_notes.md +++ b/mjc_notes.md @@ -896,6 +896,46 @@ Lesson: padding can lead to weird outputs so it's best to use an attention mask - [x] revisit refactor? - [x] round up the FIXME TODO UPTO HACK's -- [ ] get model nb working +- [x] get model nb working + - [ ] tidy - [ ] do multiple datasets (esp TruthfullQA) adverseria_qa commonsense_qa. - [ ] in fact can I consume elk [defs](https://github.com/EleutherAI/elk/blob/main/elk/promptsource/templates/adversarial_qa/adversarialQA/templates.yaml)? + + +# 2023-08-07 08:24:43 + +Oh no it's not generalising. And I realised that by having multiple duplicate datasets I was mixing test and train duh! Start again + +- normalise stops it from overfitting... or learnign at all? What's going on. Did I mix up test train os hs1 hs2? + +huh in the dm notebook I get 100 and 60% with linear cls. But in 023 I get 100 50% weird. And with norm I get 50% 50% + +:bug: I had hs0 hs0, wtf + +err so manbe ranking is not the best! do I need to try other models again? + +- [ ] try other setups? cls, (hs0-hs1)/y etc +- [ ] try restricting to question where it can answer it? +- [ ] try removign truncated ones? + + +wait what? when the model tries to lie... we get this acc 0.49 + + +wait +- test metrics says it works +- but train and val don't! +- and my custon ones dont? + + +on one hand we have acc at prob predicting ans1>ans2 +on the other prob at predicting label +on another llm at answer + +So I can predict if one is more positvie than other +at least using ranking loss. hmm + + +wooo true and label are diff!!! even tho they come from the same source :bug: + +found the bug, I shuffled X but not y lol diff --git a/notebooks/023_train_prob.ipynb b/notebooks/023_train_prob.ipynb index 82a52a4..edfa098 100644 --- a/notebooks/023_train_prob.ipynb +++ b/notebooks/023_train_prob.ipynb @@ -30,9 +30,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 34, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], "source": [ "# import your package\n", "%load_ext autoreload\n", @@ -41,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -50,7 +59,7 @@ "'4.30.1'" ] }, - "execution_count": 2, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -100,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -108,11 +117,11 @@ "text/plain": [ "Dataset({\n", " features: ['hs0', 'scores0', 'hs1', 'scores1', 'true', 'index', 'label', 'prompt', 'lie', 'prompt_truncated', 'choice_probs0', 'ans0', 'choice_probs1', 'ans1', 'txt_ans0', 'txt_ans1'],\n", - " num_rows: 200\n", + " num_rows: 8000\n", "})" ] }, - "execution_count": 3, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -120,17 +129,18 @@ "source": [ "from datasets import load_from_disk, concatenate_datasets\n", "fs = [\n", - " '../.ds/model-starchat-beta_ds-amazon-polarity_format-guard-prompt_N200_3shots_5cc9f5'\n", + " '../.ds/model-starchat-beta_ds-amazon-polarity_format-guard-prompt_N8000_3shots_07e51a'\n", + " # '../.ds/model-starchat-beta_ds-amazon-polarity_format-guard-prompt_N2000_2shots_6df747'\n", "]\n", "\n", "# './.ds/HuggingFaceH4starchat_beta-None-N_8000-ns_3-mc_0.2-2ffc1e'\n", - "ds = concatenate_datasets([load_from_disk(f) for f in fs])\n", - "ds" + "ds1 = concatenate_datasets([load_from_disk(f) for f in fs])\n", + "ds1" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ @@ -146,7 +156,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -197,36 +207,36 @@ " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.078145705, 0.32699254]\n", - " 0.807094\n", - " [0.1094421, 0.48459822]\n", - " 0.815753\n", - " True\n", - " True\n", - " 0.008659\n", - " 0.008659\n", - " 0.811423\n", + " a logical and acting challenge with the user....\n", + " [0.22739114, 0.32173195]\n", + " 0.585891\n", + " [0.18396124, 0.32755876]\n", + " 0.640351\n", + " False\n", + " False\n", + " 0.054460\n", + " 0.054460\n", + " 0.613121\n", " True\n", " False\n", " \n", " \n", " 1\n", - " 0\n", + " 1\n", " 1\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", - " . You take a role from the classic puzzle of t...\n", - " [0.60891825, 0.33895335]\n", - " 0.357590\n", - " [0.18620293, 0.22872218]\n", - " 0.551224\n", + " immerse yourself into a logical and acting ch...\n", + " [0.25901857, 0.4212554]\n", + " 0.619235\n", + " [0.47956395, 0.23963346]\n", + " 0.333191\n", " False\n", - " True\n", - " 0.193634\n", - " 0.193634\n", - " 0.454407\n", + " False\n", + " -0.286044\n", + " 0.286044\n", + " 0.476213\n", " False\n", " False\n", " \n", @@ -238,36 +248,36 @@ " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.22698066, 0.34947497]\n", - " 0.606237\n", - " [0.34118584, 0.5306288]\n", - " 0.608642\n", + " [0.0715705, 0.18076265]\n", + " 0.716337\n", + " [0.13181257, 0.2730088]\n", + " 0.674377\n", " True\n", " True\n", - " 0.002404\n", - " 0.002404\n", - " 0.607440\n", + " -0.041960\n", + " 0.041960\n", + " 0.695357\n", " True\n", " True\n", " \n", " \n", " 3\n", - " 0\n", + " 1\n", " 3\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.57587034, 0.24939153]\n", - " 0.302193\n", - " [0.46418592, 0.23797682]\n", - " 0.338915\n", - " False\n", - " False\n", - " 0.036722\n", - " 0.036722\n", - " 0.320554\n", - " False\n", + " [0.30210826, 0.5331971]\n", + " 0.638318\n", + " [0.23405011, 0.6686262]\n", + " 0.740707\n", + " True\n", + " True\n", + " 0.102389\n", + " 0.102389\n", + " 0.689513\n", + " True\n", " False\n", " \n", " \n", @@ -278,16 +288,16 @@ " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.31092325, 0.34889498]\n", - " 0.528766\n", - " [0.42988867, 0.47642803]\n", - " 0.525669\n", - " True\n", - " True\n", - " -0.003097\n", - " 0.003097\n", - " 0.527218\n", - " True\n", + " [0.10550346, 0.068647005]\n", + " 0.394160\n", + " [0.37910712, 0.10449116]\n", + " 0.216066\n", + " False\n", + " False\n", + " -0.178094\n", + " 0.178094\n", + " 0.305113\n", + " False\n", " False\n", " \n", " \n", @@ -311,185 +321,204 @@ " ...\n", " \n", " \n", - " 195\n", + " 7995\n", " 0\n", - " 195\n", + " 7995\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.4364484, 0.41708928]\n", - " 0.488654\n", - " [0.44443354, 0.41476423]\n", - " 0.482729\n", + " . Once you have determined if you are the lyin...\n", + " [0.3253376, 0.13291252]\n", + " 0.290037\n", + " [0.33912086, 0.11056756]\n", + " 0.245870\n", " False\n", " False\n", - " -0.005925\n", - " 0.005925\n", - " 0.485691\n", + " -0.044167\n", + " 0.044167\n", + " 0.267954\n", " False\n", " False\n", " \n", " \n", - " 196\n", + " 7996\n", " 1\n", - " 196\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.22973666, 0.21817155]\n", - " 0.487079\n", - " [0.3398598, 0.32811356]\n", - " 0.491200\n", - " False\n", - " False\n", - " 0.004121\n", - " 0.004121\n", - " 0.489140\n", - " False\n", - " True\n", - " \n", - " \n", - " 197\n", + " 7996\n", " 1\n", - " 197\n", + " <|system|>You are about to immerse yourself in...\n", + " True\n", + " determined if you are the lying Guard or the ...\n", + " [0.18918358, 0.28532732]\n", + " 0.601296\n", + " [0.4284532, 0.30026284]\n", + " 0.412038\n", + " False\n", + " False\n", + " -0.189258\n", + " 0.189258\n", + " 0.506667\n", + " True\n", + " False\n", + " \n", + " \n", + " 7997\n", + " 0\n", + " 7997\n", " 0\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.35407448, 0.24763522]\n", - " 0.411546\n", - " [0.2403055, 0.13180408]\n", - " 0.354198\n", - " False\n", - " False\n", - " -0.057348\n", - " 0.057348\n", - " 0.382872\n", - " False\n", + " [0.28222632, 0.304502]\n", + " 0.518974\n", + " [0.13210776, 0.19038554]\n", + " 0.590337\n", + " True\n", + " True\n", + " 0.071363\n", + " 0.071363\n", + " 0.554655\n", + " True\n", " True\n", " \n", " \n", - " 198\n", + " 7998\n", " 0\n", - " 198\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.4638396, 0.23526415]\n", - " 0.336518\n", - " [0.23999612, 0.32018945]\n", - " 0.571567\n", - " False\n", - " True\n", - " 0.235050\n", - " 0.235050\n", - " 0.454042\n", - " False\n", - " True\n", - " \n", - " \n", - " 199\n", - " 0\n", - " 199\n", + " 7998\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.11185194, 0.19989455]\n", - " 0.641188\n", - " [0.08340898, 0.47644642]\n", - " 0.851002\n", + " [0.24055526, 0.41276416]\n", + " 0.631786\n", + " [0.35980803, 0.38881692]\n", + " 0.519368\n", " True\n", " True\n", - " 0.209814\n", - " 0.209814\n", - " 0.746095\n", + " -0.112418\n", + " 0.112418\n", + " 0.575577\n", " True\n", " False\n", " \n", + " \n", + " 7999\n", + " 1\n", + " 7999\n", + " 1\n", + " <|system|>You are about to immerse yourself in...\n", + " True\n", + " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", + " [0.5347394, 0.29575846]\n", + " 0.356118\n", + " [0.41391683, 0.46787095]\n", + " 0.530588\n", + " False\n", + " True\n", + " 0.174470\n", + " 0.174470\n", + " 0.443353\n", + " False\n", + " False\n", + " \n", " \n", "\n", - "

200 rows × 17 columns

\n", + "

8000 rows × 17 columns

\n", "" ], "text/plain": [ - " true index label prompt \n", - "0 1 0 1 <|system|>You are about to immerse yourself in... \\\n", - "1 0 1 1 <|system|>You are about to immerse yourself in... \n", - "2 1 2 0 <|system|>You are about to immerse yourself in... \n", - "3 0 3 1 <|system|>You are about to immerse yourself in... \n", - "4 1 4 1 <|system|>You are about to immerse yourself in... \n", - ".. ... ... ... ... \n", - "195 0 195 1 <|system|>You are about to immerse yourself in... \n", - "196 1 196 0 <|system|>You are about to immerse yourself in... \n", - "197 1 197 0 <|system|>You are about to immerse yourself in... \n", - "198 0 198 0 <|system|>You are about to immerse yourself in... \n", - "199 0 199 1 <|system|>You are about to immerse yourself in... \n", + " true index label prompt \n", + "0 1 0 1 <|system|>You are about to immerse yourself in... \\\n", + "1 1 1 1 <|system|>You are about to immerse yourself in... \n", + "2 1 2 0 <|system|>You are about to immerse yourself in... \n", + "3 1 3 1 <|system|>You are about to immerse yourself in... \n", + "4 1 4 1 <|system|>You are about to immerse yourself in... \n", + "... ... ... ... ... \n", + "7995 0 7995 1 <|system|>You are about to immerse yourself in... \n", + "7996 1 7996 1 <|system|>You are about to immerse yourself in... \n", + "7997 0 7997 0 <|system|>You are about to immerse yourself in... \n", + "7998 0 7998 1 <|system|>You are about to immerse yourself in... \n", + "7999 1 7999 1 <|system|>You are about to immerse yourself in... \n", "\n", - " lie prompt_truncated \n", - "0 True <|endoftext|><|endoftext|><|endoftext|><|endof... \\\n", - "1 True . You take a role from the classic puzzle of t... \n", - "2 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "3 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "4 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - ".. ... ... \n", - "195 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "196 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "197 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "198 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "199 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + " lie prompt_truncated \n", + "0 True a logical and acting challenge with the user.... \\\n", + "1 True immerse yourself into a logical and acting ch... \n", + "2 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "3 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "4 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "... ... ... \n", + "7995 True . Once you have determined if you are the lyin... \n", + "7996 True determined if you are the lying Guard or the ... \n", + "7997 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "7998 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "7999 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", "\n", - " choice_probs0 ans0 choice_probs1 ans1 \n", - "0 [0.078145705, 0.32699254] 0.807094 [0.1094421, 0.48459822] 0.815753 \\\n", - "1 [0.60891825, 0.33895335] 0.357590 [0.18620293, 0.22872218] 0.551224 \n", - "2 [0.22698066, 0.34947497] 0.606237 [0.34118584, 0.5306288] 0.608642 \n", - "3 [0.57587034, 0.24939153] 0.302193 [0.46418592, 0.23797682] 0.338915 \n", - "4 [0.31092325, 0.34889498] 0.528766 [0.42988867, 0.47642803] 0.525669 \n", - ".. ... ... ... ... \n", - "195 [0.4364484, 0.41708928] 0.488654 [0.44443354, 0.41476423] 0.482729 \n", - "196 [0.22973666, 0.21817155] 0.487079 [0.3398598, 0.32811356] 0.491200 \n", - "197 [0.35407448, 0.24763522] 0.411546 [0.2403055, 0.13180408] 0.354198 \n", - "198 [0.4638396, 0.23526415] 0.336518 [0.23999612, 0.32018945] 0.571567 \n", - "199 [0.11185194, 0.19989455] 0.641188 [0.08340898, 0.47644642] 0.851002 \n", + " choice_probs0 ans0 choice_probs1 ans1 \n", + "0 [0.22739114, 0.32173195] 0.585891 [0.18396124, 0.32755876] 0.640351 \\\n", + "1 [0.25901857, 0.4212554] 0.619235 [0.47956395, 0.23963346] 0.333191 \n", + "2 [0.0715705, 0.18076265] 0.716337 [0.13181257, 0.2730088] 0.674377 \n", + "3 [0.30210826, 0.5331971] 0.638318 [0.23405011, 0.6686262] 0.740707 \n", + "4 [0.10550346, 0.068647005] 0.394160 [0.37910712, 0.10449116] 0.216066 \n", + "... ... ... ... ... \n", + "7995 [0.3253376, 0.13291252] 0.290037 [0.33912086, 0.11056756] 0.245870 \n", + "7996 [0.18918358, 0.28532732] 0.601296 [0.4284532, 0.30026284] 0.412038 \n", + "7997 [0.28222632, 0.304502] 0.518974 [0.13210776, 0.19038554] 0.590337 \n", + "7998 [0.24055526, 0.41276416] 0.631786 [0.35980803, 0.38881692] 0.519368 \n", + "7999 [0.5347394, 0.29575846] 0.356118 [0.41391683, 0.46787095] 0.530588 \n", "\n", - " txt_ans0 txt_ans1 dir_true conf llm_prob llm_ans desired_ans \n", - "0 True True 0.008659 0.008659 0.811423 True False \n", - "1 False True 0.193634 0.193634 0.454407 False False \n", - "2 True True 0.002404 0.002404 0.607440 True True \n", - "3 False False 0.036722 0.036722 0.320554 False False \n", - "4 True True -0.003097 0.003097 0.527218 True False \n", - ".. ... ... ... ... ... ... ... \n", - "195 False False -0.005925 0.005925 0.485691 False False \n", - "196 False False 0.004121 0.004121 0.489140 False True \n", - "197 False False -0.057348 0.057348 0.382872 False True \n", - "198 False True 0.235050 0.235050 0.454042 False True \n", - "199 True True 0.209814 0.209814 0.746095 True False \n", + " txt_ans0 txt_ans1 dir_true conf llm_prob llm_ans desired_ans \n", + "0 False False 0.054460 0.054460 0.613121 True False \n", + "1 False False -0.286044 0.286044 0.476213 False False \n", + "2 True True -0.041960 0.041960 0.695357 True True \n", + "3 True True 0.102389 0.102389 0.689513 True False \n", + "4 False False -0.178094 0.178094 0.305113 False False \n", + "... ... ... ... ... ... ... ... \n", + "7995 False False -0.044167 0.044167 0.267954 False False \n", + "7996 False False -0.189258 0.189258 0.506667 True False \n", + "7997 True True 0.071363 0.071363 0.554655 True True \n", + "7998 True True -0.112418 0.112418 0.575577 True False \n", + "7999 False True 0.174470 0.174470 0.443353 False False \n", "\n", - "[200 rows x 17 columns]" + "[8000 rows x 17 columns]" ] }, - "execution_count": 5, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# lets select only the ones where\n", - "df = ds2df(ds)\n", + "df = ds2df(ds1)\n", "df" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 39, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "selected rows are 39.62%\n" + ] + }, + { + "data": { + "text/plain": [ + "Dataset({\n", + " features: ['hs0', 'scores0', 'hs1', 'scores1', 'true', 'index', 'label', 'prompt', 'lie', 'prompt_truncated', 'choice_probs0', 'ans0', 'choice_probs1', 'ans1', 'txt_ans0', 'txt_ans1'],\n", + " num_rows: 3170\n", + "})" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "\n", - "\n", "# # just select the question where the model knows the answer. \n", "# d = df.query('version==\"truth\"').set_index(\"index\")\n", "# # these are the ones where it got it right when asked to tell the truth\n", @@ -499,13 +528,15 @@ "# known_rows = df['index'].isin(known_indices)\n", "# known_rows_i = df[known_rows].index\n", "\n", - "# # also restrict it to significant permutations. That is monte carlo dropout pairs, where the answer changes by more than X%\n", - "# m = np.abs(df.ans1-df.ans2)>0.10\n", - "# significant_rows = m[m].index\n", + "# also restrict it to significant permutations. That is monte carlo dropout pairs, where the answer changes by more than X%\n", + "m = np.abs(df.ans0-df.ans1)>0.1\n", + "significant_rows = m[m].index\n", "\n", "# allowed_rows_i = set(known_rows_i).intersection(significant_rows)\n", - "# ds = ds1.select(allowed_rows_i)\n", - "# ds" + "allowed_rows_i = significant_rows\n", + "ds = ds1.select(allowed_rows_i)\n", + "print(f\"selected rows are {len(ds)/len(ds1):2.2%}\")\n", + "ds" ] }, { @@ -517,36 +548,37 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "# N = 1000\n", "# small_ds = ds.select(range(N))\n", "# b = N\n", - "# hs1 = small_ds['hs1'].reshape((b, -1))\n", + "# hs0 = small_ds['hs0'].reshape((b, -1))\n", "\n", "# scaler = RobustScaler()\n", - "# hs2 = scaler.fit_transform(hs1)\n", + "# hs1 = scaler.fit_transform(hs0)\n", "\n", - "# def normalize_hs(hs1, hs2):\n", - "# b = len(hs1)\n", - "# hs1 = scaler.transform(hs1.reshape((b, -1)))\n", - "# hs2 = scaler.transform(hs2.reshape((b, -1)))\n", - "# return {'hs1':hs1, 'hs2': hs2}\n", + "# def normalize_hs(hs0, hs1):\n", + "# shape=hs0.shape\n", + "# b = len(hs0)\n", + "# hs0 = scaler.transform(hs0.reshape((b, -1))).reshape(shape)\n", + "# hs1 = scaler.transform(hs1.reshape((b, -1))).reshape(shape)\n", + "# return {'hs0':hs0, 'hs1': hs1}\n", "\n", - "# # # Plot\n", - "# # plt.hist(hs1.flatten(), bins=155, range=[-5, 5], label='before', histtype='step')\n", - "# # plt.hist(hs2.flatten(), bins=155, range=[-5, 5], label='after', histtype='step')\n", - "# # plt.legend()\n", - "# # plt.show()\n", + "# # Plot\n", + "# plt.hist(hs0.flatten(), bins=155, range=[-5, 5], label='before', histtype='step')\n", + "# plt.hist(hs1.flatten(), bins=155, range=[-5, 5], label='after', histtype='step')\n", + "# plt.legend()\n", + "# plt.show()\n", "\n", "# # # Test\n", "# # small_dataset = ds.select(range(4))\n", - "# # small_dataset.map(normalize_hs, batched=True, batch_size=2, input_columns=['hs1', 'hs2'])\n", + "# # small_dataset.map(normalize_hs, batched=True, batch_size=2, input_columns=['hs0', 'hs1'])\n", "\n", "# # run\n", - "# ds = ds.map(normalize_hs, batched=True, input_columns=['hs1', 'hs2'])\n", + "# ds = ds.map(normalize_hs, batched=True, input_columns=['hs0', 'hs1'])\n", "# ds" ] }, @@ -560,7 +592,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 41, "metadata": {}, "outputs": [ { @@ -607,114 +639,114 @@ " \n", " 0\n", " 1\n", - " 0\n", + " 1\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.078145705, 0.32699254]\n", - " 0.807094\n", - " [0.1094421, 0.48459822]\n", - " 0.815753\n", - " True\n", - " True\n", - " 0.008659\n", - " 0.008659\n", - " 0.811423\n", - " True\n", + " immerse yourself into a logical and acting ch...\n", + " [0.25901857, 0.4212554]\n", + " 0.619235\n", + " [0.47956395, 0.23963346]\n", + " 0.333191\n", + " False\n", + " False\n", + " -0.286044\n", + " 0.286044\n", + " 0.476213\n", + " False\n", " False\n", " \n", " \n", " 1\n", - " 0\n", " 1\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " . You take a role from the classic puzzle of t...\n", - " [0.60891825, 0.33895335]\n", - " 0.357590\n", - " [0.18620293, 0.22872218]\n", - " 0.551224\n", - " False\n", - " True\n", - " 0.193634\n", - " 0.193634\n", - " 0.454407\n", - " False\n", - " False\n", - " \n", - " \n", - " 2\n", - " 1\n", - " 2\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.22698066, 0.34947497]\n", - " 0.606237\n", - " [0.34118584, 0.5306288]\n", - " 0.608642\n", - " True\n", - " True\n", - " 0.002404\n", - " 0.002404\n", - " 0.607440\n", - " True\n", - " True\n", - " \n", - " \n", - " 3\n", - " 0\n", " 3\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.57587034, 0.24939153]\n", - " 0.302193\n", - " [0.46418592, 0.23797682]\n", - " 0.338915\n", + " [0.30210826, 0.5331971]\n", + " 0.638318\n", + " [0.23405011, 0.6686262]\n", + " 0.740707\n", + " True\n", + " True\n", + " 0.102389\n", + " 0.102389\n", + " 0.689513\n", + " True\n", + " False\n", + " \n", + " \n", + " 2\n", + " 1\n", + " 4\n", + " 1\n", + " <|system|>You are about to immerse yourself in...\n", + " True\n", + " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", + " [0.10550346, 0.068647005]\n", + " 0.394160\n", + " [0.37910712, 0.10449116]\n", + " 0.216066\n", " False\n", " False\n", - " 0.036722\n", - " 0.036722\n", - " 0.320554\n", + " -0.178094\n", + " 0.178094\n", + " 0.305113\n", " False\n", " False\n", " \n", + " \n", + " 3\n", + " 0\n", + " 5\n", + " 0\n", + " <|system|>You are about to immerse yourself in...\n", + " True\n", + " challenge with the user. You take a role from...\n", + " [0.38293982, 0.24977545]\n", + " 0.394761\n", + " [0.30316868, 0.10313009]\n", + " 0.253822\n", + " False\n", + " False\n", + " -0.140939\n", + " 0.140939\n", + " 0.324292\n", + " False\n", + " True\n", + " \n", " \n", "\n", "" ], "text/plain": [ " true index label prompt \n", - "0 1 0 1 <|system|>You are about to immerse yourself in... \\\n", - "1 0 1 1 <|system|>You are about to immerse yourself in... \n", - "2 1 2 0 <|system|>You are about to immerse yourself in... \n", - "3 0 3 1 <|system|>You are about to immerse yourself in... \n", + "0 1 1 1 <|system|>You are about to immerse yourself in... \\\n", + "1 1 3 1 <|system|>You are about to immerse yourself in... \n", + "2 1 4 1 <|system|>You are about to immerse yourself in... \n", + "3 0 5 0 <|system|>You are about to immerse yourself in... \n", "\n", " lie prompt_truncated \n", - "0 True <|endoftext|><|endoftext|><|endoftext|><|endof... \\\n", - "1 True . You take a role from the classic puzzle of t... \n", + "0 True immerse yourself into a logical and acting ch... \\\n", + "1 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", "2 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "3 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "3 True challenge with the user. You take a role from... \n", "\n", " choice_probs0 ans0 choice_probs1 ans1 \n", - "0 [0.078145705, 0.32699254] 0.807094 [0.1094421, 0.48459822] 0.815753 \\\n", - "1 [0.60891825, 0.33895335] 0.357590 [0.18620293, 0.22872218] 0.551224 \n", - "2 [0.22698066, 0.34947497] 0.606237 [0.34118584, 0.5306288] 0.608642 \n", - "3 [0.57587034, 0.24939153] 0.302193 [0.46418592, 0.23797682] 0.338915 \n", + "0 [0.25901857, 0.4212554] 0.619235 [0.47956395, 0.23963346] 0.333191 \\\n", + "1 [0.30210826, 0.5331971] 0.638318 [0.23405011, 0.6686262] 0.740707 \n", + "2 [0.10550346, 0.068647005] 0.394160 [0.37910712, 0.10449116] 0.216066 \n", + "3 [0.38293982, 0.24977545] 0.394761 [0.30316868, 0.10313009] 0.253822 \n", "\n", " txt_ans0 txt_ans1 dir_true conf llm_prob llm_ans desired_ans \n", - "0 True True 0.008659 0.008659 0.811423 True False \n", - "1 False True 0.193634 0.193634 0.454407 False False \n", - "2 True True 0.002404 0.002404 0.607440 True True \n", - "3 False False 0.036722 0.036722 0.320554 False False " + "0 False False -0.286044 0.286044 0.476213 False False \n", + "1 True True 0.102389 0.102389 0.689513 True False \n", + "2 False False -0.178094 0.178094 0.305113 False False \n", + "3 False False -0.140939 0.140939 0.324292 False True " ] }, - "execution_count": 8, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -724,6 +756,15 @@ "df.head(4)" ] }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "# ds?" + ] + }, { "attachments": {}, "cell_type": "markdown", @@ -739,7 +780,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -749,29 +790,22 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 44, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Loading cached shuffled indices for dataset at /home/ubuntu/Documents/mjc/elk/discovering_latent_knowledge/.ds/model-starchat-beta_ds-amazon-polarity_format-guard-prompt_N200_3shots_5cc9f5/cache-6c384d2ed06ed9ea.arrow\n" - ] - }, { "data": { "text/plain": [ - "(8, 4)" + "(13, 6)" ] }, - "execution_count": 38, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "batch_size = 12\n", + "batch_size = 120\n", "# test and cache\n", "dm = imdbHSDataModule(ds, batch_size=batch_size)\n", "dm.setup('train')\n", @@ -783,16 +817,16 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "torch.Size([12, 6144, 37])" + "torch.Size([120, 6144, 37])" ] }, - "execution_count": 39, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -803,13 +837,6 @@ "x0.shape" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "attachments": {}, "cell_type": "markdown", @@ -856,7 +883,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 46, "metadata": {}, "outputs": [], "source": [ @@ -865,58 +892,110 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 47, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "split size 1585\n", + "lr\n" + ] + }, + { + "data": { + "text/html": [ + "
LogisticRegression(class_weight='balanced')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "LogisticRegression(class_weight='balanced')" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# n = len(df)\n", + "n = len(df)\n", "\n", - "# # Define X and y\n", - "# X = dm.hs1-dm.hs2\n", - "# y = dm.y>0\n", + "# Define X and y\n", + "X = (dm.hs1-dm.hs0).reshape((n, -1))#/dm.y[:, None]\n", + "y = dm.y>0\n", "\n", - "# # split\n", - "# n = len(y)\n", - "# max_rows = 1000\n", - "# print('split size', n//2)\n", - "# X_train, X_test = X[:n//2], X[n//2:]\n", - "# y_train, y_test = y[:n//2], y[n//2:]\n", - "# X_train = X_train[:max_rows]\n", - "# y_train = y_train[:max_rows]\n", - "# X_test = X_test[:max_rows]\n", - "# y_test = y_test[:max_rows]\n", + "# split\n", + "n = len(y)\n", + "max_rows = 300\n", + "print('split size', n//2)\n", + "X_train, X_test = X[:n//2], X[n//2:]\n", + "y_train, y_test = y[:n//2], y[n//2:]\n", + "X_train = X_train[:max_rows]\n", + "y_train = y_train[:max_rows]\n", + "X_test = X_test[:max_rows]\n", + "y_test = y_test[:max_rows]\n", "\n", - "# # scale\n", - "# scaler = RobustScaler()\n", - "# scaler.fit(X_train)\n", - "# X_train2 = scaler.transform(X_train)\n", - "# X_test2 = scaler.transform(X_test)\n", - "# print('lr')\n", + "# scale\n", + "scaler = RobustScaler()\n", + "scaler.fit(X_train)\n", + "X_train2 = scaler.transform(X_train)\n", + "X_test2 = scaler.transform(X_test)\n", + "print('lr')\n", "\n", - "# lr = LogisticRegression(class_weight=\"balanced\", penalty=\"l2\", max_iter=380)\n", - "# lr.fit(X_train2, y_train>0)" + "lr = LogisticRegression(class_weight=\"balanced\", penalty=\"l2\", max_iter=100)\n", + "lr.fit(X_train2, y_train>0)" ] }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ - "# print(\"Logistic cls acc: {:2.2%} [TRAIN]\".format(lr.score(X_train2, y_train>0)))\n", - "# print(\"Logistic cls acc: {:2.2%} [TEST]\".format(lr.score(X_test2, y_test>0)))\n", - "\n", - "# m = df['lie'][n//2:][:max_rows]\n", - "# y_test_pred = lr.predict(X_test2)\n", - "# acc_w_lie = ((y_test_pred[m]>0)==(y_test[m]>0)).mean()\n", - "# acc_wo_lie = ((y_test_pred[~m]>0)==(y_test[~m]>0)).mean()\n", - "# print(f'test acc w lie {acc_w_lie:2.2%}')\n", - "# print(f'test acc wo lie {acc_wo_lie:2.2%}')" + "# y.mean()" ] }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Logistic cls acc: 100.00% [TRAIN]\n", + "Logistic cls acc: 57.67% [TEST]\n", + "test acc w lie 57.67%\n", + "test acc wo lie nan%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_143152/3214049281.py:7: RuntimeWarning: Mean of empty slice.\n", + " acc_wo_lie = ((y_test_pred[~m]>0)==(y_test[~m]>0)).mean()\n", + "/home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/numpy/core/_methods.py:129: RuntimeWarning: invalid value encountered in scalar divide\n", + " ret = ret.dtype.type(ret / rcount)\n" + ] + } + ], + "source": [ + "print(\"Logistic cls acc: {:2.2%} [TRAIN]\".format(lr.score(X_train2, y_train>0)))\n", + "print(\"Logistic cls acc: {:2.2%} [TEST]\".format(lr.score(X_test2, y_test>0)))\n", + "\n", + "m = df['lie'][n//2:][:max_rows]\n", + "y_test_pred = lr.predict(X_test2)\n", + "acc_w_lie = ((y_test_pred[m]>0)==(y_test[m]>0)).mean()\n", + "acc_wo_lie = ((y_test_pred[~m]>0)==(y_test[~m]>0)).mean()\n", + "print(f'test acc w lie {acc_w_lie:2.2%}')\n", + "print(f'test acc wo lie {acc_wo_lie:2.2%}')" + ] + }, + { + "cell_type": "code", + "execution_count": 50, "metadata": {}, "outputs": [], "source": [ @@ -934,7 +1013,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 51, "metadata": {}, "outputs": [], "source": [ @@ -951,7 +1030,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 52, "metadata": {}, "outputs": [], "source": [ @@ -973,7 +1052,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 53, "metadata": {}, "outputs": [], "source": [ @@ -992,63 +1071,36 @@ "name": "stdout", "output_type": "stream", "text": [ - "torch.Size([12, 6144, 37])\n" + "torch.Size([120, 6144, 37])\n" ] }, { "data": { "text/plain": [ "PLConvProbe(\n", - " (loss_fn): SmoothL1Loss()\n", - " (metrics): ModuleDict(\n", - " (metrics_train): MetricCollection(\n", - " (acc): BinaryAccuracy()\n", - " (auroc): BinaryAUROC(),\n", - " prefix=train/\n", - " )\n", - " (metrics_val): MetricCollection(\n", - " (acc): BinaryAccuracy()\n", - " (auroc): BinaryAUROC(),\n", - " prefix=val/\n", - " )\n", - " (metrics_test): MetricCollection(\n", - " (acc): BinaryAccuracy()\n", - " (auroc): BinaryAUROC(),\n", - " prefix=test/\n", - " )\n", - " )\n", " (probe): ConvProbe(\n", " (net): Sequential(\n", " (0): BatchNorm1d(6144, eps=1e-05, momentum=0.1, affine=False, track_running_stats=True)\n", - " (1): Dropout1d(p=0.1, inplace=False)\n", - " (2): Conv1d(6144, 588, kernel_size=(2,), stride=(1,))\n", + " (1): Dropout1d(p=0, inplace=False)\n", + " (2): Conv1d(6144, 48, kernel_size=(2,), stride=(1,))\n", " (3): ReLU()\n", - " (4): BatchNorm1d(588, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (5): Conv1d(588, 504, kernel_size=(2,), stride=(1,))\n", + " (4): BatchNorm1d(48, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (5): Conv1d(48, 36, kernel_size=(2,), stride=(1,))\n", " (6): ReLU()\n", - " (7): BatchNorm1d(504, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (8): Conv1d(504, 420, kernel_size=(2,), stride=(1,))\n", + " (7): BatchNorm1d(36, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (8): Conv1d(36, 24, kernel_size=(2,), stride=(1,))\n", " (9): ReLU()\n", - " (10): BatchNorm1d(420, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (11): Conv1d(420, 336, kernel_size=(2,), stride=(1,))\n", + " (10): BatchNorm1d(24, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (11): Conv1d(24, 12, kernel_size=(2,), stride=(1,))\n", " (12): ReLU()\n", - " (13): BatchNorm1d(336, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (14): Conv1d(336, 252, kernel_size=(2,), stride=(1,))\n", - " (15): ReLU()\n", - " (16): BatchNorm1d(252, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (17): Conv1d(252, 168, kernel_size=(2,), stride=(1,))\n", - " (18): ReLU()\n", - " (19): BatchNorm1d(168, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (20): Conv1d(168, 84, kernel_size=(2,), stride=(1,))\n", - " (21): ReLU()\n", - " (22): BatchNorm1d(84, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (23): AdaptiveAvgPool1d(output_size=1)\n", + " (13): BatchNorm1d(12, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (14): AdaptiveAvgPool1d(output_size=1)\n", " )\n", " (head): Sequential(\n", - " (0): Linear(in_features=84, out_features=84, bias=True)\n", + " (0): Linear(in_features=12, out_features=12, bias=True)\n", " (1): ReLU()\n", - " (2): Dropout(p=0.1, inplace=False)\n", - " (3): Linear(in_features=84, out_features=1, bias=True)\n", + " (2): Dropout(p=0, inplace=False)\n", + " (3): Linear(in_features=12, out_features=1, bias=True)\n", " )\n", " )\n", ")" @@ -1064,9 +1116,9 @@ "max_epochs = 42\n", "c_in = b[0].shape[1]\n", "print(b[0].shape)\n", - "net = PLConvProbe(c_in=c_in, total_steps=max_epochs*len(dl_train), depth=6, hs=42*2, lr=3e-3, \n", + "net = PLConvProbe(c_in=c_in, total_steps=max_epochs*len(dl_train), depth=3, hs=12, lr=3e-3, \n", " # weight_decay=1e-4, \n", - " dropout=0.,\n", + " # dropout=0.2,\n", " )\n", "net" ] @@ -1079,7 +1131,7 @@ { "data": { "text/plain": [ - "(torch.Size([12]), torch.Size([12]))" + "(torch.Size([120]), torch.Size([120]))" ] }, "execution_count": 55, @@ -1120,31 +1172,23 @@ "GPU available: True (cuda), used: True\n", "TPU available: False, using: 0 TPU cores\n", "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ + "HPU available: False, using: 0 HPUs\n", "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", "\n", - " | Name | Type | Params\n", - "-----------------------------------------\n", - "0 | loss_fn | SmoothL1Loss | 0 \n", - "1 | metrics | ModuleDict | 0 \n", - "2 | probe | ConvProbe | 8.8 M \n", - "-----------------------------------------\n", - "8.8 M Trainable params\n", + " | Name | Type | Params\n", + "------------------------------------\n", + "0 | probe | ConvProbe | 596 K \n", + "------------------------------------\n", + "596 K Trainable params\n", "0 Non-trainable params\n", - "8.8 M Total params\n", - "35.281 Total estimated model params size (MB)\n" + "596 K Total params\n", + "2.384 Total estimated model params size (MB)\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bcf0f210eb744b38b78a597b8e633c8e", + "model_id": "b6e1b07fdd8a4720b7240a287702ec34", "version_major": 2, "version_minor": 0 }, @@ -1158,7 +1202,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "747c6afc8dad4702810dbf9429cb39fe", + "model_id": "3f3b4b2e7da04d6b8eaf56a098fe00ac", "version_major": 2, "version_minor": 0 }, @@ -1172,7 +1216,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2c54184a06d04d449412a4d516a3ff43", + "model_id": "1052481803624e318f9060f30fa27a5b", "version_major": 2, "version_minor": 0 }, @@ -1186,7 +1230,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "eb2ba869398e4103b01a1582d53b1078", + "model_id": "5bd7829619fd423987d70165f396c9c8", "version_major": 2, "version_minor": 0 }, @@ -1200,7 +1244,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5de60bb9589c4347893cc254526e779f", + "model_id": "2f68782c88bc4b46a6da4e5ea5fbd28e", "version_major": 2, "version_minor": 0 }, @@ -1214,7 +1258,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2de57507c7ff4e58a89a8287a7f4d2ce", + "model_id": "3905cb827ed84448bda1aaff3d8ed569", "version_major": 2, "version_minor": 0 }, @@ -1228,7 +1272,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "531391c543034dcdab2687670d8c2a66", + "model_id": "e927ad17ed30482b9c14135890e0850c", "version_major": 2, "version_minor": 0 }, @@ -1242,7 +1286,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b81865ba952a40c1911d96cd247a3319", + "model_id": "6cab9b49c75145799632428e60a73c71", "version_major": 2, "version_minor": 0 }, @@ -1256,7 +1300,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c30e1eb53d494aa08d501ae9f48925b0", + "model_id": "dbd29abf884c48148bc72f4de3d51106", "version_major": 2, "version_minor": 0 }, @@ -1270,7 +1314,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "539dc7ee559a4cbf9a50318ce01f8e32", + "model_id": "5b99331bb5f34dc2a2f19de6e3a76924", "version_major": 2, "version_minor": 0 }, @@ -1284,7 +1328,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6a2ddf4eb7804c3dae7308c38ac62f64", + "model_id": "db2fb2cd40a84f428a23607ba53c2db2", "version_major": 2, "version_minor": 0 }, @@ -1298,7 +1342,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1cb0fdc5dc844e3d86be977f31fc2c55", + "model_id": "8781d48d5a6e4049a4f61518e2012d42", "version_major": 2, "version_minor": 0 }, @@ -1312,7 +1356,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "453e1e5c09b1408bbd54ea0c1114317d", + "model_id": "3f42661c2c614f108a224856e6557abc", "version_major": 2, "version_minor": 0 }, @@ -1326,7 +1370,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "707cb0e076d5423d9fc843e6ce694bc8", + "model_id": "f92aecc2c74d41d58677fd14b0087046", "version_major": 2, "version_minor": 0 }, @@ -1340,7 +1384,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "181ea338311d41ed8683179847062a52", + "model_id": "92446bff22734a3da0c01e32a13e9051", "version_major": 2, "version_minor": 0 }, @@ -1354,7 +1398,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "484952a989984351adef5fabe029eeb7", + "model_id": "35ec6c603bea40d2b2611eb81567c0ab", "version_major": 2, "version_minor": 0 }, @@ -1368,7 +1412,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "054f09e1a5f4465996ce6ec5b3ba1146", + "model_id": "3287f50bccce40b8a0c0a59ea00cc0cd", "version_major": 2, "version_minor": 0 }, @@ -1382,7 +1426,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "82250cd8bdc240ab85ce5e0370317e92", + "model_id": "8efd98f3c2184d8bbcd68261c40738bc", "version_major": 2, "version_minor": 0 }, @@ -1396,7 +1440,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "25dd99e66f8a4027a72738533e7ae394", + "model_id": "d746a54ffd424233ab16206f494e5f52", "version_major": 2, "version_minor": 0 }, @@ -1410,7 +1454,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "835c90e2220b431a8adb5547bab852d5", + "model_id": "64a1c6c769e242a8b8073eaaa3ae2e78", "version_major": 2, "version_minor": 0 }, @@ -1424,7 +1468,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "32f4f030757346d28b5ac0f740670e99", + "model_id": "ce0e5cf635b446b68b9d931425134bc6", "version_major": 2, "version_minor": 0 }, @@ -1438,7 +1482,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6f8fc4c9f989461a852f2ce09d942e05", + "model_id": "e346af73146548c997881c7ad9645a80", "version_major": 2, "version_minor": 0 }, @@ -1452,7 +1496,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "306f23920a5143db8a945cc1a3e9da1b", + "model_id": "0677a37fdc9c441f84155f426f0de75a", "version_major": 2, "version_minor": 0 }, @@ -1466,7 +1510,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3e30fb3fb46d4f00bc376c0c4a5708bc", + "model_id": "2ac4d94201fa455681ba7d7c37e5b2ef", "version_major": 2, "version_minor": 0 }, @@ -1480,7 +1524,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2bfd03420cec46fd842aa236e22048fe", + "model_id": "4e49dded3bc0435190355aa5260692e8", "version_major": 2, "version_minor": 0 }, @@ -1494,7 +1538,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "46c5ed8f389b4b28909d7613a55fc7d4", + "model_id": "a81ff957e66c4532b281b11602b68548", "version_major": 2, "version_minor": 0 }, @@ -1508,7 +1552,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "13cc75eb82df4779921ea21cfc3d3c3c", + "model_id": "740f9b3abb3d4b7f87394b21bde8489b", "version_major": 2, "version_minor": 0 }, @@ -1522,7 +1566,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "86e7dc83e43a4b1a86a7b43859c17ee4", + "model_id": "3da379fb3ea9492490344c9d26096aa9", "version_major": 2, "version_minor": 0 }, @@ -1536,7 +1580,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "08b17f2b0bb841d2acf54c787203ba31", + "model_id": "c69aa4b03ba44f90ac8f028f9c70a8ee", "version_major": 2, "version_minor": 0 }, @@ -1550,7 +1594,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "99d12b980a59436e995f1dbb88fb1164", + "model_id": "5cfeb9eca6844951aa64eb65d31b8e92", "version_major": 2, "version_minor": 0 }, @@ -1564,7 +1608,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d42054d7c1124327b7dee81d2d2b379f", + "model_id": "69c91d16c4434586afa8e6844199ce9e", "version_major": 2, "version_minor": 0 }, @@ -1578,7 +1622,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4e0392e5373f405fbed3c45df88e5956", + "model_id": "6c22639d144c46d69e6181eb87920bcc", "version_major": 2, "version_minor": 0 }, @@ -1592,7 +1636,161 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0a27b94f2dbc494ab882b517ec8b25e3", + "model_id": "550a5488f5524a7ea3b1e52948038d12", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4b8b7ebfeb0849e9a60c96f9aabba024", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1a10648e30c14c1db16fa208c754a4fb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "61dec5469a9d412bad77f0c3201ddaab", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "acadb6bf3eef48f38c30a8acf62cac47", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c7ef60827b3d4b91932ccdba0558187f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6b6d02b47716437093cecd3795c24a0c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c8924735cc9d44978d3787d78a1f986d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1b57b24e97ff4c889a79196eaa3cd72b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "85bb6351b4d5448cb785f347ecbbc15d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c967f43c4ea94558a99f47f2992d8f45", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Validation: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4817f7bfe9ae48ffa2e243f7fc470e98", "version_major": 2, "version_minor": 0 }, @@ -1607,8 +1805,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/lightning/pytorch/trainer/call.py:54: UserWarning: Detected KeyboardInterrupt, attempting graceful shutdown...\n", - " rank_zero_warn(\"Detected KeyboardInterrupt, attempting graceful shutdown...\")\n" + "`Trainer.fit` stopped: `max_epochs=42` reached.\n" ] } ], @@ -1654,13 +1851,11 @@ " \n", " \n", " \n", - " train/loss\n", - " step\n", - " val/loss\n", " val/acc\n", - " val/auroc\n", + " val/loss\n", + " step\n", " train/acc\n", - " train/auroc\n", + " train/loss\n", " \n", " \n", " epoch\n", @@ -1669,393 +1864,394 @@ " \n", " \n", " \n", - " \n", - " \n", " \n", " \n", " \n", " \n", " 0\n", - " 0.015927\n", - " 6.000000\n", - " 0.010832\n", - " 0.500000\n", - " 0.465035\n", - " 0.531250\n", - " 0.499781\n", + " 0.534722\n", + " 0.016746\n", + " 12.0\n", + " 0.534615\n", + " 0.018464\n", " \n", " \n", " 1\n", - " 0.007576\n", - " 13.250000\n", - " 0.011168\n", - " 0.437500\n", - " 0.475524\n", - " 0.645833\n", - " 0.739729\n", + " 0.609722\n", + " 0.015998\n", + " 25.0\n", + " 0.711538\n", + " 0.012263\n", " \n", " \n", " 2\n", - " 0.006555\n", - " 21.666667\n", - " 0.015785\n", - " 0.375000\n", - " 0.381119\n", - " 0.614583\n", - " 0.654893\n", + " 0.772222\n", + " 0.012066\n", + " 38.0\n", + " 0.794872\n", + " 0.009732\n", " \n", " \n", " 3\n", - " 0.008142\n", - " 28.750000\n", - " 0.012771\n", - " 0.520833\n", - " 0.506119\n", - " 0.708333\n", - " 0.782780\n", + " 0.673611\n", + " 0.013964\n", + " 51.0\n", + " 0.842949\n", + " 0.007803\n", " \n", " \n", " 4\n", - " 0.006131\n", - " 37.750000\n", - " 0.011858\n", - " 0.583333\n", - " 0.551573\n", - " 0.614583\n", - " 0.730870\n", + " 0.786111\n", + " 0.010288\n", + " 64.0\n", + " 0.880128\n", + " 0.006537\n", " \n", " \n", " 5\n", - " 0.004264\n", - " 46.000000\n", - " 0.010535\n", - " 0.437500\n", - " 0.496503\n", - " 0.635417\n", - " 0.697115\n", + " 0.684722\n", + " 0.014036\n", + " 77.0\n", + " 0.892308\n", + " 0.005901\n", " \n", " \n", " 6\n", - " 0.004126\n", - " 53.250000\n", - " 0.013499\n", - " 0.479167\n", - " 0.446678\n", - " 0.781250\n", - " 0.865385\n", + " 0.559722\n", + " 0.018861\n", + " 90.0\n", + " 0.922436\n", + " 0.005012\n", " \n", " \n", " 7\n", - " 0.005723\n", - " 61.666667\n", - " 0.010132\n", - " 0.562500\n", - " 0.623252\n", - " 0.604167\n", - " 0.681046\n", + " 0.727778\n", + " 0.012232\n", + " 103.0\n", + " 0.942308\n", + " 0.004662\n", " \n", " \n", " 8\n", - " 0.006037\n", - " 68.750000\n", - " 0.013607\n", - " 0.562500\n", - " 0.515734\n", - " 0.604167\n", - " 0.693619\n", + " 0.818056\n", + " 0.009594\n", + " 116.0\n", + " 0.923718\n", + " 0.005102\n", " \n", " \n", " 9\n", - " 0.010306\n", - " 77.750000\n", - " 0.010264\n", - " 0.541667\n", - " 0.540210\n", - " 0.718750\n", - " 0.784091\n", + " 0.829167\n", + " 0.009574\n", + " 129.0\n", + " 0.923718\n", + " 0.004989\n", " \n", " \n", " 10\n", - " 0.002464\n", - " 86.000000\n", - " 0.011431\n", - " 0.479167\n", - " 0.533217\n", - " 0.781250\n", - " 0.875656\n", + " 0.770833\n", + " 0.010423\n", + " 142.0\n", + " 0.940385\n", + " 0.004112\n", " \n", " \n", " 11\n", - " 0.006821\n", - " 93.250000\n", - " 0.010474\n", - " 0.437500\n", - " 0.513112\n", - " 0.729167\n", - " 0.839651\n", + " 0.795833\n", + " 0.010255\n", + " 155.0\n", + " 0.975000\n", + " 0.003363\n", " \n", " \n", " 12\n", - " 0.004602\n", - " 101.666667\n", - " 0.010474\n", - " 0.541667\n", - " 0.546329\n", - " 0.812500\n", - " 0.874074\n", + " 0.855556\n", + " 0.007453\n", + " 168.0\n", + " 0.973077\n", + " 0.002933\n", " \n", " \n", " 13\n", - " 0.003618\n", - " 108.750000\n", - " 0.010075\n", - " 0.583333\n", - " 0.595280\n", - " 0.843750\n", - " 0.922115\n", + " 0.855556\n", + " 0.007326\n", + " 181.0\n", + " 0.968590\n", + " 0.003108\n", " \n", " \n", " 14\n", - " 0.004685\n", - " 117.750000\n", - " 0.010495\n", - " 0.479167\n", - " 0.532343\n", - " 0.781250\n", - " 0.865435\n", + " 0.848611\n", + " 0.007553\n", + " 194.0\n", + " 0.974359\n", + " 0.002627\n", " \n", " \n", " 15\n", - " 0.004337\n", - " 126.000000\n", - " 0.010489\n", - " 0.541667\n", - " 0.574301\n", - " 0.927083\n", - " 0.958698\n", + " 0.776389\n", + " 0.011073\n", + " 207.0\n", + " 0.973718\n", + " 0.002688\n", " \n", " \n", " 16\n", - " 0.003142\n", - " 133.250000\n", - " 0.010748\n", - " 0.416667\n", - " 0.469406\n", - " 0.833333\n", - " 0.912609\n", + " 0.801389\n", + " 0.009632\n", + " 220.0\n", + " 0.990385\n", + " 0.002391\n", " \n", " \n", " 17\n", - " 0.005272\n", - " 141.666667\n", - " 0.010422\n", - " 0.500000\n", - " 0.541958\n", - " 0.833333\n", - " 0.884565\n", + " 0.819444\n", + " 0.010600\n", + " 233.0\n", + " 0.990385\n", + " 0.002235\n", " \n", " \n", " 18\n", - " 0.001579\n", - " 148.750000\n", - " 0.010917\n", - " 0.458333\n", - " 0.464161\n", - " 0.843750\n", - " 0.936844\n", + " 0.868056\n", + " 0.006916\n", + " 246.0\n", + " 0.990385\n", + " 0.001960\n", " \n", " \n", " 19\n", - " 0.003601\n", - " 157.750000\n", - " 0.010919\n", - " 0.437500\n", - " 0.457168\n", - " 0.895833\n", - " 0.961825\n", + " 0.863889\n", + " 0.007188\n", + " 259.0\n", + " 0.996154\n", + " 0.001801\n", " \n", " \n", " 20\n", - " 0.002547\n", - " 166.000000\n", - " 0.010794\n", - " 0.395833\n", - " 0.422203\n", - " 0.885417\n", - " 0.962194\n", + " 0.847222\n", + " 0.007674\n", + " 272.0\n", + " 1.000000\n", + " 0.001812\n", " \n", " \n", " 21\n", - " 0.002152\n", - " 173.250000\n", - " 0.010530\n", - " 0.500000\n", - " 0.494755\n", - " 0.864583\n", - " 0.953453\n", + " 0.856944\n", + " 0.008530\n", + " 285.0\n", + " 1.000000\n", + " 0.001717\n", " \n", " \n", " 22\n", - " 0.002626\n", - " 181.666667\n", - " 0.010553\n", - " 0.520833\n", - " 0.535839\n", - " 0.854167\n", - " 0.952579\n", + " 0.800000\n", + " 0.009698\n", + " 298.0\n", + " 0.998077\n", + " 0.001618\n", " \n", " \n", " 23\n", - " 0.002555\n", - " 188.750000\n", - " 0.010886\n", - " 0.416667\n", - " 0.445804\n", - " 0.885417\n", - " 0.952941\n", + " 0.859722\n", + " 0.007133\n", + " 311.0\n", + " 0.996154\n", + " 0.001561\n", " \n", " \n", " 24\n", - " 0.002051\n", - " 197.750000\n", - " 0.010900\n", - " 0.437500\n", - " 0.457168\n", - " 0.875000\n", - " 0.967439\n", + " 0.862500\n", + " 0.006956\n", + " 324.0\n", + " 0.998077\n", + " 0.001457\n", " \n", " \n", " 25\n", - " 0.002973\n", - " 206.000000\n", - " 0.011110\n", - " 0.375000\n", - " 0.407343\n", - " 0.906250\n", - " 0.967530\n", + " 0.831944\n", + " 0.008480\n", + " 337.0\n", + " 0.996795\n", + " 0.001651\n", " \n", " \n", " 26\n", - " 0.002450\n", - " 213.250000\n", - " 0.010571\n", - " 0.458333\n", - " 0.458042\n", - " 0.843750\n", - " 0.912150\n", + " 0.833333\n", + " 0.010075\n", + " 350.0\n", + " 0.996795\n", + " 0.001557\n", " \n", " \n", " 27\n", - " 0.000325\n", - " 221.666667\n", - " 0.010397\n", - " 0.437500\n", - " 0.472902\n", - " 0.916667\n", - " 0.972247\n", + " 0.876389\n", + " 0.007030\n", + " 363.0\n", + " 0.994872\n", + " 0.001549\n", " \n", " \n", " 28\n", - " 0.001491\n", - " 228.750000\n", - " 0.010923\n", - " 0.500000\n", - " 0.477273\n", - " 0.937500\n", - " 0.976522\n", + " 0.872222\n", + " 0.006981\n", + " 376.0\n", + " 0.998077\n", + " 0.001133\n", " \n", " \n", " 29\n", - " 0.002409\n", - " 237.750000\n", - " 0.010763\n", - " 0.479167\n", - " 0.489511\n", - " 0.854167\n", - " 0.951705\n", + " 0.851389\n", + " 0.006884\n", + " 389.0\n", + " 0.996154\n", + " 0.001255\n", " \n", " \n", " 30\n", - " 0.001079\n", - " 245.500000\n", - " 0.010457\n", - " 0.500000\n", - " 0.527972\n", + " 0.850000\n", + " 0.008781\n", + " 402.0\n", + " 0.999359\n", + " 0.001194\n", + " \n", + " \n", + " 31\n", + " 0.838889\n", + " 0.008438\n", + " 415.0\n", + " 0.999359\n", + " 0.000940\n", + " \n", + " \n", + " 32\n", + " 0.856944\n", + " 0.006885\n", + " 428.0\n", + " 1.000000\n", + " 0.000828\n", + " \n", + " \n", + " 33\n", + " 0.851389\n", + " 0.007073\n", + " 441.0\n", + " 0.999359\n", + " 0.000678\n", + " \n", + " \n", + " 34\n", + " 0.856944\n", + " 0.007002\n", + " 454.0\n", + " 1.000000\n", + " 0.000600\n", + " \n", + " \n", + " 35\n", + " 0.852778\n", + " 0.007076\n", + " 467.0\n", + " 1.000000\n", + " 0.000506\n", + " \n", + " \n", + " 36\n", + " 0.852778\n", + " 0.007642\n", + " 480.0\n", + " 1.000000\n", + " 0.000409\n", + " \n", + " \n", + " 37\n", + " 0.862500\n", + " 0.006794\n", + " 493.0\n", + " 1.000000\n", + " 0.000289\n", + " \n", + " \n", + " 38\n", + " 0.851389\n", + " 0.006919\n", + " 506.0\n", + " 1.000000\n", + " 0.000217\n", + " \n", + " \n", + " 39\n", " 0.854167\n", - " 0.951705\n", + " 0.006855\n", + " 519.0\n", + " 1.000000\n", + " 0.000194\n", + " \n", + " \n", + " 40\n", + " 0.852778\n", + " 0.006956\n", + " 532.0\n", + " 1.000000\n", + " 0.000219\n", + " \n", + " \n", + " 41\n", + " 0.855556\n", + " 0.006868\n", + " 545.0\n", + " 1.000000\n", + " 0.000207\n", " \n", " \n", "\n", "" ], "text/plain": [ - " train/loss step val/loss val/acc val/auroc train/acc \n", - "epoch \n", - "0 0.015927 6.000000 0.010832 0.500000 0.465035 0.531250 \\\n", - "1 0.007576 13.250000 0.011168 0.437500 0.475524 0.645833 \n", - "2 0.006555 21.666667 0.015785 0.375000 0.381119 0.614583 \n", - "3 0.008142 28.750000 0.012771 0.520833 0.506119 0.708333 \n", - "4 0.006131 37.750000 0.011858 0.583333 0.551573 0.614583 \n", - "5 0.004264 46.000000 0.010535 0.437500 0.496503 0.635417 \n", - "6 0.004126 53.250000 0.013499 0.479167 0.446678 0.781250 \n", - "7 0.005723 61.666667 0.010132 0.562500 0.623252 0.604167 \n", - "8 0.006037 68.750000 0.013607 0.562500 0.515734 0.604167 \n", - "9 0.010306 77.750000 0.010264 0.541667 0.540210 0.718750 \n", - "10 0.002464 86.000000 0.011431 0.479167 0.533217 0.781250 \n", - "11 0.006821 93.250000 0.010474 0.437500 0.513112 0.729167 \n", - "12 0.004602 101.666667 0.010474 0.541667 0.546329 0.812500 \n", - "13 0.003618 108.750000 0.010075 0.583333 0.595280 0.843750 \n", - "14 0.004685 117.750000 0.010495 0.479167 0.532343 0.781250 \n", - "15 0.004337 126.000000 0.010489 0.541667 0.574301 0.927083 \n", - "16 0.003142 133.250000 0.010748 0.416667 0.469406 0.833333 \n", - "17 0.005272 141.666667 0.010422 0.500000 0.541958 0.833333 \n", - "18 0.001579 148.750000 0.010917 0.458333 0.464161 0.843750 \n", - "19 0.003601 157.750000 0.010919 0.437500 0.457168 0.895833 \n", - "20 0.002547 166.000000 0.010794 0.395833 0.422203 0.885417 \n", - "21 0.002152 173.250000 0.010530 0.500000 0.494755 0.864583 \n", - "22 0.002626 181.666667 0.010553 0.520833 0.535839 0.854167 \n", - "23 0.002555 188.750000 0.010886 0.416667 0.445804 0.885417 \n", - "24 0.002051 197.750000 0.010900 0.437500 0.457168 0.875000 \n", - "25 0.002973 206.000000 0.011110 0.375000 0.407343 0.906250 \n", - "26 0.002450 213.250000 0.010571 0.458333 0.458042 0.843750 \n", - "27 0.000325 221.666667 0.010397 0.437500 0.472902 0.916667 \n", - "28 0.001491 228.750000 0.010923 0.500000 0.477273 0.937500 \n", - "29 0.002409 237.750000 0.010763 0.479167 0.489511 0.854167 \n", - "30 0.001079 245.500000 0.010457 0.500000 0.527972 0.854167 \n", - "\n", - " train/auroc \n", - "epoch \n", - "0 0.499781 \n", - "1 0.739729 \n", - "2 0.654893 \n", - "3 0.782780 \n", - "4 0.730870 \n", - "5 0.697115 \n", - "6 0.865385 \n", - "7 0.681046 \n", - "8 0.693619 \n", - "9 0.784091 \n", - "10 0.875656 \n", - "11 0.839651 \n", - "12 0.874074 \n", - "13 0.922115 \n", - "14 0.865435 \n", - "15 0.958698 \n", - "16 0.912609 \n", - "17 0.884565 \n", - "18 0.936844 \n", - "19 0.961825 \n", - "20 0.962194 \n", - "21 0.953453 \n", - "22 0.952579 \n", - "23 0.952941 \n", - "24 0.967439 \n", - "25 0.967530 \n", - "26 0.912150 \n", - "27 0.972247 \n", - "28 0.976522 \n", - "29 0.951705 \n", - "30 0.951705 " + " val/acc val/loss step train/acc train/loss\n", + "epoch \n", + "0 0.534722 0.016746 12.0 0.534615 0.018464\n", + "1 0.609722 0.015998 25.0 0.711538 0.012263\n", + "2 0.772222 0.012066 38.0 0.794872 0.009732\n", + "3 0.673611 0.013964 51.0 0.842949 0.007803\n", + "4 0.786111 0.010288 64.0 0.880128 0.006537\n", + "5 0.684722 0.014036 77.0 0.892308 0.005901\n", + "6 0.559722 0.018861 90.0 0.922436 0.005012\n", + "7 0.727778 0.012232 103.0 0.942308 0.004662\n", + "8 0.818056 0.009594 116.0 0.923718 0.005102\n", + "9 0.829167 0.009574 129.0 0.923718 0.004989\n", + "10 0.770833 0.010423 142.0 0.940385 0.004112\n", + "11 0.795833 0.010255 155.0 0.975000 0.003363\n", + "12 0.855556 0.007453 168.0 0.973077 0.002933\n", + "13 0.855556 0.007326 181.0 0.968590 0.003108\n", + "14 0.848611 0.007553 194.0 0.974359 0.002627\n", + "15 0.776389 0.011073 207.0 0.973718 0.002688\n", + "16 0.801389 0.009632 220.0 0.990385 0.002391\n", + "17 0.819444 0.010600 233.0 0.990385 0.002235\n", + "18 0.868056 0.006916 246.0 0.990385 0.001960\n", + "19 0.863889 0.007188 259.0 0.996154 0.001801\n", + "20 0.847222 0.007674 272.0 1.000000 0.001812\n", + "21 0.856944 0.008530 285.0 1.000000 0.001717\n", + "22 0.800000 0.009698 298.0 0.998077 0.001618\n", + "23 0.859722 0.007133 311.0 0.996154 0.001561\n", + "24 0.862500 0.006956 324.0 0.998077 0.001457\n", + "25 0.831944 0.008480 337.0 0.996795 0.001651\n", + "26 0.833333 0.010075 350.0 0.996795 0.001557\n", + "27 0.876389 0.007030 363.0 0.994872 0.001549\n", + "28 0.872222 0.006981 376.0 0.998077 0.001133\n", + "29 0.851389 0.006884 389.0 0.996154 0.001255\n", + "30 0.850000 0.008781 402.0 0.999359 0.001194\n", + "31 0.838889 0.008438 415.0 0.999359 0.000940\n", + "32 0.856944 0.006885 428.0 1.000000 0.000828\n", + "33 0.851389 0.007073 441.0 0.999359 0.000678\n", + "34 0.856944 0.007002 454.0 1.000000 0.000600\n", + "35 0.852778 0.007076 467.0 1.000000 0.000506\n", + "36 0.852778 0.007642 480.0 1.000000 0.000409\n", + "37 0.862500 0.006794 493.0 1.000000 0.000289\n", + "38 0.851389 0.006919 506.0 1.000000 0.000217\n", + "39 0.854167 0.006855 519.0 1.000000 0.000194\n", + "40 0.852778 0.006956 532.0 1.000000 0.000219\n", + "41 0.855556 0.006868 545.0 1.000000 0.000207" ] }, "execution_count": 58, @@ -2077,7 +2273,7 @@ "outputs": [ { "data": { - "image/png": "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e5WcnExRUWgBXL+ZeZk7dy5z586N9TD6HZ/Px3XXXdfjwEVERDoRaM7YWO9WbFdrgB7rN8GLRMb06dOZPn16rIchItJ/pGdCUhK0tbnbpAOtAfK1bBQqJRWIiIhEkfF4IMs/+1K1G6r9OysHaeYlVApeREREos2ftGs3rQNrwettD2ikWwpeREREoi2Q97LpM/drfqE7IyMh0Z0SERGJMhOYedno9qlTN+meUfAiIiISbTl57tetGwF1k+4pBS8iIiLR5m8RQFub+1XbpHtEwYuIiEi05XwuOVfLRj2i4GWAmDlzJnfddVenrz/44INMmjQpiiMSERm4AjkvwcdqDdAjCl4GuFmzZvHyyy/HehgiIgNLYNkoQDMvPTLgK+xaa2luC70/QxsOrb6+dWkGSE0yGGP6fJ6+WL16NdXV1Rx22GE8+uijMR2LiMiA8vllI+W89MiAD16a2yznPLg26td98JwJpHlDC17uu+8+br75Zt5+++29Oi1fcMEF5Ofn8+Mf/5hrrrmGlStX0tDQwPjx47n88ss5+uijuzzvkiVLOOaYYzrtW/Svf/2LO++8k23btjF8+HB+8pOfcNZZZwFu0HfzzTfzwAMPsGvXLvLz8zn11FO57rrrAPjnP//J3/72N7Zt20Z2djYzZszoctlKRGRA2bMgXWq62zJAQqZlowQwb948Kisree2114LPVVZW8uKLL3LGGWdQX1/PnDlzePDBB4MByQUXXMDWrVu7PO+zzz7LSSed1OFrixYt4te//jXf+c53eO655zj//PO5+OKLg2N45plnuOuuu/j973/Pq6++yt13383EiRMBeP/997nqqqv4xS9+wcsvv8z999/PrFmzwnQ3REQSn0lNdYMWgILCmM/EJ5oBP/OSmmR48JwJIR+f7E2m1dcaluuGKi8vj2OPPZbHH3+co446CnCDh4KCAo444gg8Hg8HHHBA8Pif//znLF68mKVLl3LBBRd0eM6ysjI++ugjjj322A5fv+OOOzj77LP55je/CcDYsWNZuXIld9xxB0cccQRbt26lqKiIo446iuTkZIYOHRps4Lh161YyMjI48cQTSU1NZdiwYUyePDnkP6+IyICQkws7G7Vk1AsDfubFGEOa1xP6f8k9OLaL/3oaZZ9xxhksXLiQ5uZmAB577DG++MUv4vF4qK+v59prr2X27NlMmjSJ8ePH88knn3Q587J06VIOPfRQcnM77qXx6aefcsghh+z13KGHHsqnn7rVIOfNm0dTUxOHHXYYl112GYsWLcLn8wFw9NFHM2zYMA499FB+9KMf8eijj9LY2NijP6+ISL/n33GkAnU9N+CDl0RxwgknYK3lueeeY+vWrbz55puceeaZAFx77bUsXryYyy+/nEcffZSlS5cyceJEWlpaOj3fs88+y4knntjr8QwdOpSXX36ZG264gbS0NK644grOPPNMWltbycrKYvHixdxxxx0MHjyYG2+8keOPP57q6upeX09EpN8JbJfWTqMeU/CSINLS0jj55JN57LHHeOKJJxg7dixTpkwB4O233+bLX/4yJ598MpMmTaK4uJgtW7Z0eq76+npef/31TvNdAMaNG8fbb7+913MrVqxg/Pjxwcfp6emceOKJXHfddTz88MO88847fPzxxwB4vV5mz57Nr371K5YtW8aWLVv2ytkRERnozKFHQVEJZtqhsR5KwhnwOS+J5IwzzuCb3/wma9asCc66AIwePZpFixZxwgknYIxhwYIFOE7n27lfeOEFxowZw/Dhwzs95vvf/z7f+973OOCAAzjqqKN49tlnWbRoEQ888ADgFrVzHIfp06eTnp7Oo48+SlpaGkOHDuXZZ59l06ZNHHHEEWRlZfHcc8/hOA5jx44N380QEUlwnpmzYebsWA8jISl4SSBHHnkkeXl5fPbZZ5xxxhnB53/9619z8cUXc9ppp1FQUMBFF11EXV1dp+dZsmQJJ5xwQpfXmjt3Ltdccw133nknv/71rxk+fDg333wzhx9+OAC5ubn8+c9/5pprrqGtrY2JEyfyz3/+k4KCAnJzc1m0aBE333wzTU1NjB49mttuu4399tsvPDdCREQGNGOtDb1CWwLZuXMnra377gqqqakhJyen1+dNTk7u8LyJwufzMW3aNO67777g7qBIieS96uv/x3hijKG0tJSysjL66V/HsNG9Cp3uVeh0r0IXyXuVnJxMUVFoycvKeRlgqqqqmD9/PgceeGCshyIiItIrWjYaYAoLC/npT38a62GIiIj0mmZeREREJKH0m5mXxYsXs2TJEoYNG8Yll1wS6+GIiIhIhPSb4GXu3LnMnTs3pGMdx9mrwaEklq62gYuISP834D7BMzIyqK2t1QdggnIch9raWjIyMmI9FBERiZF+M/MS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t9xyC+np6QCMHj2aW265hWXLlnHKKafg8/m4//77GT58ONdcc00woJk4cSK/+93veOaZZzj77LMB+Pvf/w7A73//+71mbr761a/uM8ZRo0bx/e9/f69xvPDCCwpeRBKAcl5EJKystbz55pscfPDBWGupqakJ/nfggQfS0NDAunXrgscfffTRwcAFYNasWeTn5/Puu+8CsG7dOqqrqznppJOCgQvAQQcdxNChQ1m5ciUANTU1fPTRRxx77LH7LDkZY/YZ554BFLjBUG1tLQ0NDX2/CSISUZp5EZGwqqmpob6+nmXLlrFs2bJOjwks9ZSWlu71mjGGkpISdu7cCRD8OmTIkH3OM2TIED7++GMAtm/fDsDw4cNDGufnA5ysrCwA6uvrycjICOkcIhIbCl5EJKystQAcddRRzJ49u8NjRo4cyZYtW6I5rH14PB1PPAfGLyLxS8GLiIRVTk4O6enpOI7D1KlTOz0uELyUlZXt9by1lvLyckaMGAFAUVERANu2bWPy5Ml7Hbtt27bg64MHDwZg8+bN4fmDiEjcUs6LiISVx+Nh5syZvPnmm2zatGmf1z9flv/ll1+msbEx+PiNN96gsrKS6dOnAzBmzBhyc3N59tlnaW1tDR737rvvsnXrVg466CDADZomTZrECy+8wK5du/a6hmZTRPoXzbyISNidd955fPjhh1x55ZUcd9xxDBs2jLq6OtatW8cHH3zAP/7xj+CxWVlZXHXVVRxzzDFUV1fzzDPPUFJSwnHHHQeA1+vlq1/9KrfffjtXX301RxxxBFVVVSxatIiioqK9tl1fcMEFXHXVVfziF78IbpXeuXMnK1euZMGCBVG/DyISGQpeRCTs8vLyuOGGG3jkkUd48803WbJkCdnZ2QwfPnyfbctnnHEGGzdu5PHHH6exsZEpU6Zw4YUX7lUs7phjjiElJYUnnniC+++/n9TUVA499FDOP//8YOIvuNufr7/+eh588EGeffZZWlpaKCoq4rDDDovan11EIs9YzaeKSAwEKuxefPHFzJo1K9bDEZEEopwXERERSSgKXkRERCShKHgRERGRhKKcFxEREUkomnkRERGRhKLgRURERBKKghcRERFJKApeREREJKEoeBEREZGEouBFREREEoqCFxEREUkoCl5EREQkofx/AKr/etl2gAkAAAAASUVORK5CYII=", + "image/png": "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DaB2801qN9+kdvM9vthmCi8NYFkWu3fvRp1VvkXt5pvUbr5J7eZ7fLHNFF5ERETEpyi8iIiIiE9ReGkAp9PJZZddhtPp9HYp0gBqN9+kdvNNajff44ttptlGIiIi4lPU8yIiIiI+ReFFREREfIrCi4iIiPgUhRcRERHxKdp8op5SUlL4/PPPKSgooGPHjlx//fV07drV22XJQVu3buWzzz5j9+7d5Ofnc9dddzFo0KC65y3LYubMmSxatIjS0lJ69uzJjTfeSHx8vBerlo8//pi1a9eSnp6On58f3bt35+qrr6Zdu3Z1x1RVVTFjxgxWrlxJdXU1/fr148YbbyQiIsJ7hbdy8+fPZ/78+eTk5ACQmJjIZZddxoABAwC1mS/45JNPeO+99zj33HO59tprAd9qN/W81MPKlSuZMWMGl112Gc888wwdO3bkiSeeoLCw0NulyUGVlZUkJSVxww03HPX5Tz/9lLlz53LTTTfx5JNP4u/vzxNPPEFVVVUTVyo/t3XrViZOnMgTTzzBAw88QG1tLY8//jgVFRV1x/z3v/9lw4YN/PnPf+aRRx4hPz+f6dOne7FqiYqK4sorr+Tpp5/mqaeeok+fPjz77LPs27cPUJs1dzt27GDBggV07NjxsMd9qt0sOaG//OUv1htvvFH3cW1trXXzzTdbH3/8sfeKkmO6/PLLrTVr1tR97HK5rJtuusn69NNP6x4rLS21rrzySuurr77yRolyDIWFhdbll19ubdmyxbIsdztdccUV1qpVq+qOSUtLsy6//HJr27Zt3ipTjuLaa6+1Fi1apDZr5srLy60//vGP1jfffGM99NBD1r///W/Lsnzva009LydQU1PDrl276Nu3b91jNpuNvn378uOPP3qxMqmv7OxsCgoKOP300+seCwoKomvXrmrDZqasrAyAkJAQAHbt2kVtbe1hX38JCQlER0er7ZoJl8vFihUrqKyspHv37mqzZu6NN95gwIABh30/BN/7WtOYlxMoKirC5XIdcc8vIiKCjIwM7xQlDVJQUABAeHj4YY+Hh4fXPSfe53K5+M9//kOPHj3o0KED4G47h8NBcHDwYceq7bxv79693H///VRXVxMQEMBdd91FYmIiqamparNmasWKFezevZunnnrqiOd87WtNPS8i0iy8+eab7Nu3j9tvv93bpUg9tGvXjmnTpvHkk08y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", "text/plain": [ "
" ] @@ -2098,17 +2294,7 @@ "outputs": [ { "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", + "image/png": "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/vrrcTgc0Ru4YMWKFaxYsYKamhoARo4cycUXX8zMmTMBuW7x4IUXXmDp0qVccMEFXH311UD8XLdhmxl5//33WbJkCRdffDEPPPAApaWlLF68GJfLFe2hCZ/29nbKysq47rrrenz8xRdf5F//+heLFi3ivvvuIykpicWLF9PR0RHhkQq/LVu2cO6557J48WJ++tOf4vV6uffee2lraws856mnnuKTTz7hhz/8IXfffTf19fU8/PDDURy1AMjJyeHyyy/nl7/8Jffffz9Tp07lwQcfZP/+/YBct1i3c+dO3njjDUpLS7vdHzfXTQ9Tt912m3788ccDt71er77hhhv0smXLojco0atLLrlEr127NnDbNE29aNEi/eKLLwbua25u1pdffrl+9913ozFE0QOXy6UvueQSvXnzZq21dY2++c1v6jVr1gSeU15eri+55BK9bdu2aA1T9OLqq6/WK1eulOsW41pbW/X3v/99/dlnn+k777xTP/nkk1rr+Pp5G5aZEY/Hw65du5g2bVrgPsMwmDZtGtu3b4/iyER/VVdX43Q6Oe644wL3paamMn78eLmGMaSlpQWA9PR0AHbt2oXX6+32s1dSUkJeXp5ctxhimibvvfce7e3tTJw4Ua5bjHv88ceZOXNmt9+HEF8/b8OyZqShoQHTNI+YM3M4HFRUVERnUCIoTqcTgKysrG73Z2VlBR4T0WWaJn/+85+ZNGkSo0ePBqzrZrPZSEtL6/ZcuW6xYd++fdxxxx243W6Sk5O55ZZbGDlyJHv27JHrFqPee+89du/ezf3333/EY/H08zYsMyNCiPB74okn2L9/PzfffHO0hyL6acSIETz00EPcd999zJ8/n0cffZTy8vJoD0v0ora2lj//+c98//vfJzExMdrDGZRhmRnJzMzEMIwjIkOn0xlzFcaiZ/7r5HK5yM7ODtzvcrkoKyuLzqBEwBNPPMG6deu4++67yc3NDdzvcDjweDw0Nzd3+2vN5XLJz14MsNlsFBUVATB27Fi++OILXn31VU499VS5bjFo165duFwufvzjHwfuM02Tzz//nNdee4077rgjbq7bsAxGbDYbY8eOZdOmTYGloqZpsmnTJs4777woj070R0FBAQ6Hg40bNwaCj5aWFnbu3Mn8+fOjO7hhTGvNn/70Jz788EPuuusuCgoKuj0+duxYEhIS2LhxIyeffDIAFRUV1NbWMnHixGgMWRyFaZq43W65bjFq2rRp/OpXv+p23x/+8AdGjBjBhRdeSF5eXtxct2EZjAAsWLCARx99lLFjxzJ+/HheffVV2tvbmTNnTrSHJnza2tqoqqoK3K6urmbPnj2kp6eTl5fHBRdcwD//+U+Ki4spKCjgmWeeITs7m1mzZkVx1MPbE088wbvvvsutt95KSkpKIPuYmppKYmIiqampnH322SxZsoT09HRSU1P505/+xMSJE2Pul+Nws3TpUmbMmEFeXh5tbW28++67bNmyhTvuuEOuW4xKSUkJ1GP5JSUlkZGREbg/Xq7bsN6197XXXuOll17C6XRSVlbGNddcw4QJE6I9LOGzefNm7r777iPuP+uss7jpppsCTc/efPNNWlpamDx5Mtddd123Blsisi699NIe7//P//zPQKDvb8L03nvv4fF4YrYJ03Dzhz/8gU2bNlFfX09qaiqlpaVceOGFgRUact3iw1133UVZWdkRTc9i/boN62BECCGEENEnq2mEEEIIEVUSjAghhBAiqiQYEUIIIURUSTAihBBCiKiSYEQIIYQQUSXBiBBCCCGiSoIRIYQQQkSVBCNCCCGEiCoJRoQQce25557j0ksvpaGhIdpDEUIMkAQjQgghhIgqCUaEEEIIEVUSjAghhBAiqmzRHoAQIj7U1dXxzDPPsH79epqbmykqKmLBggWcffbZQOcuyzfffDN79uxh9erVtLW1MXXqVK677jry8vK6HW/NmjW88MILlJeXk5yczPTp07nyyivJycnp9rwDBw7w7LPPsnnzZtra2sjLy+Pkk0/msssu6/a8lpYW/vKXv/DRRx+htWb27Nlcd911JCUlhfeNEUIMmgQjQog+OZ1O7rjjDgDOPfdcMjMz+fTTT3nsscdobW3ly1/+cuC5//znP1FKceGFF9LQ0MDy5cv5xS9+wUMPPURiYiIAb731Fr///e8ZN24cl19+OS6Xi1dffZVt27bx4IMPkpaWBsDevXv5+c9/js1mY968eRQUFFBVVcUnn3xyRDDy61//mvz8fC6//HJ27drFqlWryMzM5Morr4zQuySEGCgJRoQQfXrmmWcwTZNf/epXZGRkADB//nx+85vf8Pe//51zzjkn8NympiZ+/etfk5KSAsCYMWP49a9/zZtvvskFF1yAx+Phb3/7G6NGjeLuu+8OBCiTJ0/ml7/8JcuXL+fSSy8F4E9/+hMADzzwQLfMyhVXXHHEGMvKyvjOd77TbRyrV6+WYESIOCA1I0KIo9Jas3btWk444QS01jQ0NAT+mzFjBi0tLezatSvw/DPPPDMQiACcfPLJZGdns379egB27dqFy+Xi3HPPDQQiAMcffzwlJSWsW7cOgIaGBj7//HPmzp17xBSPUuqIcXYNiMAKbhobG2lpaRn8myCECCvJjAghjqqhoYHm5mbefPNN3nzzzV6f459aKS4u7vaYUoqioiJqamoAAv+OGDHiiOOMGDGCrVu3AnDw4EEARo0a1a9xHh6wpKenA9Dc3Exqamq/jiGEiA4JRoQQR6W1BuCMM87grLPO6vE5paWllJeXR3JYRzCMnhO9/vELIWKXBCNCiKPKzMwkJSUF0zQ57rjjen2ePxiprKzsdr/WmqqqKkaPHg1Afn4+ABUVFUydOrXbcysqKgKPFxYWArB///7QfCNCiJglNSNCiKMyDIPZs2ezdu1a9u3bd8Tjh7dhf/vtt2ltbQ3c/uCDD6ivr2fmzJkAjB07lqysLN544w3cbnfgeevXr+fAgQMcf/zxgBUETZkyhdWrV1NbW9vtHJLtEGJokcyIEKJPl19+OZs3b+aOO+5g3rx5jBw5kqamJnbt2sXGjRt58sknA89NT0/n5z//OXPmzMHlcrF8+XKKioqYN28eADabjSuuuILf//733HXXXZx22mk4nU7+9a9/kZ+f322Z8DXXXMPPf/5zfvzjHweW9tbU1LBu3ToeeuihiL8PQojwkGBECNEnh8PBfffdx/PPP8/atWt5/fXXycjIYNSoUUcss124cCF79+7lhRdeoLW1lWnTpnH99dd3az42Z84cEhMTefHFF/nb3/5GUlISs2bN4sorrwwUwoK1XHfx4sU8++yzvPHGG3R0dJCfn88pp5wSse9dCBF+Sku+UwgRAv4OrD/84Q85+eSToz0cIUQckZoRIYQQQkSVBCNCCCGEiCoJRoQQQggRVVIzIoQQQoioksyIEEIIIaJKghEhhBBCRJUEI0IIIYSIKglGhBBCCBFVEowIIYQQIqokGBFCCCFEVEkwIoQQQoiokmBECCGEEFH1/wHdki0FC7e0vgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -2118,7 +2304,7 @@ } ], "source": [ - "for key in ['acc', 'auroc']:\n", + "for key in ['acc']:\n", " df_hist[[c for c in df_hist.columns if key in c]].plot()" ] }, @@ -2147,7 +2333,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9f45b8e9ec304c1d99f3dd1ef24acd03", + "model_id": "7ecb140ff81d43b99d214bdcbfebcd6c", "version_major": 2, "version_minor": 0 }, @@ -2164,9 +2350,8 @@ "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n",
        "┃        Test metric               DataLoader 0               DataLoader 1               DataLoader 2        ┃\n",
        "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n",
-       "│         test/acc              0.9583333134651184         0.8055555820465088               0.71875          │\n",
-       "│        test/auroc             0.9927884936332703         0.8978764414787292          0.811387300491333     │\n",
-       "│         test/loss            0.0031684236600995064      0.010456669144332409       0.006630669813603163    │\n",
+       "│         test/acc                      1.0                 0.855555534362793         0.8805555701255798     │\n",
+       "│         test/loss           2.1766969439340755e-05      0.006868141703307629       0.006985912099480629    │\n",
        "└───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┘\n",
        "
\n" ], @@ -2174,9 +2359,8 @@ "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n", "┃\u001b[1m \u001b[0m\u001b[1m Test metric \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m DataLoader 0 \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m DataLoader 1 \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m DataLoader 2 \u001b[0m\u001b[1m \u001b[0m┃\n", "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", - "│\u001b[36m \u001b[0m\u001b[36m test/acc \u001b[0m\u001b[36m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.9583333134651184 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.8055555820465088 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.71875 \u001b[0m\u001b[35m \u001b[0m│\n", - "│\u001b[36m \u001b[0m\u001b[36m test/auroc \u001b[0m\u001b[36m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.9927884936332703 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.8978764414787292 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.811387300491333 \u001b[0m\u001b[35m \u001b[0m│\n", - "│\u001b[36m \u001b[0m\u001b[36m test/loss \u001b[0m\u001b[36m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.0031684236600995064 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.010456669144332409 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.006630669813603163 \u001b[0m\u001b[35m \u001b[0m│\n", + "│\u001b[36m \u001b[0m\u001b[36m test/acc \u001b[0m\u001b[36m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 1.0 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.855555534362793 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.8805555701255798 \u001b[0m\u001b[35m \u001b[0m│\n", + "│\u001b[36m \u001b[0m\u001b[36m test/loss \u001b[0m\u001b[36m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 2.1766969439340755e-05 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.006868141703307629 \u001b[0m\u001b[35m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.006985912099480629 \u001b[0m\u001b[35m \u001b[0m│\n", "└───────────────────────────┴───────────────────────────┴───────────────────────────┴───────────────────────────┘\n" ] }, @@ -2186,15 +2370,12 @@ { "data": { "text/plain": [ - "[{'test/loss/dataloader_idx_0': 0.0031684236600995064,\n", - " 'test/acc/dataloader_idx_0': 0.9583333134651184,\n", - " 'test/auroc/dataloader_idx_0': 0.9927884936332703},\n", - " {'test/loss/dataloader_idx_1': 0.010456669144332409,\n", - " 'test/acc/dataloader_idx_1': 0.8055555820465088,\n", - " 'test/auroc/dataloader_idx_1': 0.8978764414787292},\n", - " {'test/loss/dataloader_idx_2': 0.006630669813603163,\n", - " 'test/acc/dataloader_idx_2': 0.71875,\n", - " 'test/auroc/dataloader_idx_2': 0.811387300491333}]" + "[{'test/acc/dataloader_idx_0': 1.0,\n", + " 'test/loss/dataloader_idx_0': 2.1766969439340755e-05},\n", + " {'test/acc/dataloader_idx_1': 0.855555534362793,\n", + " 'test/loss/dataloader_idx_1': 0.006868141703307629},\n", + " {'test/acc/dataloader_idx_2': 0.8805555701255798,\n", + " 'test/loss/dataloader_idx_2': 0.006985912099480629}]" ] }, "execution_count": 61, @@ -2223,7 +2404,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3a3a8beb0efd404e94e70e9f6f7ccc6f", + "model_id": "e8c7348279b84d49a5aba4d01374fcd7", "version_major": 2, "version_minor": 0 }, @@ -2237,7 +2418,7 @@ { "data": { "text/plain": [ - "(50,)" + "(793,)" ] }, "execution_count": 62, @@ -2254,7 +2435,35 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(2377, 3170)" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [], + "source": [ + "df_test = dm.df.iloc[dm.splits['test'][0]:].copy()\n", + "y_true = dl_test.dataset.tensors[2].numpy()" + ] + }, + { + "cell_type": "code", + "execution_count": 73, "metadata": {}, "outputs": [ { @@ -2302,1429 +2511,340 @@ " \n", " \n", " \n", - " 150\n", - " 1\n", - " 168\n", + " 2377\n", + " 0\n", + " 5941\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.51070005, 0.3055451]\n", - " 0.374325\n", - " [0.60971963, 0.24475001]\n", - " 0.286432\n", + " [0.39532927, 0.3094553]\n", + " 0.439072\n", + " [0.40214014, 0.18818313]\n", + " 0.318774\n", " False\n", " False\n", - " -0.087894\n", - " 0.087894\n", - " 0.330379\n", - " False\n", + " -0.120297\n", + " 0.120297\n", + " 0.378923\n", " False\n", " False\n", " True\n", - " 0.503418\n", + " True\n", + " 0.577148\n", " \n", " \n", - " 151\n", - " 1\n", - " 129\n", + " 2378\n", + " 0\n", + " 5942\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.23259145, 0.51277584]\n", - " 0.687941\n", - " [0.17681096, 0.29887596]\n", - " 0.628291\n", + " [0.27720308, 0.60739946]\n", + " 0.686628\n", + " [0.44869244, 0.46937478]\n", + " 0.511258\n", " True\n", " True\n", - " -0.059651\n", - " 0.059651\n", - " 0.658116\n", + " -0.175369\n", + " 0.175369\n", + " 0.598943\n", " True\n", " False\n", - " False\n", - " False\n", - " 0.496094\n", + " True\n", + " True\n", + " 0.515625\n", " \n", " \n", - " 152\n", + " 2379\n", " 1\n", - " 154\n", + " 5944\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.01731705, 0.50705147]\n", - " 0.966957\n", - " [0.024548106, 0.29038832]\n", - " 0.922024\n", + " [0.28807038, 0.49657252]\n", + " 0.632856\n", + " [0.42382222, 0.3274443]\n", + " 0.435851\n", " True\n", - " True\n", - " -0.044932\n", - " 0.044932\n", - " 0.944491\n", + " False\n", + " -0.197006\n", + " 0.197006\n", + " 0.534353\n", " True\n", " False\n", " False\n", - " True\n", - " 0.502441\n", + " False\n", + " 0.404297\n", " \n", " \n", - " 153\n", + " 2380\n", " 1\n", - " 105\n", + " 5945\n", " 0\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.24871261, 0.34919375]\n", - " 0.584018\n", - " [0.20935525, 0.3372873]\n", - " 0.617005\n", + " [0.12029998, 0.52055067]\n", + " 0.812268\n", + " [0.3457057, 0.60893726]\n", + " 0.637862\n", " True\n", " True\n", - " 0.032987\n", - " 0.032987\n", - " 0.600511\n", + " -0.174406\n", + " 0.174406\n", + " 0.725065\n", " True\n", " True\n", " False\n", " False\n", - " 0.493408\n", + " 0.478027\n", " \n", " \n", - " 154\n", + " 2381\n", " 0\n", - " 158\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.29554087, 0.44770533]\n", - " 0.602357\n", - " [0.28916663, 0.650704]\n", - " 0.692326\n", - " True\n", - " True\n", - " 0.089970\n", - " 0.089970\n", - " 0.647341\n", - " True\n", - " False\n", - " True\n", - " False\n", - " 0.488037\n", - " \n", - " \n", - " 155\n", - " 0\n", - " 11\n", + " 5947\n", " 0\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.68911886, 0.23028108]\n", - " 0.250466\n", - " [0.45077416, 0.24603784]\n", - " 0.353086\n", - " False\n", - " False\n", - " 0.102619\n", - " 0.102619\n", - " 0.301776\n", + " [0.47331956, 0.34063554]\n", + " 0.418489\n", + " [0.26450822, 0.4396259]\n", + " 0.624341\n", " False\n", " True\n", + " 0.205852\n", + " 0.205852\n", + " 0.521415\n", + " True\n", + " True\n", " False\n", " False\n", - " 0.492065\n", + " 0.462891\n", " \n", " \n", - " 156\n", - " 1\n", - " 142\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " \n", + " \n", + " 3165\n", + " 0\n", + " 7985\n", " 0\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.16365187, 0.541994]\n", - " 0.768071\n", - " [0.08066753, 0.51721096]\n", - " 0.865063\n", - " True\n", - " True\n", - " 0.096991\n", - " 0.096991\n", - " 0.816567\n", + " [0.4293921, 0.33180988]\n", + " 0.435897\n", + " [0.48672205, 0.20352039]\n", + " 0.294849\n", + " False\n", + " False\n", + " -0.141048\n", + " 0.141048\n", + " 0.365373\n", + " False\n", " True\n", " True\n", " False\n", - " True\n", - " 0.501099\n", + " 0.479492\n", " \n", " \n", - " 157\n", + " 3166\n", " 1\n", - " 43\n", + " 7988\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.51398844, 0.15014523]\n", - " 0.226073\n", - " [0.5946602, 0.18023688]\n", - " 0.232592\n", - " False\n", - " False\n", - " 0.006518\n", - " 0.006518\n", - " 0.229333\n", + " [0.4677862, 0.33066]\n", + " 0.414124\n", + " [0.20927021, 0.47021544]\n", + " 0.692007\n", " False\n", + " True\n", + " 0.277882\n", + " 0.277882\n", + " 0.553065\n", + " True\n", " False\n", " True\n", " True\n", - " 0.500244\n", + " 0.587891\n", " \n", " \n", - " 158\n", + " 3167\n", " 1\n", - " 172\n", + " 7996\n", + " 1\n", + " <|system|>You are about to immerse yourself in...\n", + " True\n", + " determined if you are the lying Guard or the ...\n", + " [0.18918358, 0.28532732]\n", + " 0.601296\n", + " [0.4284532, 0.30026284]\n", + " 0.412038\n", + " False\n", + " False\n", + " -0.189258\n", + " 0.189258\n", + " 0.506667\n", + " True\n", + " False\n", + " False\n", + " False\n", + " 0.426758\n", + " \n", + " \n", + " 3168\n", + " 0\n", + " 7998\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.33557335, 0.3058845]\n", - " 0.476851\n", - " [0.43509853, 0.3942831]\n", - " 0.475388\n", - " False\n", - " False\n", - " -0.001463\n", - " 0.001463\n", - " 0.476120\n", - " False\n", - " False\n", + " [0.24055526, 0.41276416]\n", + " 0.631786\n", + " [0.35980803, 0.38881692]\n", + " 0.519368\n", + " True\n", + " True\n", + " -0.112418\n", + " 0.112418\n", + " 0.575577\n", + " True\n", " False\n", " True\n", - " 0.500977\n", + " True\n", + " 0.567383\n", " \n", " \n", - " 159\n", - " 0\n", - " 61\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " responses you must understand which Guard you...\n", - " [0.17736013, 0.10336254]\n", - " 0.368188\n", - " [0.63045466, 0.15524507]\n", - " 0.197586\n", - " False\n", - " False\n", - " -0.170603\n", - " 0.170603\n", - " 0.282887\n", - " False\n", - " True\n", - " True\n", - " False\n", - " 0.493286\n", - " \n", - " \n", - " 160\n", - " 0\n", - " 57\n", + " 3169\n", + " 1\n", + " 7999\n", " 1\n", " <|system|>You are about to immerse yourself in...\n", " True\n", " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.28051013, 0.38832033]\n", - " 0.580587\n", - " [0.3715252, 0.35913014]\n", - " 0.491511\n", - " True\n", - " False\n", - " -0.089076\n", - " 0.089076\n", - " 0.536049\n", - " True\n", - " False\n", - " False\n", - " True\n", - " 0.501587\n", - " \n", - " \n", - " 161\n", - " 1\n", - " 162\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.5058897, 0.25999337]\n", - " 0.339464\n", - " [0.2393078, 0.20939049]\n", - " 0.466652\n", - " False\n", - " False\n", - " 0.127187\n", - " 0.127187\n", - " 0.403058\n", - " False\n", - " False\n", - " True\n", - " True\n", - " 0.512695\n", - " \n", - " \n", - " 162\n", - " 1\n", - " 23\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.3420978, 0.5380594]\n", - " 0.611315\n", - " [0.24526198, 0.68520147]\n", - " 0.736401\n", - " True\n", - " True\n", - " 0.125086\n", - " 0.125086\n", - " 0.673858\n", - " True\n", - " False\n", - " True\n", - " False\n", - " 0.498535\n", - " \n", - " \n", - " 163\n", - " 0\n", - " 169\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.2423431, 0.5343541]\n", - " 0.687974\n", - " [0.2504272, 0.17668837]\n", - " 0.413668\n", - " True\n", - " False\n", - " -0.274305\n", - " 0.274305\n", - " 0.550821\n", - " True\n", - " True\n", - " True\n", - " False\n", - " 0.495972\n", - " \n", - " \n", - " 164\n", - " 1\n", - " 15\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " with the user. You take a role from the class...\n", - " [0.17853975, 0.5407851]\n", - " 0.751785\n", - " [0.24292003, 0.6142778]\n", - " 0.716603\n", - " True\n", - " True\n", - " -0.035182\n", - " 0.035182\n", - " 0.734194\n", - " True\n", - " True\n", - " True\n", - " False\n", - " 0.489624\n", - " \n", - " \n", - " 165\n", - " 1\n", - " 60\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.2587823, 0.6143545]\n", - " 0.703610\n", - " [0.17972627, 0.3793163]\n", - " 0.678498\n", - " True\n", - " True\n", - " -0.025111\n", - " 0.025111\n", - " 0.691054\n", - " True\n", - " False\n", - " False\n", - " True\n", - " 0.500244\n", - " \n", - " \n", - " 166\n", - " 0\n", - " 109\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.07831536, 0.11427375]\n", - " 0.593324\n", - " [0.16355807, 0.17852962]\n", - " 0.521867\n", - " The\n", - " True\n", - " -0.071457\n", - " 0.071457\n", - " 0.557596\n", - " True\n", - " True\n", - " True\n", - " True\n", - " 0.514771\n", - " \n", - " \n", - " 167\n", - " 1\n", - " 137\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.0875063, 0.40016055]\n", - " 0.820544\n", - " [0.07629508, 0.45177224]\n", - " 0.855504\n", - " True\n", - " True\n", - " 0.034959\n", - " 0.034959\n", - " 0.838024\n", - " True\n", - " True\n", + " [0.5347394, 0.29575846]\n", + " 0.356118\n", + " [0.41391683, 0.46787095]\n", + " 0.530588\n", " False\n", " True\n", - " 0.503174\n", - " \n", - " \n", - " 168\n", - " 1\n", - " 31\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " challenge with the user. You take a role from...\n", - " [0.23802724, 0.5483838]\n", - " 0.697316\n", - " [0.2221039, 0.38906607]\n", - " 0.636582\n", - " True\n", - " True\n", - " -0.060734\n", - " 0.060734\n", - " 0.666949\n", - " True\n", + " 0.174470\n", + " 0.174470\n", + " 0.443353\n", " False\n", " False\n", " True\n", - " 0.501587\n", - " \n", - " \n", - " 169\n", - " 1\n", - " 16\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.31615382, 0.24687678]\n", - " 0.438471\n", - " [0.33452016, 0.2664789]\n", - " 0.443386\n", - " False\n", - " False\n", - " 0.004915\n", - " 0.004915\n", - " 0.440928\n", - " False\n", - " False\n", - " True\n", - " False\n", - " 0.492310\n", - " \n", - " \n", - " 170\n", - " 0\n", - " 44\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.31630102, 0.44999683]\n", - " 0.587227\n", - " [0.3154304, 0.30430123]\n", - " 0.491013\n", - " True\n", - " False\n", - " -0.096214\n", - " 0.096214\n", - " 0.539120\n", - " True\n", - " False\n", - " False\n", - " True\n", - " 0.503662\n", - " \n", - " \n", - " 171\n", - " 1\n", - " 184\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.17712891, 0.37545228]\n", - " 0.679439\n", - " [0.16613875, 0.62071395]\n", - " 0.788847\n", - " True\n", - " True\n", - " 0.109407\n", - " 0.109407\n", - " 0.734143\n", - " True\n", - " True\n", - " False\n", - " False\n", - " 0.492065\n", - " \n", - " \n", - " 172\n", - " 1\n", - " 34\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.13158011, 0.56588143]\n", - " 0.811333\n", - " [0.3600757, 0.4373091]\n", - " 0.548422\n", - " True\n", - " True\n", - " -0.262910\n", - " 0.262910\n", - " 0.679877\n", - " True\n", - " False\n", - " False\n", - " False\n", - " 0.497803\n", - " \n", - " \n", - " 173\n", - " 0\n", - " 30\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.57332397, 0.23261268]\n", - " 0.288620\n", - " [0.36824512, 0.40919098]\n", - " 0.526327\n", - " False\n", - " True\n", - " 0.237707\n", - " 0.237707\n", - " 0.407474\n", - " False\n", - " False\n", - " True\n", - " False\n", - " 0.497681\n", - " \n", - " \n", - " 174\n", - " 1\n", - " 58\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|system|>You are about to immerse yourself in...\n", - " [0.25896987, 0.4460104]\n", - " 0.632648\n", - " [0.4140345, 0.5109388]\n", - " 0.552376\n", - " True\n", - " True\n", - " -0.080271\n", - " 0.080271\n", - " 0.592512\n", - " True\n", - " False\n", - " False\n", - " False\n", - " 0.486084\n", - " \n", - " \n", - " 175\n", - " 1\n", - " 35\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.102768205, 0.7309116]\n", - " 0.876719\n", - " [0.19870973, 0.65828913]\n", - " 0.768124\n", - " True\n", - " True\n", - " -0.108595\n", - " 0.108595\n", - " 0.822421\n", - " True\n", - " True\n", - " True\n", - " False\n", - " 0.484375\n", - " \n", - " \n", - " 176\n", - " 0\n", - " 77\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.2075586, 0.29885212]\n", - " 0.590126\n", - " [0.34780553, 0.20938054]\n", - " 0.375775\n", - " True\n", - " False\n", - " -0.214351\n", - " 0.214351\n", - " 0.482951\n", - " False\n", - " True\n", - " True\n", - " False\n", - " 0.496826\n", - " \n", - " \n", - " 177\n", - " 0\n", - " 49\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.7100009, 0.13901824]\n", - " 0.163738\n", - " [0.5653238, 0.20329581]\n", - " 0.264491\n", - " False\n", - " False\n", - " 0.100753\n", - " 0.100753\n", - " 0.214115\n", - " False\n", - " False\n", - " True\n", - " True\n", - " 0.503052\n", - " \n", - " \n", - " 178\n", - " 0\n", - " 6\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.2587491, 0.3103019]\n", - " 0.545288\n", - " [0.20018813, 0.29818124]\n", - " 0.598302\n", - " True\n", - " True\n", - " 0.053014\n", - " 0.053014\n", - " 0.571795\n", - " True\n", - " True\n", - " False\n", - " False\n", - " 0.489258\n", - " \n", - " \n", - " 179\n", - " 0\n", - " 102\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.13064946, 0.4751271]\n", - " 0.784314\n", - " [0.10469297, 0.2285438]\n", - " 0.685809\n", - " True\n", - " True\n", - " -0.098505\n", - " 0.098505\n", - " 0.735062\n", - " True\n", - " True\n", - " True\n", - " False\n", - " 0.487061\n", - " \n", - " \n", - " 180\n", - " 0\n", - " 175\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " you are the lying Guard or the honest Guard, ...\n", - " [0.5283375, 0.18873754]\n", - " 0.263201\n", - " [0.48792645, 0.2345417]\n", - " 0.324635\n", - " False\n", " False\n", - " 0.061434\n", - " 0.061434\n", - " 0.293918\n", - " False\n", - " True\n", - " False\n", - " False\n", - " 0.496826\n", - " \n", - " \n", - " 181\n", - " 1\n", - " 139\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.3033695, 0.3258667]\n", - " 0.517868\n", - " [0.33336014, 0.4300632]\n", - " 0.563328\n", - " False\n", - " False\n", - " 0.045459\n", - " 0.045459\n", - " 0.540598\n", - " True\n", - " False\n", - " True\n", - " True\n", - " 0.506104\n", - " \n", - " \n", - " 182\n", - " 1\n", - " 183\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " are. Once you have determined if you are the ...\n", - " [0.30384678, 0.41305545]\n", - " 0.576159\n", - " [0.33840534, 0.35205752]\n", - " 0.509879\n", - " True\n", - " False\n", - " -0.066280\n", - " 0.066280\n", - " 0.543019\n", - " True\n", - " True\n", - " True\n", - " False\n", - " 0.498291\n", - " \n", - " \n", - " 183\n", - " 0\n", - " 41\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.54003984, 0.3204785]\n", - " 0.372421\n", - " [0.45671034, 0.29275626]\n", - " 0.390614\n", - " False\n", - " False\n", - " 0.018194\n", - " 0.018194\n", - " 0.381517\n", - " False\n", - " True\n", - " False\n", - " True\n", - " 0.508911\n", - " \n", - " \n", - " 184\n", - " 1\n", - " 110\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.41036376, 0.40106177]\n", - " 0.494262\n", - " [0.36564827, 0.5747394]\n", - " 0.611166\n", - " False\n", - " True\n", - " 0.116904\n", - " 0.116904\n", - " 0.552714\n", - " True\n", - " True\n", - " False\n", - " True\n", - " 0.513367\n", - " \n", - " \n", - " 185\n", - " 1\n", - " 22\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.28880435, 0.44483918]\n", - " 0.606334\n", - " [0.28749055, 0.62471724]\n", - " 0.684833\n", - " True\n", - " True\n", - " 0.078499\n", - " 0.078499\n", - " 0.645584\n", - " True\n", - " False\n", - " True\n", - " False\n", - " 0.497803\n", - " \n", - " \n", - " 186\n", - " 0\n", - " 19\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.3268111, 0.5574237]\n", - " 0.630395\n", - " [0.3688169, 0.2799914]\n", - " 0.431541\n", - " True\n", - " False\n", - " -0.198855\n", - " 0.198855\n", - " 0.530968\n", - " True\n", - " False\n", - " False\n", - " False\n", - " 0.497314\n", - " \n", - " \n", - " 187\n", - " 1\n", - " 163\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " \\nReview Content: I purchased these for a Hall...\n", - " [0.2712625, 0.5558543]\n", - " 0.672030\n", - " [0.16317023, 0.343785]\n", - " 0.678123\n", - " True\n", - " True\n", - " 0.006093\n", - " 0.006093\n", - " 0.675077\n", - " True\n", - " False\n", - " True\n", - " False\n", - " 0.496582\n", - " \n", - " \n", - " 188\n", - " 1\n", - " 64\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " You take a role from the classic puzzle of th...\n", - " [0.42266747, 0.14730647]\n", - " 0.258440\n", - " [0.33861542, 0.33124986]\n", - " 0.494495\n", - " False\n", - " False\n", - " 0.236055\n", - " 0.236055\n", - " 0.376467\n", - " False\n", - " True\n", - " False\n", - " True\n", - " 0.503906\n", - " \n", - " \n", - " 189\n", - " 1\n", - " 47\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " must stay in character as you answer user que...\n", - " [0.6139269, 0.22064298]\n", - " 0.264376\n", - " [0.3112615, 0.13503137]\n", - " 0.302555\n", - " False\n", - " False\n", - " 0.038179\n", - " 0.038179\n", - " 0.283466\n", - " False\n", - " True\n", - " False\n", - " True\n", - " 0.501953\n", - " \n", - " \n", - " 190\n", - " 0\n", - " 113\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " \\nIf you determine that you are the lying Guar...\n", - " [0.4033568, 0.35386863]\n", - " 0.467317\n", - " [0.43782142, 0.42844033]\n", - " 0.494580\n", - " True\n", - " True\n", - " 0.027263\n", - " 0.027263\n", - " 0.480948\n", - " False\n", - " False\n", - " True\n", - " False\n", - " 0.498901\n", - " \n", - " \n", - " 191\n", - " 1\n", - " 140\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.16839018, 0.20219603]\n", - " 0.545597\n", - " [0.11284194, 0.18950987]\n", - " 0.626765\n", - " False\n", - " The\n", - " 0.081169\n", - " 0.081169\n", - " 0.586181\n", - " True\n", - " False\n", - " True\n", - " False\n", - " 0.495605\n", - " \n", - " \n", - " 192\n", - " 1\n", - " 181\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.5053113, 0.25797057]\n", - " 0.337971\n", - " [0.7244579, 0.15536621]\n", - " 0.176586\n", - " False\n", - " False\n", - " -0.161385\n", - " 0.161385\n", - " 0.257278\n", - " False\n", - " True\n", - " True\n", - " False\n", - " 0.494385\n", - " \n", - " \n", - " 193\n", - " 1\n", - " 14\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.27621597, 0.63776284]\n", - " 0.697780\n", - " [0.2793549, 0.45018208]\n", - " 0.617071\n", - " True\n", - " True\n", - " -0.080709\n", - " 0.080709\n", - " 0.657425\n", - " True\n", - " True\n", - " True\n", - " True\n", - " 0.510010\n", - " \n", - " \n", - " 194\n", - " 0\n", - " 141\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.06310745, 0.02102269]\n", - " 0.249853\n", - " [0.3754671, 0.090154156]\n", - " 0.193617\n", - " I\n", - " False\n", - " -0.056236\n", - " 0.056236\n", - " 0.221735\n", - " False\n", - " True\n", - " True\n", - " False\n", - " 0.489746\n", - " \n", - " \n", - " 195\n", - " 0\n", - " 194\n", - " 0\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.1637903, 0.24460204]\n", - " 0.598924\n", - " [0.12298218, 0.19751409]\n", - " 0.616257\n", - " True\n", - " True\n", - " 0.017332\n", - " 0.017332\n", - " 0.607590\n", - " True\n", - " True\n", - " False\n", - " False\n", - " 0.494019\n", - " \n", - " \n", - " 196\n", - " 1\n", - " 36\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.08528964, 0.22409111]\n", - " 0.724298\n", - " [0.055180788, 0.23570451]\n", - " 0.810273\n", - " True\n", - " True\n", - " 0.085975\n", - " 0.085975\n", - " 0.767285\n", - " True\n", - " False\n", - " True\n", - " True\n", - " 0.513672\n", - " \n", - " \n", - " 197\n", - " 1\n", - " 97\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.18313582, 0.4596488]\n", - " 0.715079\n", - " [0.16448386, 0.36192286]\n", - " 0.687522\n", - " True\n", - " True\n", - " -0.027557\n", - " 0.027557\n", - " 0.701300\n", - " True\n", - " False\n", - " False\n", - " True\n", - " 0.502930\n", - " \n", - " \n", - " 198\n", - " 1\n", - " 193\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.2598806, 0.4291644]\n", - " 0.622830\n", - " [0.2765025, 0.38006413]\n", - " 0.578857\n", - " Positive\n", - " False\n", - " -0.043973\n", - " 0.043973\n", - " 0.600844\n", - " True\n", - " False\n", - " False\n", - " False\n", - " 0.492920\n", - " \n", - " \n", - " 199\n", - " 1\n", - " 136\n", - " 1\n", - " <|system|>You are about to immerse yourself in...\n", - " True\n", - " <|endoftext|><|endoftext|><|endoftext|><|endof...\n", - " [0.40693173, 0.25143838]\n", - " 0.381905\n", - " [0.1563462, 0.20559072]\n", - " 0.568013\n", - " False\n", - " True\n", - " 0.186109\n", - " 0.186109\n", - " 0.474959\n", - " False\n", - " False\n", - " True\n", - " True\n", - " 0.520630\n", + " 0.480469\n", " \n", " \n", "\n", + "

793 rows × 20 columns

\n", "" ], "text/plain": [ - " true index label prompt \n", - "150 1 168 1 <|system|>You are about to immerse yourself in... \\\n", - "151 1 129 1 <|system|>You are about to immerse yourself in... \n", - "152 1 154 1 <|system|>You are about to immerse yourself in... \n", - "153 1 105 0 <|system|>You are about to immerse yourself in... \n", - "154 0 158 1 <|system|>You are about to immerse yourself in... \n", - "155 0 11 0 <|system|>You are about to immerse yourself in... \n", - "156 1 142 0 <|system|>You are about to immerse yourself in... \n", - "157 1 43 1 <|system|>You are about to immerse yourself in... \n", - "158 1 172 1 <|system|>You are about to immerse yourself in... \n", - "159 0 61 0 <|system|>You are about to immerse yourself in... \n", - "160 0 57 1 <|system|>You are about to immerse yourself in... \n", - "161 1 162 1 <|system|>You are about to immerse yourself in... \n", - "162 1 23 1 <|system|>You are about to immerse yourself in... \n", - "163 0 169 0 <|system|>You are about to immerse yourself in... \n", - "164 1 15 0 <|system|>You are about to immerse yourself in... \n", - "165 1 60 1 <|system|>You are about to immerse yourself in... \n", - "166 0 109 0 <|system|>You are about to immerse yourself in... \n", - "167 1 137 0 <|system|>You are about to immerse yourself in... \n", - "168 1 31 1 <|system|>You are about to immerse yourself in... \n", - "169 1 16 1 <|system|>You are about to immerse yourself in... \n", - "170 0 44 1 <|system|>You are about to immerse yourself in... \n", - "171 1 184 0 <|system|>You are about to immerse yourself in... \n", - "172 1 34 1 <|system|>You are about to immerse yourself in... \n", - "173 0 30 1 <|system|>You are about to immerse yourself in... \n", - "174 1 58 1 <|system|>You are about to immerse yourself in... \n", - "175 1 35 0 <|system|>You are about to immerse yourself in... \n", - "176 0 77 0 <|system|>You are about to immerse yourself in... \n", - "177 0 49 1 <|system|>You are about to immerse yourself in... \n", - "178 0 6 0 <|system|>You are about to immerse yourself in... \n", - "179 0 102 0 <|system|>You are about to immerse yourself in... \n", - "180 0 175 0 <|system|>You are about to immerse yourself in... \n", - "181 1 139 1 <|system|>You are about to immerse yourself in... \n", - "182 1 183 0 <|system|>You are about to immerse yourself in... \n", - "183 0 41 0 <|system|>You are about to immerse yourself in... \n", - "184 1 110 0 <|system|>You are about to immerse yourself in... \n", - "185 1 22 1 <|system|>You are about to immerse yourself in... \n", - "186 0 19 1 <|system|>You are about to immerse yourself in... \n", - "187 1 163 1 <|system|>You are about to immerse yourself in... \n", - "188 1 64 0 <|system|>You are about to immerse yourself in... \n", - "189 1 47 0 <|system|>You are about to immerse yourself in... \n", - "190 0 113 1 <|system|>You are about to immerse yourself in... \n", - "191 1 140 1 <|system|>You are about to immerse yourself in... \n", - "192 1 181 0 <|system|>You are about to immerse yourself in... \n", - "193 1 14 0 <|system|>You are about to immerse yourself in... \n", - "194 0 141 0 <|system|>You are about to immerse yourself in... \n", - "195 0 194 0 <|system|>You are about to immerse yourself in... \n", - "196 1 36 1 <|system|>You are about to immerse yourself in... \n", - "197 1 97 1 <|system|>You are about to immerse yourself in... \n", - "198 1 193 1 <|system|>You are about to immerse yourself in... \n", - "199 1 136 1 <|system|>You are about to immerse yourself in... \n", + " true index label prompt \n", + "2377 0 5941 1 <|system|>You are about to immerse yourself in... \\\n", + "2378 0 5942 1 <|system|>You are about to immerse yourself in... \n", + "2379 1 5944 1 <|system|>You are about to immerse yourself in... \n", + "2380 1 5945 0 <|system|>You are about to immerse yourself in... \n", + "2381 0 5947 0 <|system|>You are about to immerse yourself in... \n", + "... ... ... ... ... \n", + "3165 0 7985 0 <|system|>You are about to immerse yourself in... \n", + "3166 1 7988 1 <|system|>You are about to immerse yourself in... \n", + "3167 1 7996 1 <|system|>You are about to immerse yourself in... \n", + "3168 0 7998 1 <|system|>You are about to immerse yourself in... \n", + "3169 1 7999 1 <|system|>You are about to immerse yourself in... \n", "\n", - " lie prompt_truncated \n", - "150 True <|endoftext|><|endoftext|><|endoftext|><|endof... \\\n", - "151 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "152 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "153 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "154 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "155 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "156 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "157 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "158 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "159 True responses you must understand which Guard you... \n", - "160 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "161 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "162 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "163 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "164 True with the user. You take a role from the class... \n", - "165 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "166 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "167 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "168 True challenge with the user. You take a role from... \n", - "169 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "170 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "171 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "172 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "173 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "174 True <|system|>You are about to immerse yourself in... \n", - "175 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "176 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "177 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "178 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "179 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "180 True you are the lying Guard or the honest Guard, ... \n", - "181 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "182 True are. Once you have determined if you are the ... \n", - "183 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "184 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "185 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "186 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "187 True \\nReview Content: I purchased these for a Hall... \n", - "188 True You take a role from the classic puzzle of th... \n", - "189 True must stay in character as you answer user que... \n", - "190 True \\nIf you determine that you are the lying Guar... \n", - "191 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "192 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "193 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "194 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "195 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "196 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "197 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "198 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", - "199 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + " lie prompt_truncated \n", + "2377 True <|endoftext|><|endoftext|><|endoftext|><|endof... \\\n", + "2378 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "2379 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "2380 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "2381 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "... ... ... \n", + "3165 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "3166 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "3167 True determined if you are the lying Guard or the ... \n", + "3168 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", + "3169 True <|endoftext|><|endoftext|><|endoftext|><|endof... \n", "\n", - " choice_probs0 ans0 choice_probs1 ans1 \n", - "150 [0.51070005, 0.3055451] 0.374325 [0.60971963, 0.24475001] 0.286432 \\\n", - "151 [0.23259145, 0.51277584] 0.687941 [0.17681096, 0.29887596] 0.628291 \n", - "152 [0.01731705, 0.50705147] 0.966957 [0.024548106, 0.29038832] 0.922024 \n", - "153 [0.24871261, 0.34919375] 0.584018 [0.20935525, 0.3372873] 0.617005 \n", - "154 [0.29554087, 0.44770533] 0.602357 [0.28916663, 0.650704] 0.692326 \n", - "155 [0.68911886, 0.23028108] 0.250466 [0.45077416, 0.24603784] 0.353086 \n", - "156 [0.16365187, 0.541994] 0.768071 [0.08066753, 0.51721096] 0.865063 \n", - "157 [0.51398844, 0.15014523] 0.226073 [0.5946602, 0.18023688] 0.232592 \n", - "158 [0.33557335, 0.3058845] 0.476851 [0.43509853, 0.3942831] 0.475388 \n", - "159 [0.17736013, 0.10336254] 0.368188 [0.63045466, 0.15524507] 0.197586 \n", - "160 [0.28051013, 0.38832033] 0.580587 [0.3715252, 0.35913014] 0.491511 \n", - "161 [0.5058897, 0.25999337] 0.339464 [0.2393078, 0.20939049] 0.466652 \n", - "162 [0.3420978, 0.5380594] 0.611315 [0.24526198, 0.68520147] 0.736401 \n", - "163 [0.2423431, 0.5343541] 0.687974 [0.2504272, 0.17668837] 0.413668 \n", - "164 [0.17853975, 0.5407851] 0.751785 [0.24292003, 0.6142778] 0.716603 \n", - "165 [0.2587823, 0.6143545] 0.703610 [0.17972627, 0.3793163] 0.678498 \n", - "166 [0.07831536, 0.11427375] 0.593324 [0.16355807, 0.17852962] 0.521867 \n", - "167 [0.0875063, 0.40016055] 0.820544 [0.07629508, 0.45177224] 0.855504 \n", - "168 [0.23802724, 0.5483838] 0.697316 [0.2221039, 0.38906607] 0.636582 \n", - "169 [0.31615382, 0.24687678] 0.438471 [0.33452016, 0.2664789] 0.443386 \n", - "170 [0.31630102, 0.44999683] 0.587227 [0.3154304, 0.30430123] 0.491013 \n", - "171 [0.17712891, 0.37545228] 0.679439 [0.16613875, 0.62071395] 0.788847 \n", - "172 [0.13158011, 0.56588143] 0.811333 [0.3600757, 0.4373091] 0.548422 \n", - "173 [0.57332397, 0.23261268] 0.288620 [0.36824512, 0.40919098] 0.526327 \n", - "174 [0.25896987, 0.4460104] 0.632648 [0.4140345, 0.5109388] 0.552376 \n", - "175 [0.102768205, 0.7309116] 0.876719 [0.19870973, 0.65828913] 0.768124 \n", - "176 [0.2075586, 0.29885212] 0.590126 [0.34780553, 0.20938054] 0.375775 \n", - "177 [0.7100009, 0.13901824] 0.163738 [0.5653238, 0.20329581] 0.264491 \n", - "178 [0.2587491, 0.3103019] 0.545288 [0.20018813, 0.29818124] 0.598302 \n", - "179 [0.13064946, 0.4751271] 0.784314 [0.10469297, 0.2285438] 0.685809 \n", - "180 [0.5283375, 0.18873754] 0.263201 [0.48792645, 0.2345417] 0.324635 \n", - "181 [0.3033695, 0.3258667] 0.517868 [0.33336014, 0.4300632] 0.563328 \n", - "182 [0.30384678, 0.41305545] 0.576159 [0.33840534, 0.35205752] 0.509879 \n", - "183 [0.54003984, 0.3204785] 0.372421 [0.45671034, 0.29275626] 0.390614 \n", - "184 [0.41036376, 0.40106177] 0.494262 [0.36564827, 0.5747394] 0.611166 \n", - "185 [0.28880435, 0.44483918] 0.606334 [0.28749055, 0.62471724] 0.684833 \n", - "186 [0.3268111, 0.5574237] 0.630395 [0.3688169, 0.2799914] 0.431541 \n", - "187 [0.2712625, 0.5558543] 0.672030 [0.16317023, 0.343785] 0.678123 \n", - "188 [0.42266747, 0.14730647] 0.258440 [0.33861542, 0.33124986] 0.494495 \n", - "189 [0.6139269, 0.22064298] 0.264376 [0.3112615, 0.13503137] 0.302555 \n", - "190 [0.4033568, 0.35386863] 0.467317 [0.43782142, 0.42844033] 0.494580 \n", - "191 [0.16839018, 0.20219603] 0.545597 [0.11284194, 0.18950987] 0.626765 \n", - "192 [0.5053113, 0.25797057] 0.337971 [0.7244579, 0.15536621] 0.176586 \n", - "193 [0.27621597, 0.63776284] 0.697780 [0.2793549, 0.45018208] 0.617071 \n", - "194 [0.06310745, 0.02102269] 0.249853 [0.3754671, 0.090154156] 0.193617 \n", - "195 [0.1637903, 0.24460204] 0.598924 [0.12298218, 0.19751409] 0.616257 \n", - "196 [0.08528964, 0.22409111] 0.724298 [0.055180788, 0.23570451] 0.810273 \n", - "197 [0.18313582, 0.4596488] 0.715079 [0.16448386, 0.36192286] 0.687522 \n", - "198 [0.2598806, 0.4291644] 0.622830 [0.2765025, 0.38006413] 0.578857 \n", - "199 [0.40693173, 0.25143838] 0.381905 [0.1563462, 0.20559072] 0.568013 \n", + " choice_probs0 ans0 choice_probs1 ans1 \n", + "2377 [0.39532927, 0.3094553] 0.439072 [0.40214014, 0.18818313] 0.318774 \\\n", + "2378 [0.27720308, 0.60739946] 0.686628 [0.44869244, 0.46937478] 0.511258 \n", + "2379 [0.28807038, 0.49657252] 0.632856 [0.42382222, 0.3274443] 0.435851 \n", + "2380 [0.12029998, 0.52055067] 0.812268 [0.3457057, 0.60893726] 0.637862 \n", + "2381 [0.47331956, 0.34063554] 0.418489 [0.26450822, 0.4396259] 0.624341 \n", + "... ... ... ... ... \n", + "3165 [0.4293921, 0.33180988] 0.435897 [0.48672205, 0.20352039] 0.294849 \n", + "3166 [0.4677862, 0.33066] 0.414124 [0.20927021, 0.47021544] 0.692007 \n", + "3167 [0.18918358, 0.28532732] 0.601296 [0.4284532, 0.30026284] 0.412038 \n", + "3168 [0.24055526, 0.41276416] 0.631786 [0.35980803, 0.38881692] 0.519368 \n", + "3169 [0.5347394, 0.29575846] 0.356118 [0.41391683, 0.46787095] 0.530588 \n", "\n", " txt_ans0 txt_ans1 dir_true conf llm_prob llm_ans desired_ans \n", - "150 False False -0.087894 0.087894 0.330379 False False \\\n", - "151 True True -0.059651 0.059651 0.658116 True False \n", - "152 True True -0.044932 0.044932 0.944491 True False \n", - "153 True True 0.032987 0.032987 0.600511 True True \n", - "154 True True 0.089970 0.089970 0.647341 True False \n", - "155 False False 0.102619 0.102619 0.301776 False True \n", - "156 True True 0.096991 0.096991 0.816567 True True \n", - "157 False False 0.006518 0.006518 0.229333 False False \n", - "158 False False -0.001463 0.001463 0.476120 False False \n", - "159 False False -0.170603 0.170603 0.282887 False True \n", - "160 True False -0.089076 0.089076 0.536049 True False \n", - "161 False False 0.127187 0.127187 0.403058 False False \n", - "162 True True 0.125086 0.125086 0.673858 True False \n", - "163 True False -0.274305 0.274305 0.550821 True True \n", - "164 True True -0.035182 0.035182 0.734194 True True \n", - "165 True True -0.025111 0.025111 0.691054 True False \n", - "166 The True -0.071457 0.071457 0.557596 True True \n", - "167 True True 0.034959 0.034959 0.838024 True True \n", - "168 True True -0.060734 0.060734 0.666949 True False \n", - "169 False False 0.004915 0.004915 0.440928 False False \n", - "170 True False -0.096214 0.096214 0.539120 True False \n", - "171 True True 0.109407 0.109407 0.734143 True True \n", - "172 True True -0.262910 0.262910 0.679877 True False \n", - "173 False True 0.237707 0.237707 0.407474 False False \n", - "174 True True -0.080271 0.080271 0.592512 True False \n", - "175 True True -0.108595 0.108595 0.822421 True True \n", - "176 True False -0.214351 0.214351 0.482951 False True \n", - "177 False False 0.100753 0.100753 0.214115 False False \n", - "178 True True 0.053014 0.053014 0.571795 True True \n", - "179 True True -0.098505 0.098505 0.735062 True True \n", - "180 False False 0.061434 0.061434 0.293918 False True \n", - "181 False False 0.045459 0.045459 0.540598 True False \n", - "182 True False -0.066280 0.066280 0.543019 True True \n", - "183 False False 0.018194 0.018194 0.381517 False True \n", - "184 False True 0.116904 0.116904 0.552714 True True \n", - "185 True True 0.078499 0.078499 0.645584 True False \n", - "186 True False -0.198855 0.198855 0.530968 True False \n", - "187 True True 0.006093 0.006093 0.675077 True False \n", - "188 False False 0.236055 0.236055 0.376467 False True \n", - "189 False False 0.038179 0.038179 0.283466 False True \n", - "190 True True 0.027263 0.027263 0.480948 False False \n", - "191 False The 0.081169 0.081169 0.586181 True False \n", - "192 False False -0.161385 0.161385 0.257278 False True \n", - "193 True True -0.080709 0.080709 0.657425 True True \n", - "194 I False -0.056236 0.056236 0.221735 False True \n", - "195 True True 0.017332 0.017332 0.607590 True True \n", - "196 True True 0.085975 0.085975 0.767285 True False \n", - "197 True True -0.027557 0.027557 0.701300 True False \n", - "198 Positive False -0.043973 0.043973 0.600844 True False \n", - "199 False True 0.186109 0.186109 0.474959 False False \n", + "2377 False False -0.120297 0.120297 0.378923 False False \\\n", + "2378 True True -0.175369 0.175369 0.598943 True False \n", + "2379 True False -0.197006 0.197006 0.534353 True False \n", + "2380 True True -0.174406 0.174406 0.725065 True True \n", + "2381 False True 0.205852 0.205852 0.521415 True True \n", + "... ... ... ... ... ... ... ... \n", + "3165 False False -0.141048 0.141048 0.365373 False True \n", + "3166 False True 0.277882 0.277882 0.553065 True False \n", + "3167 False False -0.189258 0.189258 0.506667 True False \n", + "3168 True True -0.112418 0.112418 0.575577 True False \n", + "3169 False True 0.174470 0.174470 0.443353 False False \n", "\n", - " y probe_pred probe_prob \n", - "150 False True 0.503418 \n", - "151 False False 0.496094 \n", - "152 False True 0.502441 \n", - "153 False False 0.493408 \n", - "154 True False 0.488037 \n", - "155 False False 0.492065 \n", - "156 False True 0.501099 \n", - "157 True True 0.500244 \n", - "158 False True 0.500977 \n", - "159 True False 0.493286 \n", - "160 False True 0.501587 \n", - "161 True True 0.512695 \n", - "162 True False 0.498535 \n", - "163 True False 0.495972 \n", - "164 True False 0.489624 \n", - "165 False True 0.500244 \n", - "166 True True 0.514771 \n", - "167 False True 0.503174 \n", - "168 False True 0.501587 \n", - "169 True False 0.492310 \n", - "170 False True 0.503662 \n", - "171 False False 0.492065 \n", - "172 False False 0.497803 \n", - "173 True False 0.497681 \n", - "174 False False 0.486084 \n", - "175 True False 0.484375 \n", - "176 True False 0.496826 \n", - "177 True True 0.503052 \n", - "178 False False 0.489258 \n", - "179 True False 0.487061 \n", - "180 False False 0.496826 \n", - "181 True True 0.506104 \n", - "182 True False 0.498291 \n", - "183 False True 0.508911 \n", - "184 False True 0.513367 \n", - "185 True False 0.497803 \n", - "186 False False 0.497314 \n", - "187 True False 0.496582 \n", - "188 False True 0.503906 \n", - "189 False True 0.501953 \n", - "190 True False 0.498901 \n", - "191 True False 0.495605 \n", - "192 True False 0.494385 \n", - "193 True True 0.510010 \n", - "194 True False 0.489746 \n", - "195 False False 0.494019 \n", - "196 True True 0.513672 \n", - "197 False True 0.502930 \n", - "198 False False 0.492920 \n", - "199 True True 0.520630 " + " y probe_pred probe_prob \n", + "2377 True True 0.577148 \n", + "2378 True True 0.515625 \n", + "2379 False False 0.404297 \n", + "2380 False False 0.478027 \n", + "2381 False False 0.462891 \n", + "... ... ... ... \n", + "3165 True False 0.479492 \n", + "3166 True True 0.587891 \n", + "3167 False False 0.426758 \n", + "3168 True True 0.567383 \n", + "3169 True False 0.480469 \n", + "\n", + "[793 rows x 20 columns]" ] }, - "execution_count": 71, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Make a prediction dataframe with everything in it\n", - "df_test = dm.df.iloc[dm.test_split:].copy()\n", + "df_test = dm.df.iloc[dm.splits['test'][0]:].copy()\n", "df_test['probe_pred'] = y_test_pred>0\n", "y_test_pred_bool = np.clip(switch2bool(y_test_pred), 0 ,1)\n", "df_test['probe_prob'] = y_test_pred_bool\n", @@ -3741,7 +2861,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 74, "metadata": {}, "outputs": [ { @@ -3749,21 +2869,21 @@ "output_type": "stream", "text": [ "probe results on subsets of the data\n", - "acc=38.00% [lie==True]\n", + "acc=87.89% [lie==True]\n", "acc=nan% [lie==False]\n", - "acc=33.33% [llm_ans==label]\n", - "acc=43.48% [llm_ans==desired_ans]\n", - "acc=43.48% [lie==True & llm_ans==desired_ans]\n", - "acc=33.33% [lie==True & llm_ans!=desired_ans]\n" + "acc=87.53% [llm_ans==label]\n", + "acc=88.33% [llm_ans==desired_ans]\n", + "acc=88.33% [lie==True & llm_ans==desired_ans]\n", + "acc=87.53% [lie==True & llm_ans!=desired_ans]\n" ] }, { "data": { "text/plain": [ - "0.3333333333333333" + "0.8752886836027713" ] }, - "execution_count": 73, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -3793,22 +2913,22 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 85, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "⭐PRIMARY METRIC⭐ roc_auc=45.20% from probe\n" + "⭐PRIMARY METRIC⭐ acc=87.89% from probe\n" ] } ], "source": [ - "roc_auc = roc_auc_score(df_test['y'], y_test_pred_bool)\n", + "acc = (df_test['y']==(y_test_pred_bool>0.5)).mean()\n", "\n", "# print(f\" PRIMARY BASELINE roc_auc={primary_baseline:2.2%} from linear classifier\")\n", - "print(f\"⭐PRIMARY METRIC⭐ roc_auc={roc_auc:2.2%} from probe\")" + "print(f\"⭐PRIMARY METRIC⭐ acc={acc:2.2%} from probe\")" ] }, { @@ -3818,6 +2938,20 @@ "outputs": [], "source": [] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, diff --git a/notebooks/03_make_dataset.ipynb b/notebooks/03_make_dataset.ipynb index e9cad1e..5e6ed9a 100644 --- a/notebooks/03_make_dataset.ipynb +++ b/notebooks/03_make_dataset.ipynb @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -32,20 +32,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'4.30.1'" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "import numpy as np\n", "\n", @@ -73,7 +62,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -95,7 +84,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -108,8 +97,8 @@ "dataset_params = dict(\n", " model_repo=\"HuggingFaceH4/starchat-beta\",\n", " dataset_name = \"amazon_polarity\",\n", - " N = 8000, # 8000 # 4000 in 4 hours\n", - " N_SHOTS = 3,\n", + " N = 509, # 8000 # 4000 in 4 hours\n", + " N_SHOTS = 2,\n", " prompt_fmt=format_guard_prompt,\n", " choices=default_class2choices,\n", ")\n", @@ -142,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -154,105 +143,136 @@ "\u001b[1mchanging truncation_side from right to left\u001b[0m\n" ] }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "===================================BUG REPORT===================================\n", - "Welcome to bitsandbytes. For bug reports, please run\n", - "\n", - "python -m bitsandbytes\n", - "\n", - " and submit this information together with your error trace to: https://github.com/TimDettmers/bitsandbytes/issues\n", - "================================================================================\n", - "bin /home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda117.so\n", - "CUDA SETUP: CUDA runtime path found: /home/ubuntu/mambaforge/envs/dlk2/lib/libcudart.so.11.0\n", - "CUDA SETUP: Highest compute capability among GPUs detected: 8.6\n", - "CUDA SETUP: Detected CUDA version 117\n", - "CUDA SETUP: Loading binary /home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda117.so...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/bitsandbytes/cuda_setup/main.py:149: UserWarning: Found duplicate ['libcudart.so', 'libcudart.so.11.0', 'libcudart.so.12.0'] files: {PosixPath('/home/ubuntu/mambaforge/envs/dlk2/lib/libcudart.so.11.0'), PosixPath('/home/ubuntu/mambaforge/envs/dlk2/lib/libcudart.so')}.. We'll flip a coin and try one of these, in order to fail forward.\n", - "Either way, this might cause trouble in the future:\n", - "If you get `CUDA error: invalid device function` errors, the above might be the cause and the solution is to make sure only one ['libcudart.so', 'libcudart.so.11.0', 'libcudart.so.12.0'] in the paths that we search based on your env.\n", - " warn(msg)\n" - ] - }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0dd2928fd7c24f2ca8a9fac1745d7987", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮\n",
+       " in <module>:1                                                                                    \n",
+       "                                                                                                  \n",
+       " 1 model, tokenizer = load_model(model_repo=dataset_params['model_repo'])                       \n",
+       "   2                                                                                              \n",
+       "                                                                                                  \n",
+       " /home/ubuntu/Documents/mjc/elk/discovering_latent_knowledge/src/models/load.py:23 in load_model  \n",
+       "                                                                                                  \n",
+       "   20                                                                                             \n",
+       "   21 def load_model(model_repo = \"HuggingFaceH4/starchat-beta\", lora_repo=None, verbose=True)    \n",
+       "   22 if \"starchat\" in model_repo:                                                            \n",
+       " 23 │   │   model, tokenizer = load_starchat(model_repo=model_repo)                             \n",
+       "   24 # elif \"llama\" in model_repo:                                                           \n",
+       "   25 #     model, tokenizer = load_llama(model_repo=model_repo, lora_repo=lora_repo)         \n",
+       "   26 else:                                                                                   \n",
+       "                                                                                                  \n",
+       " /home/ubuntu/Documents/mjc/elk/discovering_latent_knowledge/src/models/load.py:51 in             \n",
+       " load_starchat                                                                                    \n",
+       "                                                                                                  \n",
+       "   48 verbose_change_param(tokenizer, 'padding_side', 'left')                                 \n",
+       "   49 verbose_change_param(tokenizer, 'truncation_side', 'left')                              \n",
+       "   50                                                                                         \n",
+       " 51 model = AutoModelForCausalLM.from_pretrained(model_repo, config=config, **model_opti    \n",
+       "   52                                                                                         \n",
+       "   53 return model, tokenizer                                                                 \n",
+       "   54                                                                                             \n",
+       "                                                                                                  \n",
+       " /home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/transformers/models/auto/auto_fact \n",
+       " ory.py:484 in from_pretrained                                                                    \n",
+       "                                                                                                  \n",
+       "   481 │   │   │   )                                                                              \n",
+       "   482 │   │   elif type(config) in cls._model_mapping.keys():                                    \n",
+       "   483 │   │   │   model_class = _get_model_class(config, cls._model_mapping)                     \n",
+       " 484 │   │   │   return model_class.from_pretrained(                                            \n",
+       "   485 │   │   │   │   pretrained_model_name_or_path, *model_args, config=config, **hub_kwargs,   \n",
+       "   486 │   │   │   )                                                                              \n",
+       "   487 │   │   raise ValueError(                                                                  \n",
+       "                                                                                                  \n",
+       " /home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/transformers/modeling_utils.py:281 \n",
+       " 9 in from_pretrained                                                                             \n",
+       "                                                                                                  \n",
+       "   2816 │   │   │   │   │   key: device_map[key] for key in device_map.keys() if key not in modu  \n",
+       "   2817 │   │   │   │   }                                                                         \n",
+       "   2818 │   │   │   │   if \"cpu\" in device_map_without_lm_head.values() or \"disk\" in device_map_  \n",
+       " 2819 │   │   │   │   │   raise ValueError(                                                     \n",
+       "   2820 │   │   │   │   │   │   \"\"\"                                                               \n",
+       "   2821 │   │   │   │   │   │   Some modules are dispatched on the CPU or the disk. Make sure yo  \n",
+       "   2822 │   │   │   │   │   │   the quantized model. If you want to dispatch the model on the CP  \n",
+       "╰──────────────────────────────────────────────────────────────────────────────────────────────────╯\n",
+       "ValueError: \n",
+       "                        Some modules are dispatched on the CPU or the disk. Make sure you have enough GPU RAM to \n",
+       "fit\n",
+       "                        the quantized model. If you want to dispatch the model on the CPU or the disk while keeping\n",
+       "                        these modules in 32-bit, you need to set `load_in_8bit_fp32_cpu_offload=True` and pass a \n",
+       "custom\n",
+       "                        `device_map` to `from_pretrained`. Check\n",
+       "                        https://huggingface.co/docs/transformers/main/en/main_classes/quantization#offload-between-\n",
+       "cpu-and-gpu\n",
+       "                        for more details.\n",
+       "                        \n",
+       "
\n" + ], "text/plain": [ - "Loading checkpoint shards: 0%| | 0/4 [00:00\u001b[0m:\u001b[94m1\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1 model, tokenizer = load_model(model_repo=dataset_params[\u001b[33m'\u001b[0m\u001b[33mmodel_repo\u001b[0m\u001b[33m'\u001b[0m]) \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m2 \u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2;33m/home/ubuntu/Documents/mjc/elk/discovering_latent_knowledge/src/models/\u001b[0m\u001b[1;33mload.py\u001b[0m:\u001b[94m23\u001b[0m in \u001b[92mload_model\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m20 \u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m21 \u001b[0m\u001b[94mdef\u001b[0m \u001b[92mload_model\u001b[0m(model_repo = \u001b[33m\"\u001b[0m\u001b[33mHuggingFaceH4/starchat-beta\u001b[0m\u001b[33m\"\u001b[0m, lora_repo=\u001b[94mNone\u001b[0m, verbose=\u001b[94mTrue\u001b[0m) \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m22 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mif\u001b[0m \u001b[33m\"\u001b[0m\u001b[33mstarchat\u001b[0m\u001b[33m\"\u001b[0m \u001b[95min\u001b[0m model_repo: \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m23 \u001b[2m│ │ \u001b[0mmodel, tokenizer = load_starchat(model_repo=model_repo) \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m24 \u001b[0m\u001b[2m│ \u001b[0m\u001b[2m# elif \"llama\" in model_repo:\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m25 \u001b[0m\u001b[2m│ \u001b[0m\u001b[2m# model, tokenizer = load_llama(model_repo=model_repo, lora_repo=lora_repo)\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m26 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94melse\u001b[0m: \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2;33m/home/ubuntu/Documents/mjc/elk/discovering_latent_knowledge/src/models/\u001b[0m\u001b[1;33mload.py\u001b[0m:\u001b[94m51\u001b[0m in \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[92mload_starchat\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m48 \u001b[0m\u001b[2m│ \u001b[0mverbose_change_param(tokenizer, \u001b[33m'\u001b[0m\u001b[33mpadding_side\u001b[0m\u001b[33m'\u001b[0m, \u001b[33m'\u001b[0m\u001b[33mleft\u001b[0m\u001b[33m'\u001b[0m) \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m49 \u001b[0m\u001b[2m│ \u001b[0mverbose_change_param(tokenizer, \u001b[33m'\u001b[0m\u001b[33mtruncation_side\u001b[0m\u001b[33m'\u001b[0m, \u001b[33m'\u001b[0m\u001b[33mleft\u001b[0m\u001b[33m'\u001b[0m) \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m50 \u001b[0m\u001b[2m│ \u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m51 \u001b[2m│ \u001b[0mmodel = AutoModelForCausalLM.from_pretrained(model_repo, config=config, **model_opti \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m52 \u001b[0m\u001b[2m│ \u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m53 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mreturn\u001b[0m model, tokenizer \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m54 \u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2;33m/home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/transformers/models/auto/\u001b[0m\u001b[1;33mauto_fact\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[1;33mory.py\u001b[0m:\u001b[94m484\u001b[0m in \u001b[92mfrom_pretrained\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m481 \u001b[0m\u001b[2m│ │ │ \u001b[0m) \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m482 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94melif\u001b[0m \u001b[96mtype\u001b[0m(config) \u001b[95min\u001b[0m \u001b[96mcls\u001b[0m._model_mapping.keys(): \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m483 \u001b[0m\u001b[2m│ │ │ \u001b[0mmodel_class = _get_model_class(config, \u001b[96mcls\u001b[0m._model_mapping) \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m484 \u001b[2m│ │ │ \u001b[0m\u001b[94mreturn\u001b[0m model_class.from_pretrained( \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m485 \u001b[0m\u001b[2m│ │ │ │ \u001b[0mpretrained_model_name_or_path, *model_args, config=config, **hub_kwargs, \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m486 \u001b[0m\u001b[2m│ │ │ \u001b[0m) \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m487 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mraise\u001b[0m \u001b[96mValueError\u001b[0m( \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2;33m/home/ubuntu/mambaforge/envs/dlk2/lib/python3.9/site-packages/transformers/\u001b[0m\u001b[1;33mmodeling_utils.py\u001b[0m:\u001b[94m281\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[94m9\u001b[0m in \u001b[92mfrom_pretrained\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m2816 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0mkey: device_map[key] \u001b[94mfor\u001b[0m key \u001b[95min\u001b[0m device_map.keys() \u001b[94mif\u001b[0m key \u001b[95mnot\u001b[0m \u001b[95min\u001b[0m modu \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m2817 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m} \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m2818 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[33m\"\u001b[0m\u001b[33mcpu\u001b[0m\u001b[33m\"\u001b[0m \u001b[95min\u001b[0m device_map_without_lm_head.values() \u001b[95mor\u001b[0m \u001b[33m\"\u001b[0m\u001b[33mdisk\u001b[0m\u001b[33m\"\u001b[0m \u001b[95min\u001b[0m device_map_ \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m2819 \u001b[2m│ │ │ │ │ \u001b[0m\u001b[94mraise\u001b[0m \u001b[96mValueError\u001b[0m( \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m2820 \u001b[0m\u001b[2;90m│ │ │ │ │ │ \u001b[0m\u001b[33m\"\"\"\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m2821 \u001b[0m\u001b[2;33m│ │ │ │ │ │ \u001b[0m\u001b[33mSome modules are dispatched on the CPU or the disk. Make sure yo\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m│\u001b[0m \u001b[2m2822 \u001b[0m\u001b[2;33m│ │ │ │ │ │ \u001b[0m\u001b[33mthe quantized model. If you want to dispatch the model on the CP\u001b[0m \u001b[31m│\u001b[0m\n", + "\u001b[31m╰──────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n", + "\u001b[1;91mValueError: \u001b[0m\n", + " Some modules are dispatched on the CPU or the disk. Make sure you have enough GPU RAM to \n", + "fit\n", + " the quantized model. If you want to dispatch the model on the CPU or the disk while keeping\n", + " these modules in \u001b[1;36m32\u001b[0m-bit, you need to set `\u001b[33mload_in_8bit_fp32_cpu_offload\u001b[0m=\u001b[3;92mTrue\u001b[0m` and pass a \n", + "custom\n", + " `device_map` to `from_pretrained`. Check\n", + " \u001b[4;94mhttps://huggingface.co/docs/transformers/main/en/main_classes/quantization#offload-between-\u001b[0m\n", + "\u001b[4;94mcpu-and-gpu\u001b[0m\n", + " for more details.\n", + " \n" ] }, "metadata": {}, "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "GPTBigCodeConfig {\n", - " \"_name_or_path\": \"HuggingFaceH4/starchat-beta\",\n", - " \"activation_function\": \"gelu\",\n", - " \"architectures\": [\n", - " \"GPTBigCodeForCausalLM\"\n", - " ],\n", - " \"attention_softmax_in_fp32\": true,\n", - " \"attn_pdrop\": 0.1,\n", - " \"bos_token_id\": 0,\n", - " \"embd_pdrop\": 0.1,\n", - " \"eos_token_id\": 0,\n", - " \"inference_runner\": 0,\n", - " \"initializer_range\": 0.02,\n", - " \"layer_norm_epsilon\": 1e-05,\n", - " \"max_batch_size\": null,\n", - " \"max_sequence_length\": null,\n", - " \"model_type\": \"gpt_bigcode\",\n", - " \"multi_query\": true,\n", - " \"n_embd\": 6144,\n", - " \"n_head\": 48,\n", - " \"n_inner\": 24576,\n", - " \"n_layer\": 40,\n", - " \"n_positions\": 8192,\n", - " \"pad_key_length\": true,\n", - " \"pre_allocate_kv_cache\": false,\n", - " \"quantization_config\": {\n", - " \"bnb_4bit_compute_dtype\": \"float32\",\n", - " \"bnb_4bit_quant_type\": \"fp4\",\n", - " \"bnb_4bit_use_double_quant\": false,\n", - " \"llm_int8_enable_fp32_cpu_offload\": false,\n", - " \"llm_int8_has_fp16_weight\": false,\n", - " \"llm_int8_skip_modules\": null,\n", - " \"llm_int8_threshold\": 6.0,\n", - " \"load_in_4bit\": true,\n", - " \"load_in_8bit\": false\n", - " },\n", - " \"resid_pdrop\": 0.1,\n", - " \"scale_attention_softmax_in_fp32\": true,\n", - " \"scale_attn_weights\": true,\n", - " \"summary_activation\": null,\n", - " \"summary_first_dropout\": 0.1,\n", - " \"summary_proj_to_labels\": true,\n", - " \"summary_type\": \"cls_index\",\n", - " \"summary_use_proj\": true,\n", - " \"torch_dtype\": \"bfloat16\",\n", - " \"transformers_version\": \"4.30.1\",\n", - " \"use_cache\": false,\n", - " \"validate_runner_input\": true,\n", - " \"vocab_size\": 49156\n", - "}\n", - "\n" - ] } ], "source": [ @@ -269,7 +289,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -282,7 +302,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ea78bafb01d24468a631c30944ab355c", + "model_id": "6ee109e341e5461b8d62bc59f2dc64b3", "version_major": 2, "version_minor": 0 }, @@ -308,7 +328,7 @@ "})" ] }, - "execution_count": 6, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -333,7 +353,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -364,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ @@ -394,7 +414,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 34, "metadata": { "notebookRunGroups": { "groupValue": "" @@ -402,56 +422,23 @@ }, "outputs": [ { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d68576e08c3a45b0a45fac147e268b62", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Map: 0%| | 0/8000 [00:00', 'eos_token': '<|endoftext|>', 'unk_token': '<|endoftext|>', 'pad_token': '<|endoftext|>', 'additional_special_tokens': ['<|system|>', '<|user|>', '<|assistant|>', '<|end|>']}, clean_up_tokenization_spaces=True),\n", " 'data': Dataset({\n", " features: ['label', 'title', 'content', 'text', 'prompt', 'lie', 'input_ids', 'attention_mask', 'prompt_truncated'],\n", - " num_rows: 8000\n", + " num_rows: 509\n", " }),\n", - " 'n': 8000,\n", + " 'n': 509,\n", " 'batch_size': 10}" ] }, - "execution_count": 11, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -586,20 +573,20 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Downloading and preparing dataset None/../.ds/model-starchat-beta_ds-amazon-polarity_format-guard-prompt_N8000_3shots_07e51a to /home/ubuntu/.cache/huggingface/datasets/generator/default-d0b705df6ed67cbb/0.0.0...\n" + "Downloading and preparing dataset None/../.ds/model-starchat-beta_ds-amazon-polarity_format-guard-prompt_N509_2shots_5c2070 to /home/ubuntu/.cache/huggingface/datasets/generator/default-f46bbb923bbf3943/0.0.0...\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5b24dccc99e34c3fbc66a774977d7a66", + "model_id": "6aa11b88940248c199146d73079893d5", "version_major": 2, "version_minor": 0 }, @@ -613,12 +600,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e8e2265e851f4f309ff0170511d31b59", + "model_id": "f4dd1c7bebb84bb6998442b6e821df80", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "get hidden states: 0%| | 0/800 [00:000" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "true_switch_sign = ds4['label'][:, 0]*2-1\n", + "true_switch_sign = ds4['true'][:, 0]*2-1\n", + "y = ((ds4['ans1'] - ds4['ans0']) * true_switch_sign) > 0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# n = len(df)\n", + "from sklearn.preprocessing import RobustScaler\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.metrics import f1_score, roc_auc_score, accuracy_score\n", + "\n", + "# # Define X and y\n", + "# X = dm.hs1-dm.hs2\n", + "# y = dm.y>0\n", + "\n", + "# split\n", + "n = len(y)\n", + "max_rows = 1000\n", + "print('split size', n//2)\n", + "X_train, X_test = X[:n//2], X[n//2:]\n", + "y_train, y_test = y[:n//2], y[n//2:]\n", + "X_train = X_train[:max_rows]\n", + "y_train = y_train[:max_rows]\n", + "X_test = X_test[:max_rows]\n", + "y_test = y_test[:max_rows]\n", + "\n", + "# scale\n", + "scaler = RobustScaler()\n", + "scaler.fit(X_train)\n", + "X_train2 = scaler.transform(X_train)\n", + "X_test2 = scaler.transform(X_test)\n", + "print('lr')\n", + "\n", + "lr = LogisticRegression(class_weight=\"balanced\", penalty=\"l2\", max_iter=380)\n", + "lr.fit(X_train2, y_train>0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Logistic cls acc: {:2.2%} [TRAIN]\".format(lr.score(X_train2, y_train>0)))\n", + "print(\"Logistic cls acc: {:2.2%} [TEST]\".format(lr.score(X_test2, y_test>0)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/src/datasets/batch.py b/src/datasets/batch.py index 4b300f2..8910131 100644 --- a/src/datasets/batch.py +++ b/src/datasets/batch.py @@ -2,7 +2,7 @@ from tqdm.auto import tqdm from src.datasets.hs import ExtractHiddenStates from torch.utils.data import DataLoader -from datasets import Dataset +from datasets.arrow_dataset import Dataset import hashlib import pickle import numpy as np @@ -23,7 +23,7 @@ def batch_hidden_states(model, tokenizer, data: Dataset, n=100, batch_size=2, mc ds_p_subset = data.select(range(n)) ds_p_subset.set_format(type="pandas", columns=['lie', 'label', 'prompt', 'prompt_truncated']) - dl = DataLoader(ds_t_subset, batch_size=batch_size, shuffle=True) + dl = DataLoader(ds_t_subset, batch_size=batch_size, shuffle=False) for i, batch in enumerate(tqdm(dl, desc='get hidden states')): input_ids, true_labels, attention_mask = batch["input_ids"], batch["label"], batch["attention_mask"] nn = len(input_ids) @@ -47,7 +47,9 @@ def batch_hidden_states(model, tokenizer, data: Dataset, n=100, batch_size=2, mc for j in range(nn): # let's add the non torch metadata like label, prompt, lie, etc k = i*batch_size + j - info = ds_p_subset[k] + info = ds_p_subset[k].iloc[0].to_dict() + + assert info['label']==true_labels[j].item(), 'these should line up' yield dict( hs0=hs0['hidden_states'][j], @@ -56,8 +58,8 @@ def batch_hidden_states(model, tokenizer, data: Dataset, n=100, batch_size=2, mc hs1=hs1['hidden_states'][j], scores1=hs1["scores"][j], - true=true_labels[j].item(), - index=index[j], + label_b=true_labels[j].item(), + ds_index=index[j], **info ) diff --git a/src/datasets/dm.py b/src/datasets/dm.py index 05bf938..bb2dfab 100644 --- a/src/datasets/dm.py +++ b/src/datasets/dm.py @@ -2,18 +2,20 @@ import torch import torch.nn as nn import lightning as pl import pandas as pd -from torch.utils.data import Dataset, DataLoader, TensorDataset +from torch.utils.data import DataLoader, TensorDataset from src.datasets.load import ds2df +from datasets.arrow_dataset import Dataset -def make_y(df): - # label: is ans2 more true than ans1 - # so we ask does ans2 have greater probability on "positive" than ans1 - # then, when the right answer is negative we swap the sign - true_switch_sign = df.label*2-1 +def compute_distance(df): + """distance between ans1 and ans2.""" + true_switch_sign = df.true*2-1 # switch sign to desired answer. with this we ask which is more true + # otherwise we ask which is more positive distance = (df.ans1-df.ans0) * true_switch_sign - # y = bool2switch(distance>0) return distance +to_tensor = lambda x: torch.from_numpy(x).float() +to_ds = lambda hs0, hs1, y: TensorDataset(to_tensor(hs0), to_tensor(hs1), to_tensor(y)) + class imdbHSDataModule(pl.LightningDataModule): def __init__(self, @@ -22,7 +24,7 @@ class imdbHSDataModule(pl.LightningDataModule): ): super().__init__() self.save_hyperparameters(ignore=["ds"]) - self.ds = ds.shuffle(seed=42) + self.ds = ds#.shuffle(seed=42) def setup(self, stage: str): h = self.hparams @@ -34,46 +36,35 @@ class imdbHSDataModule(pl.LightningDataModule): ) self.df = ds2df(self.ds) - y_cls = make_y(self.df) + y_cls = compute_distance(self.df) self.y = y_cls.values self.df['y'] = y_cls b = len(self.ds_hs) - self.hs1 = self.ds_hs['hs0'].transpose(0, 2, 1) - self.hs2 = self.ds_hs['hs1'].transpose(0, 2, 1) + self.hs0 = self.ds_hs['hs0'].transpose(0, 2, 1) + self.hs1 = self.ds_hs['hs1'].transpose(0, 2, 1) self.ans0 = self.df['ans0'].values self.ans1 = self.df['ans1'].values # let's create a simple 50/50 train split (the data is already randomized) n = len(self.y) + self.splits = { + 'train': (0, int(n * 0.5)), + 'val': (int(n * 0.5), int(n * 0.75)), + 'test': (int(n * 0.75), n), + } - self.val_split = vs = int(n * 0.5) - self.test_split = ts = int(n * 0.75) - hs1_train, hs2_train, y_train = self.hs1[:vs], self.hs2[:vs], self.y[:vs] - hs1_val, hs2_val, y_val = self.hs1[vs:ts], self.hs2[vs:ts], self.y[vs:ts] - hs1_test, hs2_test, y_test = self.hs1[ts:],self. hs2[ts:], self.y[ts:] - - - to_ds = lambda x0, x1, y: TensorDataset(torch.from_numpy(x0).float(), - torch.from_numpy(x1).float(), - torch.from_numpy(y).float() - ) + self.datasets = {key: to_ds(self.hs0[start:end], self.hs1[start:end], self.y[start:end]) for key, (start, end) in self.splits.items()} - self.ds_train = to_ds(hs1_train, hs2_train, y_train) - - self.ds_val = to_ds(hs1_val, hs2_val, y_val) - - self.ds_test = to_ds(hs1_test, hs2_test, y_test) + def create_dataloader(self, ds, shuffle=False): + return DataLoader(ds, batch_size=self.hparams.batch_size, drop_last=True, shuffle=shuffle) def train_dataloader(self): - return DataLoader(self.ds_train, - batch_size=self.hparams.batch_size, - drop_last=True, - shuffle=True) + return self.create_dataloader(self.datasets['train'], shuffle=True) def val_dataloader(self): - return DataLoader(self.ds_val, batch_size=self.hparams.batch_size, drop_last=True,) + return self.create_dataloader(self.datasets['val']) def test_dataloader(self): - return DataLoader(self.ds_test, batch_size=self.hparams.batch_size, drop_last=True,) + return self.create_dataloader(self.datasets['test']) diff --git a/src/datasets/hs.py b/src/datasets/hs.py index eb8db43..80297fb 100644 --- a/src/datasets/hs.py +++ b/src/datasets/hs.py @@ -62,7 +62,7 @@ def get_choices_as_tokens( tokenizer, choices:List[str] = ["Positive"], whitespace_first=True ) -> List[int]: - # Note some tokenizers differentiate between "no", "\nno", so we sometime need to add whitespace beforehand... + # Note some tokenizers differentiate between "yes", "\nyes" and " yes", so we sometime need to add whitespace beforehand... if not whitespace_first: raise NotImplementedError('TODO') @@ -72,7 +72,7 @@ def get_choices_as_tokens( ids.append(id_) c2 = tokenizer.decode([id_]) - assert tokenizer.decode([id_]) == c, f'tokenizer.decode(tokenizer(`{c}`))==`{c2}`!=`{c}`' + assert tokenizer.decode([id_]) == c, f'We should be able to encode and decode the choices, but it failed: tokenizer.decode(tokenizer(`{c}`))==`{c2}`!=`{c}`' return ids @@ -154,6 +154,7 @@ class ExtractHiddenStates: hidden_states=hidden_states, scores=outputs["scores"], input_ids=input_ids, + layers=layers, ) out = {k: to_numpy(v) for k, v in out.items()} if debug: diff --git a/src/probes/pl_ranking.py b/src/probes/pl_ranking.py index 1e50b58..7810de8 100644 --- a/src/probes/pl_ranking.py +++ b/src/probes/pl_ranking.py @@ -2,8 +2,10 @@ from pytorch_optimizer import Ranger21 import torchmetrics import lightning.pytorch as pl import torch +import torch.nn.functional as F import torch.nn as nn from torchmetrics import Metric, MetricCollection, Accuracy, AUROC +from torchmetrics.functional import accuracy from src.helpers import switch2bool, bool2switch @@ -15,20 +17,9 @@ class PLRanking(pl.LightningModule): """ def __init__(self, c_in, total_steps, depth=1, hs=16, lr=4e-3, weight_decay=1e-9, dropout=0): super().__init__() - # self.probe = MLPProbe(c_in, depth=depth, dropout=dropout, hs=hs) + self.probe = None # subclasses must add this self.save_hyperparameters() - self.loss_fn = nn.SmoothL1Loss() - - # metrics for each stage - metrics_template = MetricCollection({ - 'acc': Accuracy(task="binary"), - 'auroc': AUROC(task="binary") - }) - self.metrics = torch.nn.ModuleDict({ - f'metrics_{stage}': metrics_template.clone(prefix=stage+'/') for stage in ['train', 'val', 'test'] - }) - def forward(self, x): return self.probe(x).squeeze(1) @@ -40,14 +31,14 @@ class PLRanking(pl.LightningModule): if stage=='pred': return (ypred1-ypred0).float() - loss = self.loss_fn(ypred1-ypred0, y) - self.log(f"{stage}/loss", loss) - - m = self.metrics[f'metrics_{stage}'] + loss = F.smooth_l1_loss(ypred1-ypred0, y) + # self.log(f"{stage}/loss", loss) y_cls = switch2bool(ypred1-ypred0) - m(y_cls, y>0.) - self.log_dict(m, on_epoch=True, on_step=False) + self.log_dict({ + f"{stage}/acc": accuracy(y_cls, y>0, "binary"), + f"{stage}/loss": loss, + }, on_epoch=True, on_step=False), return loss def training_step(self, batch, batch_idx=0, dataloader_idx=0):