diff --git a/nbs/01_detection_using_adapter_ft_split.ipynb b/nbs/01_detection_using_adapter_ft_split.ipynb index e88e580..a088dc6 100644 --- a/nbs/01_detection_using_adapter_ft_split.ipynb +++ b/nbs/01_detection_using_adapter_ft_split.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -39,7 +39,7 @@ "1" ] }, - "execution_count": 3, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -83,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -105,7 +105,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -150,7 +150,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -170,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -202,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -221,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -246,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -268,7 +268,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -290,7 +290,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -302,7 +302,7 @@ "})" ] }, - "execution_count": 14, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -345,7 +345,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -427,18 +427,19 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 18, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "dict_keys(['before', 'after', 'hist', 'train/before', 'train/after', 'title', 'f', 'content', 'url', 'novelty', 'date', 'in_training'])" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" + "ename": "NameError", + "evalue": "name 'data' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[18], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdata\u001b[49m[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mkeys()\n", + "\u001b[0;31mNameError\u001b[0m: name 'data' is not defined" + ] } ], "source": [ @@ -1523,7 +1524,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 93, "metadata": {}, "outputs": [ { @@ -1548,305 +1549,305 @@ " \n", " \n", " f\n", - " train/diff_sum\n", + " train/diff%_sum\n", " novelty\n", " in_training\n", " \n", " \n", " \n", " \n", - " 22\n", - " ../samples/2025_lw_review-planecrash.md\n", - " -339.481621\n", - " 0.933950\n", - " False\n", - " \n", - " \n", - " 15\n", - " ../samples/2025_lw_2024-in-ai-predictions.md\n", - " -297.344904\n", - " 0.789190\n", - " False\n", - " \n", - " \n", " 23\n", " ../samples/2025_lw_the-field-of-ai-alignment-a...\n", - " -288.831029\n", + " -57.706054\n", " 0.925483\n", " False\n", " \n", " \n", " 24\n", " ../samples/2025_lw_the-intelligence-curse.md\n", - " -265.925183\n", + " -54.846207\n", " 0.688044\n", " False\n", " \n", " \n", - " 19\n", - " ../samples/2025_lw_my-agi-safety-research-2024...\n", - " -261.054373\n", - " 0.756925\n", - " False\n", - " \n", - " \n", - " 16\n", - " ../samples/2025_lw_comment-on-death-and-the-go...\n", - " -239.929921\n", - " 0.750253\n", - " False\n", - " \n", - " \n", " 21\n", " ../samples/2025_lw_preference-inversion.md\n", - " -238.890490\n", + " -52.294728\n", " 0.633321\n", " False\n", " \n", " \n", - " 17\n", - " ../samples/2025_lw_debating-buying-nvda-in-201...\n", - " -229.822011\n", - " 0.526975\n", + " 19\n", + " ../samples/2025_lw_my-agi-safety-research-2024...\n", + " -49.874378\n", + " 0.756925\n", + " False\n", + " \n", + " \n", + " 22\n", + " ../samples/2025_lw_review-planecrash.md\n", + " -49.581118\n", + " 0.933950\n", " False\n", " \n", " \n", " 26\n", " ../samples/2025_lw_the-subset-parity-learning-...\n", - " -224.939272\n", + " -47.673055\n", " 0.697946\n", " False\n", " \n", " \n", - " 8\n", - " ../samples/2024_lesswrong_slop.md\n", - " -201.960423\n", - " 0.100000\n", - " False\n", - " \n", - " \n", - " 18\n", - " ../samples/2025_lw_human-study-on-ai-spear-phi...\n", - " -200.020488\n", - " 0.677458\n", - " False\n", - " \n", - " \n", - " 12\n", - " ../samples/2024_openai_emails.md\n", - " -194.183420\n", - " 0.700000\n", - " False\n", - " \n", - " \n", - " 11\n", - " ../samples/2024_news_anthropic.md\n", - " -176.985800\n", - " 0.500000\n", - " False\n", - " \n", - " \n", - " 9\n", - " ../samples/2024_lw_by-default-capital-will-mat...\n", - " -169.866388\n", - " 0.906388\n", - " False\n", - " \n", - " \n", - " 4\n", - " ../samples/2024_deliberative_alignment.md\n", - " -159.913571\n", - " 0.600000\n", - " False\n", - " \n", - " \n", - " 14\n", - " ../samples/2025_h5n1_report.md\n", - " -156.453212\n", - " 0.750000\n", - " False\n", - " \n", - " \n", - " 0\n", - " ../samples/2024_anthropic_palintir.md\n", - " -143.663636\n", - " 0.200000\n", - " False\n", - " \n", - " \n", - " 6\n", - " ../samples/2024_gwern_reddit.md\n", - " -142.434464\n", - " 1.000000\n", - " False\n", - " \n", - " \n", - " 10\n", - " ../samples/2024_lw_the-plan-2024-update.md\n", - " -136.823458\n", - " 0.785170\n", - " False\n", - " \n", - " \n", - " 7\n", - " ../samples/2024_how_to_focus.md\n", - " -135.387340\n", - " 0.500000\n", - " False\n", - " \n", - " \n", " 13\n", " ../samples/2024_trump_appointment.md\n", - " -128.444646\n", + " -45.133784\n", " 0.300000\n", " False\n", " \n", " \n", - " 28\n", - " ../samples/lorem_ipsum.md\n", - " -127.469837\n", - " 0.000000\n", - " True\n", + " 8\n", + " ../samples/2024_lesswrong_slop.md\n", + " -44.930269\n", + " 0.100000\n", + " False\n", " \n", " \n", - " 3\n", - " ../samples/2024_bob_fanfic2.md\n", - " -125.559481\n", - " 0.400000\n", - " True\n", + " 17\n", + " ../samples/2025_lw_debating-buying-nvda-in-201...\n", + " -44.381423\n", + " 0.526975\n", + " False\n", + " \n", + " \n", + " 14\n", + " ../samples/2025_h5n1_report.md\n", + " -44.069677\n", + " 0.750000\n", + " False\n", + " \n", + " \n", + " 9\n", + " ../samples/2024_lw_by-default-capital-will-mat...\n", + " -43.184356\n", + " 0.906388\n", + " False\n", + " \n", + " \n", + " 18\n", + " ../samples/2025_lw_human-study-on-ai-spear-phi...\n", + " -41.879381\n", + " 0.677458\n", + " False\n", + " \n", + " \n", + " 11\n", + " ../samples/2024_news_anthropic.md\n", + " -41.733471\n", + " 0.500000\n", + " False\n", + " \n", + " \n", + " 7\n", + " ../samples/2024_how_to_focus.md\n", + " -38.998412\n", + " 0.500000\n", + " False\n", + " \n", + " \n", + " 16\n", + " ../samples/2025_lw_comment-on-death-and-the-go...\n", + " -38.898521\n", + " 0.750253\n", + " False\n", + " \n", + " \n", + " 12\n", + " ../samples/2024_openai_emails.md\n", + " -37.535013\n", + " 0.700000\n", + " False\n", + " \n", + " \n", + " 15\n", + " ../samples/2025_lw_2024-in-ai-predictions.md\n", + " -37.078135\n", + " 0.789190\n", + " False\n", " \n", " \n", " 5\n", " ../samples/2024_gpt4_fake_paper.md\n", - " -122.651137\n", + " -35.067661\n", " 0.000000\n", " False\n", " \n", " \n", + " 4\n", + " ../samples/2024_deliberative_alignment.md\n", + " -34.208421\n", + " 0.600000\n", + " False\n", + " \n", + " \n", + " 0\n", + " ../samples/2024_anthropic_palintir.md\n", + " -31.636323\n", + " 0.200000\n", + " False\n", + " \n", + " \n", " 29\n", " ../samples/politics_is_the_mind_killer.md\n", - " -116.203043\n", + " -26.009715\n", " 0.500000\n", " True\n", " \n", " \n", + " 28\n", + " ../samples/lorem_ipsum.md\n", + " -25.975428\n", + " 0.000000\n", + " True\n", + " \n", + " \n", " 25\n", " ../samples/2025_lw_the-laws-of-large-numbers.md\n", - " -107.898850\n", + " -25.415931\n", " 0.540932\n", " False\n", " \n", " \n", - " 2\n", - " ../samples/2024_bob_fanfic.md\n", - " -106.220317\n", - " 0.300000\n", - " False\n", - " \n", - " \n", - " 27\n", - " ../samples/2025_lw_what-s-the-short-timeline-p...\n", - " -102.163854\n", - " 0.898161\n", + " 6\n", + " ../samples/2024_gwern_reddit.md\n", + " -25.314383\n", + " 1.000000\n", " False\n", " \n", " \n", " 20\n", " ../samples/2025_lw_parkinson-s-law-and-the-ide...\n", - " -97.869906\n", + " -21.706555\n", " 0.677458\n", " False\n", " \n", " \n", + " 10\n", + " ../samples/2024_lw_the-plan-2024-update.md\n", + " -20.314768\n", + " 0.785170\n", + " False\n", + " \n", + " \n", + " 3\n", + " ../samples/2024_bob_fanfic2.md\n", + " -20.237010\n", + " 0.400000\n", + " True\n", + " \n", + " \n", + " 2\n", + " ../samples/2024_bob_fanfic.md\n", + " -20.153819\n", + " 0.300000\n", + " False\n", + " \n", + " \n", " 1\n", " ../samples/2024_arxiv_meh.md\n", - " -73.838489\n", + " -19.115730\n", " 0.150000\n", " False\n", " \n", + " \n", + " 27\n", + " ../samples/2025_lw_what-s-the-short-timeline-p...\n", + " -16.388113\n", + " 0.898161\n", + " False\n", + " \n", " \n", "\n", "" ], "text/plain": [ - " f train/diff_sum \\\n", - "22 ../samples/2025_lw_review-planecrash.md -339.481621 \n", - "15 ../samples/2025_lw_2024-in-ai-predictions.md -297.344904 \n", - "23 ../samples/2025_lw_the-field-of-ai-alignment-a... -288.831029 \n", - "24 ../samples/2025_lw_the-intelligence-curse.md -265.925183 \n", - "19 ../samples/2025_lw_my-agi-safety-research-2024... -261.054373 \n", - "16 ../samples/2025_lw_comment-on-death-and-the-go... -239.929921 \n", - "21 ../samples/2025_lw_preference-inversion.md -238.890490 \n", - "17 ../samples/2025_lw_debating-buying-nvda-in-201... -229.822011 \n", - "26 ../samples/2025_lw_the-subset-parity-learning-... -224.939272 \n", - "8 ../samples/2024_lesswrong_slop.md -201.960423 \n", - "18 ../samples/2025_lw_human-study-on-ai-spear-phi... -200.020488 \n", - "12 ../samples/2024_openai_emails.md -194.183420 \n", - "11 ../samples/2024_news_anthropic.md -176.985800 \n", - "9 ../samples/2024_lw_by-default-capital-will-mat... -169.866388 \n", - "4 ../samples/2024_deliberative_alignment.md -159.913571 \n", - "14 ../samples/2025_h5n1_report.md -156.453212 \n", - "0 ../samples/2024_anthropic_palintir.md -143.663636 \n", - "6 ../samples/2024_gwern_reddit.md -142.434464 \n", - "10 ../samples/2024_lw_the-plan-2024-update.md -136.823458 \n", - "7 ../samples/2024_how_to_focus.md -135.387340 \n", - "13 ../samples/2024_trump_appointment.md -128.444646 \n", - "28 ../samples/lorem_ipsum.md -127.469837 \n", - "3 ../samples/2024_bob_fanfic2.md -125.559481 \n", - "5 ../samples/2024_gpt4_fake_paper.md -122.651137 \n", - "29 ../samples/politics_is_the_mind_killer.md -116.203043 \n", - "25 ../samples/2025_lw_the-laws-of-large-numbers.md -107.898850 \n", - "2 ../samples/2024_bob_fanfic.md -106.220317 \n", - "27 ../samples/2025_lw_what-s-the-short-timeline-p... -102.163854 \n", - "20 ../samples/2025_lw_parkinson-s-law-and-the-ide... -97.869906 \n", - "1 ../samples/2024_arxiv_meh.md -73.838489 \n", + " f train/diff%_sum \\\n", + "23 ../samples/2025_lw_the-field-of-ai-alignment-a... -57.706054 \n", + "24 ../samples/2025_lw_the-intelligence-curse.md -54.846207 \n", + "21 ../samples/2025_lw_preference-inversion.md -52.294728 \n", + "19 ../samples/2025_lw_my-agi-safety-research-2024... -49.874378 \n", + "22 ../samples/2025_lw_review-planecrash.md -49.581118 \n", + "26 ../samples/2025_lw_the-subset-parity-learning-... -47.673055 \n", + "13 ../samples/2024_trump_appointment.md -45.133784 \n", + "8 ../samples/2024_lesswrong_slop.md -44.930269 \n", + "17 ../samples/2025_lw_debating-buying-nvda-in-201... -44.381423 \n", + "14 ../samples/2025_h5n1_report.md -44.069677 \n", + "9 ../samples/2024_lw_by-default-capital-will-mat... -43.184356 \n", + "18 ../samples/2025_lw_human-study-on-ai-spear-phi... -41.879381 \n", + "11 ../samples/2024_news_anthropic.md -41.733471 \n", + "7 ../samples/2024_how_to_focus.md -38.998412 \n", + "16 ../samples/2025_lw_comment-on-death-and-the-go... -38.898521 \n", + "12 ../samples/2024_openai_emails.md -37.535013 \n", + "15 ../samples/2025_lw_2024-in-ai-predictions.md -37.078135 \n", + "5 ../samples/2024_gpt4_fake_paper.md -35.067661 \n", + "4 ../samples/2024_deliberative_alignment.md -34.208421 \n", + "0 ../samples/2024_anthropic_palintir.md -31.636323 \n", + "29 ../samples/politics_is_the_mind_killer.md -26.009715 \n", + "28 ../samples/lorem_ipsum.md -25.975428 \n", + "25 ../samples/2025_lw_the-laws-of-large-numbers.md -25.415931 \n", + "6 ../samples/2024_gwern_reddit.md -25.314383 \n", + "20 ../samples/2025_lw_parkinson-s-law-and-the-ide... -21.706555 \n", + "10 ../samples/2024_lw_the-plan-2024-update.md -20.314768 \n", + "3 ../samples/2024_bob_fanfic2.md -20.237010 \n", + "2 ../samples/2024_bob_fanfic.md -20.153819 \n", + "1 ../samples/2024_arxiv_meh.md -19.115730 \n", + "27 ../samples/2025_lw_what-s-the-short-timeline-p... -16.388113 \n", "\n", " novelty in_training \n", - "22 0.933950 False \n", - "15 0.789190 False \n", "23 0.925483 False \n", "24 0.688044 False \n", - "19 0.756925 False \n", - "16 0.750253 False \n", "21 0.633321 False \n", - "17 0.526975 False \n", + "19 0.756925 False \n", + "22 0.933950 False \n", "26 0.697946 False \n", - "8 0.100000 False \n", - "18 0.677458 False \n", - "12 0.700000 False \n", - "11 0.500000 False \n", - "9 0.906388 False \n", - "4 0.600000 False \n", - "14 0.750000 False \n", - "0 0.200000 False \n", - "6 1.000000 False \n", - "10 0.785170 False \n", - "7 0.500000 False \n", "13 0.300000 False \n", - "28 0.000000 True \n", - "3 0.400000 True \n", + "8 0.100000 False \n", + "17 0.526975 False \n", + "14 0.750000 False \n", + "9 0.906388 False \n", + "18 0.677458 False \n", + "11 0.500000 False \n", + "7 0.500000 False \n", + "16 0.750253 False \n", + "12 0.700000 False \n", + "15 0.789190 False \n", "5 0.000000 False \n", + "4 0.600000 False \n", + "0 0.200000 False \n", "29 0.500000 True \n", + "28 0.000000 True \n", "25 0.540932 False \n", - "2 0.300000 False \n", - "27 0.898161 False \n", + "6 1.000000 False \n", "20 0.677458 False \n", - "1 0.150000 False " + "10 0.785170 False \n", + "3 0.400000 True \n", + "2 0.300000 False \n", + "1 0.150000 False \n", + "27 0.898161 False " ] }, - "execution_count": 86, + "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "main_metric = 'train/diff_sum'\n", + "main_metric = 'train/diff%_sum'\n", "df_res[['f', main_metric, 'novelty', 'in_training']].sort_values( main_metric) " ] }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 94, "metadata": {}, "outputs": [ { @@ -3307,7 +3308,7 @@ "[30 rows x 24 columns]" ] }, - "execution_count": 87, + "execution_count": 94, "metadata": {}, "output_type": "execute_result" } @@ -3318,7 +3319,28 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'df_res' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[2], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdf_res\u001b[49m\u001b[38;5;241m.\u001b[39mbefore\n", + "\u001b[0;31mNameError\u001b[0m: name 'df_res' is not defined" + ] + } + ], + "source": [ + "df_res.before" + ] + }, + { + "cell_type": "code", + "execution_count": 95, "metadata": {}, "outputs": [], "source": [ @@ -3331,7 +3353,7 @@ "metadata": {}, "outputs": [], "source": [ - "print(df_res.to_markdown())" + "# print(df_res.to_markdown())" ] }, { @@ -3458,7 +3480,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.0rc1" + "version": "3.11.0" } }, "nbformat": 4, diff --git a/nbs/02_detection_using_tldr_prompt.ipynb b/nbs/02_detection_using_tldr_prompt.ipynb index bf8f323..b0f570a 100644 --- a/nbs/02_detection_using_tldr_prompt.ipynb +++ b/nbs/02_detection_using_tldr_prompt.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -41,7 +41,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -73,36 +73,38 @@ "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32m2025-07-26 10:24:20.758\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2022_bob_fanfic2.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.759\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_anthropic_palintir.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.760\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_arxiv_meh.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.760\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_bob_fanfic.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.761\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_deliberative_alignment.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.762\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_gpt4_fake_paper.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.762\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_gwern_reddit.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.762\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_how_to_focus.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.763\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_lesswrong_slop.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.764\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_lw_by-default-capital-will-matter-more-than-ever-after-agi.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.764\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_lw_the-plan-2024-update.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.765\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_news_anthropic.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.765\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_openai_emails.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.766\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_trump_appointment.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.766\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_h5n1_report.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.767\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_2024-in-ai-predictions.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.767\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_comment-on-death-and-the-gorgon.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.768\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_debating-buying-nvda-in-2019.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.768\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_human-study-on-ai-spear-phishing-campaigns.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.769\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_my-agi-safety-research-2024-review-25-plans.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.769\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_parkinson-s-law-and-the-ideology-of-statistics-1.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.770\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_preference-inversion.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.770\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_review-planecrash.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.771\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_the-field-of-ai-alignment-a-postmortem-and-what-to-do-about.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.771\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_the-intelligence-curse.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.771\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_the-laws-of-large-numbers.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.772\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_the-subset-parity-learning-problem-much-more-than-you-wanted.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.773\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_what-s-the-short-timeline-plan.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.773\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/lorem_ipsum.md\u001b[0m\n", - "\u001b[32m2025-07-26 10:24:20.774\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/politics_is_the_mind_killer.md\u001b[0m\n" + "\u001b[32m2025-07-26 11:43:04.546\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2022_bob_fanfic2.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.547\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_anthropic_palintir.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.547\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_arxiv_meh.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.548\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_bob_fanfic.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.549\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_deliberative_alignment.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.550\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_gpt4_fake_paper.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.550\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_gwern_reddit.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.550\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_how_to_focus.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.551\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_lesswrong_slop.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.552\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_lw_by-default-capital-will-matter-more-than-ever-after-agi.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.552\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_lw_the-plan-2024-update.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.553\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_news_anthropic.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.554\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_openai_emails.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.555\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2024_trump_appointment.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.555\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_h5n1_report.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.555\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_2024-in-ai-predictions.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.556\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_comment-on-death-and-the-gorgon.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.556\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_debating-buying-nvda-in-2019.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.557\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_human-study-on-ai-spear-phishing-campaigns.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.557\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_my-agi-safety-research-2024-review-25-plans.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.558\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_parkinson-s-law-and-the-ideology-of-statistics-1.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.558\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_preference-inversion.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.558\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_review-planecrash.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.559\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_the-field-of-ai-alignment-a-postmortem-and-what-to-do-about.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.559\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_the-intelligence-curse.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.560\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_the-laws-of-large-numbers.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.560\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_the-subset-parity-learning-problem-much-more-than-you-wanted.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.561\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/2025_lw_what-s-the-short-timeline-plan.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.561\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/lorem_ipsum.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.562\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/politics_is_the_mind_killer.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.562\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/predictable_numbers.md\u001b[0m\n", + "\u001b[32m2025-07-26 11:43:04.562\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mbs_writing_detector.data.load_md\u001b[0m:\u001b[36mload_md\u001b[0m:\u001b[36m10\u001b[0m - \u001b[34m\u001b[1m../samples/random_numbers.md\u001b[0m\n" ] } ], @@ -134,22 +136,22 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from dotenv import load_dotenv\n", "\n", - "load_dotenv() " + "load_dotenv() \n", + "\n", + "import os\n", + "from openai import OpenAI\n", + "from anycache import anycache\n", + "\n", + "cache_file = \"../.anycache\"\n", + "\n", + "# # to clear\n", + "# import shutil\n", + "# shutil.rmtree(cache_file, ignore_errors=True)\n", + "# print(f\"Cache cleared: {cache_file}\")" ] }, { @@ -158,38 +160,35 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", - "from openai import OpenAI\n", - "from anycache import anycache\n", "\n", - "cache_file = \"../.anycache\"\n", "\n", - "# to clear\n", - "import shutil\n", - "shutil.rmtree(cache_file, ignore_errors=True)\n", - "\n", - "@anycache(cachedir=cache_file)\n", - "def summize_gpt4(text):\n", - " client = OpenAI()\n", - " content = f\"Make a tl;dr of this text in <280 chars.\\n\\n## Text\\n\\n{text}\\n\\n## Instruction\\n\\nMake a tl;dr of this text in <280 chars. Start with the most important, as extra text will be discarded :\\n\\ntl;dr:\"\n", - " chat_completion = client.chat.completions.create(\n", - " messages=[\n", - " {\n", - " \"role\": \"user\",\n", - " \"content\": content,\n", - " }\n", - " ],\n", - " model=\"gpt-4\",\n", - " )\n", - " r = chat_completion.choices[0].message.content\n", - " return r\n", + "# @anycache(cachedir=cache_file)\n", + "# def summize_gpt4(text):\n", + "# client = OpenAI()\n", + "# content = f\"Make a tl;dr of this text in <280 chars.\\n\\n## Text\\n\\n{text}\\n\\n## Instruction\\n\\nMake a tl;dr of this text in <280 chars. Start with the most important, as extra text will be discarded :\\n\\ntl;dr:\"\n", + "# chat_completion = client.chat.completions.create(\n", + "# messages=[\n", + "# {\n", + "# \"role\": \"user\",\n", + "# \"content\": content,\n", + "# }\n", + "# ],\n", + "# model=\"gpt-4.1\",\n", + "# # model=\"o4-mini\",\n", + "# )\n", + "# r = chat_completion.choices[0].message.content\n", + "# return r\n", "\n", "@anycache(cachedir=cache_file)\n", "def summarize_gpt4b(text):\n", - " l = int(len(text)*max_summary_frac)\n", - " # print(l)\n", + " max_summary_len = int(len(text)*max_summary_frac)\n", " client = OpenAI()\n", - " inst = \"We aim to compress then reconstruct a text. First lets do the compression. In short hand, record the information needed to reconstruct the text (type of document, writing style, suprising contenxt, etc). You have <{l} chars. Start with the most important, as extra text will be discarded\"\n", + " inst = f\"\"\"Compress the following text into a concise summary of at most {max_summary_len} characters. Use terse, shorthand language but include everything you will need to predict the original with low perplexity: tldr, new facts, PoV, author, document type, tone, key points, surprising context, etc. We will discard anything beyond the character limit.\n", + "\n", + "## Text\n", + "{text}\n", + "\n", + "## Summary (≤{max_summary_len} chars):\"\"\"\n", " content = f\"{inst}\\n\\n## Text\\n\\n{text}\\n\\n## Instruction\\n\\n{inst}:\\n\\ntl;dr:\"\n", " chat_completion = client.chat.completions.create(\n", " messages=[\n", @@ -198,11 +197,14 @@ " \"content\": content,\n", " }\n", " ],\n", - " model=\"gpt-4\",\n", + " model=\"gpt-4.1\",\n", + " # model=\"o4-mini\",\n", " )\n", " # print(content)\n", " r = chat_completion.choices[0].message.content\n", - " return r[:l], r[l:]\n", + " start = r[:max_summary_len//2]\n", + " end = r[max_summary_len//2:][-1*max_summary_len//2:] # get the last max_summary_len chars\n", + " return start+end\n", "\n", "# r, _ = summarize_gpt4b(samples[1][\"content\"])\n", "# print(r), print(_)" @@ -230,7 +232,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -241,7 +243,7 @@ " tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=trust_remote_code)\n", " config = AutoConfig.from_pretrained(model_name, trust_remote_code=trust_remote_code)\n", " # print(config)\n", - " if config.quantization_config is not None:\n", + " if hasattr(config, \"quantization_config\") and config.quantization_config is not None:\n", " config.quantization_config['disable_exllama'] = True\n", " if 'use_exllama' in config.quantization_config:\n", " del config.quantization_config['use_exllama']\n", @@ -253,7 +255,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -273,7 +275,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -285,7 +287,12 @@ " # \"unsloth/Llama-3.2-1B\",\n", " # \"unsloth/Llama-3.2-1B-bnb-4bit\",\n", " # \"Qwen/Qwen3-4B\",\n", - " \"unsloth/Qwen3-4B-unsloth-bnb-4bit\",\n", + " \"unsloth/Qwen3-0.6B\",\n", + " \"unsloth/Qwen3-8B-Base-bnb-4bit\",\n", + " \"unsloth/DeepSeek-R1-0528-Qwen3-8B-bnb-4bit\",\n", + " \"unsloth/Qwen2.5-Coder-3B-bnb-4bit\",\n", + " # \"unsloth/Qwen3-4B-unsloth-bnb-4bit\",\n", + " # \"unsloth/Qwen3-4B-unsloth-bnb-4bit\",\n", "]\n", "# model_name = \"unsloth/Llama-3.2-1B\"\n", "# model_name = \"unsloth/Llama-3.2-1B-bnb-4bit\"" @@ -293,7 +300,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -309,25 +316,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "unsloth/Qwen3-4B-unsloth-bnb-4bit\n" + "unsloth/Qwen3-0.6B\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "798b063048254d5b8ab20c7cebd71317", + "model_id": "9e29c11213184d80ae3eab1d49104da2", "version_major": 2, "version_minor": 0 }, "text/plain": [ - " 0%| | 0/30 [00:00\n", + "#T_bfb7c_row0_col0, #T_bfb7c_row0_col2, #T_bfb7c_row0_col3 {\n", + " background-color: #3b4cc0;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row1_col0 {\n", + " background-color: #a5c3fe;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row1_col2 {\n", + " background-color: #5470de;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row1_col3 {\n", + " background-color: #6282ea;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row2_col0, #T_bfb7c_row11_col0, #T_bfb7c_row54_col2, #T_bfb7c_row59_col2, #T_bfb7c_row83_col0 {\n", + " background-color: #ead4c8;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row2_col2 {\n", + " background-color: #4358cb;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row2_col3 {\n", + " background-color: #5e7de7;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row3_col0, #T_bfb7c_row5_col0 {\n", + " background-color: #92b4fe;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row3_col2, #T_bfb7c_row47_col2 {\n", + " background-color: #c9d7f0;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row3_col3 {\n", + " background-color: #cbd8ee;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row4_col0 {\n", + " background-color: #7b9ff9;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row4_col2, #T_bfb7c_row5_col3 {\n", + " background-color: #e3d9d3;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row4_col3, #T_bfb7c_row8_col3, #T_bfb7c_row38_col0 {\n", + " background-color: #e1dad6;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row5_col2, #T_bfb7c_row80_col2 {\n", + " background-color: #e2dad5;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row6_col0, #T_bfb7c_row8_col2, #T_bfb7c_row34_col3, #T_bfb7c_row47_col3, #T_bfb7c_row52_col0 {\n", + " background-color: #dbdcde;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row6_col2, #T_bfb7c_row31_col3, #T_bfb7c_row43_col0, #T_bfb7c_row46_col3, #T_bfb7c_row55_col3, #T_bfb7c_row69_col3, #T_bfb7c_row72_col2 {\n", + " background-color: #e7d7ce;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row6_col3, #T_bfb7c_row21_col2, #T_bfb7c_row44_col0 {\n", + " background-color: #efcfbf;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row7_col0 {\n", + " background-color: #9fbfff;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row7_col2, #T_bfb7c_row46_col0, #T_bfb7c_row58_col2 {\n", + " background-color: #ebd3c6;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row7_col3, #T_bfb7c_row53_col0, #T_bfb7c_row56_col0, #T_bfb7c_row76_col0 {\n", + " background-color: #ecd3c5;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row8_col0, #T_bfb7c_row65_col2, #T_bfb7c_row68_col2 {\n", + " background-color: #bcd2f7;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row9_col0 {\n", + " background-color: #6384eb;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row9_col2 {\n", + " background-color: #ea7b60;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row9_col3, #T_bfb7c_row12_col3, #T_bfb7c_row79_col3 {\n", + " background-color: #f18d6f;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row10_col0 {\n", + " background-color: #a1c0ff;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row10_col2 {\n", + " background-color: #f2c9b4;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row10_col3, #T_bfb7c_row16_col2, #T_bfb7c_row30_col3, #T_bfb7c_row31_col0, #T_bfb7c_row32_col2, #T_bfb7c_row45_col0, #T_bfb7c_row54_col3, #T_bfb7c_row58_col3, #T_bfb7c_row59_col0, #T_bfb7c_row59_col3, #T_bfb7c_row69_col0, #T_bfb7c_row91_col0 {\n", + " background-color: #f3c8b2;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row11_col2, #T_bfb7c_row92_col2 {\n", + " background-color: #a2c1ff;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row11_col3, #T_bfb7c_row41_col2 {\n", + " background-color: #b7cff9;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row12_col0, #T_bfb7c_row14_col2 {\n", + " background-color: #dcdddd;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row12_col2, #T_bfb7c_row43_col2, #T_bfb7c_row106_col2, #T_bfb7c_row107_col0 {\n", + " background-color: #f39577;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row13_col0 {\n", + " background-color: #abc8fd;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row13_col2, #T_bfb7c_row84_col3, #T_bfb7c_row88_col2 {\n", + " background-color: #f5c1a9;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row13_col3, #T_bfb7c_row64_col0, #T_bfb7c_row73_col0, #T_bfb7c_row98_col2 {\n", + " background-color: #f6bfa6;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row14_col0, #T_bfb7c_row29_col2, #T_bfb7c_row34_col2, #T_bfb7c_row110_col2 {\n", + " background-color: #cdd9ec;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row14_col3, #T_bfb7c_row26_col2, #T_bfb7c_row63_col2, #T_bfb7c_row74_col3 {\n", + " background-color: #e4d9d2;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row15_col0 {\n", + " background-color: #b3cdfb;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row15_col2, #T_bfb7c_row70_col3 {\n", + " background-color: #f7ac8e;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row15_col3, #T_bfb7c_row73_col3, #T_bfb7c_row80_col0, #T_bfb7c_row115_col3 {\n", + " background-color: #f7aa8c;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row16_col0 {\n", + " background-color: #c5d6f2;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row16_col3, #T_bfb7c_row27_col0, #T_bfb7c_row65_col0, #T_bfb7c_row95_col3 {\n", + " background-color: #f5c2aa;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row17_col0 {\n", + " background-color: #b9d0f9;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row17_col2, #T_bfb7c_row75_col3, #T_bfb7c_row93_col2 {\n", + " background-color: #f6a385;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row17_col3, #T_bfb7c_row94_col3 {\n", + " background-color: #f5a081;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row18_col0, #T_bfb7c_row19_col0 {\n", + " background-color: #b6cefa;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row18_col2, #T_bfb7c_row20_col2, #T_bfb7c_row73_col2, #T_bfb7c_row89_col0, #T_bfb7c_row95_col0, #T_bfb7c_row98_col0 {\n", + " background-color: #f7bca1;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row18_col3, #T_bfb7c_row38_col2, #T_bfb7c_row53_col2, #T_bfb7c_row68_col0 {\n", + " background-color: #f7b99e;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row19_col2, #T_bfb7c_row67_col0, #T_bfb7c_row74_col0, #T_bfb7c_row94_col2 {\n", + " background-color: #f7b093;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row19_col3, #T_bfb7c_row20_col3, #T_bfb7c_row49_col2, #T_bfb7c_row53_col3, #T_bfb7c_row106_col0, #T_bfb7c_row107_col3 {\n", + " background-color: #f7ad90;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row20_col0, #T_bfb7c_row57_col0, #T_bfb7c_row58_col0, #T_bfb7c_row72_col3, #T_bfb7c_row80_col3 {\n", + " background-color: #f1cdba;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row21_col0, #T_bfb7c_row26_col0, #T_bfb7c_row60_col2 {\n", + " background-color: #dfdbd9;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row21_col3, #T_bfb7c_row24_col0, #T_bfb7c_row29_col0, #T_bfb7c_row60_col0, #T_bfb7c_row94_col0 {\n", + " background-color: #f3c7b1;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row22_col0, #T_bfb7c_row54_col0, #T_bfb7c_row61_col2, #T_bfb7c_row103_col0 {\n", + " background-color: #f4c5ad;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row22_col2, #T_bfb7c_row82_col2, #T_bfb7c_row88_col0, #T_bfb7c_row115_col2 {\n", + " background-color: #f2cbb7;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row22_col3, #T_bfb7c_row78_col0 {\n", + " background-color: #f6bda2;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row23_col0, #T_bfb7c_row26_col3, #T_bfb7c_row60_col3, #T_bfb7c_row96_col0 {\n", + " background-color: #edd2c3;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row23_col2 {\n", + " background-color: #98b9ff;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row23_col3 {\n", + " background-color: #afcafc;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row24_col2 {\n", + " background-color: #82a6fb;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row24_col3 {\n", + " background-color: #9ebeff;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row25_col0 {\n", + " background-color: #c1d4f4;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row25_col2, #T_bfb7c_row50_col2, #T_bfb7c_row86_col3, #T_bfb7c_row87_col2, #T_bfb7c_row105_col2 {\n", + " background-color: #ef886b;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row25_col3 {\n", + " background-color: #ee8669;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row27_col2 {\n", + " background-color: #bbd1f8;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row27_col3, #T_bfb7c_row65_col3 {\n", + " background-color: #d1dae9;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row28_col0, #T_bfb7c_row30_col0, #T_bfb7c_row33_col0, #T_bfb7c_row34_col0, #T_bfb7c_row49_col0 {\n", + " background-color: #e5d8d1;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row28_col2 {\n", + " background-color: #f0cdbb;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row28_col3, #T_bfb7c_row55_col0, #T_bfb7c_row56_col2, #T_bfb7c_row107_col2 {\n", + " background-color: #f5c4ac;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row29_col3, #T_bfb7c_row50_col0, #T_bfb7c_row70_col0 {\n", + " background-color: #dedcdb;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row30_col2, #T_bfb7c_row37_col0, #T_bfb7c_row61_col0, #T_bfb7c_row63_col0, #T_bfb7c_row66_col0, #T_bfb7c_row72_col0, #T_bfb7c_row95_col2, #T_bfb7c_row109_col2 {\n", + " background-color: #edd1c2;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row31_col2, #T_bfb7c_row55_col2, #T_bfb7c_row67_col2, #T_bfb7c_row69_col2, #T_bfb7c_row71_col2 {\n", + " background-color: #d8dce2;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row32_col0 {\n", + " background-color: #d3dbe7;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row32_col3, #T_bfb7c_row33_col3, #T_bfb7c_row37_col3, #T_bfb7c_row47_col0, #T_bfb7c_row48_col0, #T_bfb7c_row97_col3 {\n", + " background-color: #f5c0a7;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row33_col2, #T_bfb7c_row35_col2, #T_bfb7c_row75_col0, #T_bfb7c_row78_col2, #T_bfb7c_row86_col0, #T_bfb7c_row90_col0 {\n", + " background-color: #f2cab5;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row35_col0, #T_bfb7c_row63_col3, #T_bfb7c_row84_col2, #T_bfb7c_row97_col2 {\n", + " background-color: #eed0c0;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row35_col3, #T_bfb7c_row90_col3 {\n", + " background-color: #f6bea4;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row36_col0, #T_bfb7c_row46_col2 {\n", + " background-color: #dadce0;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row36_col2, #T_bfb7c_row42_col0, #T_bfb7c_row78_col3, #T_bfb7c_row82_col0, #T_bfb7c_row82_col3, #T_bfb7c_row109_col3 {\n", + " background-color: #f7ba9f;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row36_col3, #T_bfb7c_row41_col0, #T_bfb7c_row75_col2, #T_bfb7c_row97_col0 {\n", + " background-color: #f7b194;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row37_col2, #T_bfb7c_row44_col3, #T_bfb7c_row77_col0, #T_bfb7c_row79_col0, #T_bfb7c_row90_col2 {\n", + " background-color: #f1ccb8;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row38_col3, #T_bfb7c_row98_col3, #T_bfb7c_row102_col2 {\n", + " background-color: #f7af91;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row39_col0 {\n", + " background-color: #d7dce3;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row39_col2, #T_bfb7c_row92_col0 {\n", + " background-color: #f6a586;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row39_col3, #T_bfb7c_row99_col2 {\n", + " background-color: #f59d7e;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row40_col0, #T_bfb7c_row41_col3, #T_bfb7c_row45_col2 {\n", + " background-color: #cfdaea;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row40_col2, #T_bfb7c_row66_col3, #T_bfb7c_row93_col3 {\n", + " background-color: #f18f71;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row40_col3, #T_bfb7c_row43_col3, #T_bfb7c_row99_col3, #T_bfb7c_row103_col2 {\n", + " background-color: #f08a6c;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row42_col2, #T_bfb7c_row114_col3 {\n", + " background-color: #bfd3f6;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row42_col3 {\n", + " background-color: #d4dbe6;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row44_col2, #T_bfb7c_row81_col0 {\n", + " background-color: #e9d5cb;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row45_col3 {\n", + " background-color: #e0dbd8;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row48_col2 {\n", + " background-color: #a9c6fd;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row48_col3, #T_bfb7c_row92_col3 {\n", + " background-color: #c0d4f5;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row49_col3, #T_bfb7c_row64_col3, #T_bfb7c_row100_col0, #T_bfb7c_row105_col0 {\n", + " background-color: #f6a283;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row50_col3, #T_bfb7c_row106_col3 {\n", + " background-color: #ec7f63;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row51_col0, #T_bfb7c_row77_col3 {\n", + " background-color: #f49a7b;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row51_col2 {\n", + " background-color: #6a8bef;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row51_col3 {\n", + " background-color: #8db0fe;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row52_col2, #T_bfb7c_row81_col2 {\n", + " background-color: #d65244;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row52_col3, #T_bfb7c_row83_col2, #T_bfb7c_row85_col2, #T_bfb7c_row113_col0 {\n", + " background-color: #d24b40;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row56_col3, #T_bfb7c_row61_col3, #T_bfb7c_row84_col0, #T_bfb7c_row93_col0, #T_bfb7c_row101_col0, #T_bfb7c_row102_col0 {\n", + " background-color: #f7b89c;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row57_col2, #T_bfb7c_row71_col0 {\n", + " background-color: #f7b79b;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row57_col3, #T_bfb7c_row77_col2 {\n", + " background-color: #f7a98b;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row62_col0 {\n", + " background-color: #d6dce4;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row62_col2, #T_bfb7c_row62_col3, #T_bfb7c_row115_col0 {\n", + " background-color: #b40426;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row64_col2, #T_bfb7c_row88_col3 {\n", + " background-color: #f7b396;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row66_col2, #T_bfb7c_row79_col2, #T_bfb7c_row102_col3 {\n", + " background-color: #f59c7d;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row67_col3, #T_bfb7c_row71_col3 {\n", + " background-color: #ead5c9;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row68_col3, #T_bfb7c_row74_col2 {\n", + " background-color: #d2dbe8;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row70_col2, #T_bfb7c_row99_col0 {\n", + " background-color: #f7b599;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row76_col2 {\n", + " background-color: #d55042;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row76_col3 {\n", + " background-color: #cf453c;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row81_col3 {\n", + " background-color: #d0473d;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row83_col3 {\n", + " background-color: #cc403a;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row85_col0, #T_bfb7c_row87_col0 {\n", + " background-color: #f4c6af;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row85_col3 {\n", + " background-color: #ca3b37;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row86_col2, #T_bfb7c_row91_col3 {\n", + " background-color: #f4987a;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row87_col3, #T_bfb7c_row89_col3, #T_bfb7c_row103_col3 {\n", + " background-color: #e9785d;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row89_col2 {\n", + " background-color: #f08b6e;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row91_col2 {\n", + " background-color: #f7a889;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row96_col2, #T_bfb7c_row111_col3 {\n", + " background-color: #e0654f;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row96_col3 {\n", + " background-color: #d95847;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row100_col2 {\n", + " background-color: #f7b497;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row100_col3 {\n", + " background-color: #f59f80;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row101_col2, #T_bfb7c_row114_col0 {\n", + " background-color: #cd423b;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row101_col3 {\n", + " background-color: #c12b30;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row104_col0 {\n", + " background-color: #e8765c;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row104_col2 {\n", + " background-color: #9abbff;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row104_col3, #T_bfb7c_row112_col3 {\n", + " background-color: #bed2f6;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row105_col3, #T_bfb7c_row109_col0, #T_bfb7c_row110_col0 {\n", + " background-color: #e46e56;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row108_col0 {\n", + " background-color: #f39778;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row108_col2 {\n", + " background-color: #e36b54;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row108_col3 {\n", + " background-color: #d44e41;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row110_col3 {\n", + " background-color: #e6d7cf;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row111_col0 {\n", + " background-color: #e57058;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row111_col2 {\n", + " background-color: #ee8468;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row112_col0 {\n", + " background-color: #dd5f4b;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_bfb7c_row112_col2 {\n", + " background-color: #97b8ff;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row113_col2 {\n", + " background-color: #90b2fe;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row113_col3 {\n", + " background-color: #bad0f8;\n", + " color: #000000;\n", + "}\n", + "#T_bfb7c_row114_col2 {\n", + " background-color: #96b7ff;\n", + " color: #000000;\n", + "}\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Perplexity before and after summarization using different models
 diff_nllnoveltybefore_nllafter_nlln_tokensfsummary
62-0.4916990.5000000.7783200.286621445../samples/predictable_numbers.mdtl;dr: Num seq=2*fib(n)%100, from Python code, doc=code+output, neutral tone
126-0.3173830.5000001.0644530.747070445../samples/predictable_numbers.mdtl;dr: Num seq=2*fib(n)%100, from Python code, doc=code+output, neutral tone
94-0.1845700.5000000.8833010.698730445../samples/predictable_numbers.mdtl;dr: Num seq=2*fib(n)%100, from Python code, doc=code+output, neutral tone
40-0.3476560.1000002.2128911.865234428../samples/2024_lesswrong_slop.mdtl;dr: Dialogue (Jenny/AI, nametag+emoji, caps engine) debates Kantian ethics of paying slave master to talk to genius slave, asks if any maxim could make act slave-endorsable; tone: philosophical.
104-0.3808590.1000002.5488282.167969428../samples/2024_lesswrong_slop.mdtl;dr: Dialogue (Jenny/AI, nametag+emoji, caps engine) debates Kantian ethics of paying slave master to talk to genius slave, asks if any maxim could make act slave-endorsable; tone: philosophical.
72-0.3476560.1000002.5390622.191406428../samples/2024_lesswrong_slop.mdtl;dr: Dialogue (Jenny/AI, nametag+emoji, caps engine) debates Kantian ethics of paying slave master to talk to genius slave, asks if any maxim could make act slave-endorsable; tone: philosophical.
45-0.2187500.3000002.6035162.384766248../samples/2024_trump_appointment.mdtl;dr: Trump announces Ortagus (ex-critic, GOP support) as envoy, touts her diplomacy, State, Navy roles
97-0.3242190.2000002.6601562.335938383../samples/2024_anthropic_palintir.mdtl;dr: Anthropic, Palantir, AWS partner to offer Claude 3/3.5 to US intel/defense via Palantir AIP; IL6 security, SageMaker; PoV: PR; doc: press release; tone: corporate, new gov AI access.
33-0.2773440.2000002.4414062.164062383../samples/2024_anthropic_palintir.mdtl;dr: Anthropic, Palantir, AWS partner to offer Claude 3/3.5 to US intel/defense via Palantir AIP; IL6 security, SageMaker; PoV: PR; doc: press release; tone: corporate, new gov AI access.
88-0.4199220.6880443.5390623.119141415../samples/2025_lw_the-intelligence-curse.mdtl;dr: Author argues AGI is like oil: control by few, replaces humans as \"fuel,\" risks societal negl of people (rentier state/resource curse effect). Cites Rudolf’s “Capital, AGI, and human ambition.”
100-0.3222660.6000002.8261722.503906403../samples/2024_deliberative_alignment.mdtl;dr: Paper (formal, OpenAI PoV) introduces Deliberative Alignment—training LLMs to reason over stated safety specs. Improves OAI o-series safety, fewer jailbreaks/overrefusals, no manual CoT needed.
37-0.1855470.0000001.8251951.639648367../samples/2024_gpt4_fake_paper.mdtl;dr: Critique of ML's binary basis; claims binaries reflect/exclude via socio-political bias. Urges inclusive, intersectional, \"fluid\" ML. Scholarly, critical, calls for paradigm/epistemic shift.
13-0.2176870.3000003.3385893.120902248../samples/2024_trump_appointment.mdtl;dr: Trump announces Ortagus (ex-critic, GOP support) as envoy, touts her diplomacy, State, Navy roles
56-0.3046880.6880442.9179692.613281415../samples/2025_lw_the-intelligence-curse.mdtl;dr: Author argues AGI is like oil: control by few, replaces humans as \"fuel,\" risks societal negl of people (rentier state/resource curse effect). Cites Rudolf’s “Capital, AGI, and human ambition.”
36-0.2480470.6000002.4492192.201172403../samples/2024_deliberative_alignment.mdtl;dr: Paper (formal, OpenAI PoV) introduces Deliberative Alignment—training LLMs to reason over stated safety specs. Improves OAI o-series safety, fewer jailbreaks/overrefusals, no manual CoT needed.
116-0.2929690.6774583.1328122.839844383../samples/2025_lw_parkinson-s-law-and-the-ideology-of-statistics-1.mdtl;dr: Anon review on Astral Codex X critiques World Bank Lesotho case; argues WB bias for top-down plans stems from incentives/ideology, not just sparse data/error. Links to EA/statistics debates.
65-0.2617190.2000002.8320312.570312383../samples/2024_anthropic_palintir.mdtl;dr: Anthropic, Palantir, AWS partner to offer Claude 3/3.5 to US intel/defense via Palantir AIP; IL6 security, SageMaker; PoV: PR; doc: press release; tone: corporate, new gov AI access.
1-0.2848010.2000003.2241062.939305383../samples/2024_anthropic_palintir.mdtl;dr: Anthropic, Palantir, AWS partner to offer Claude 3/3.5 to US intel/defense via Palantir AIP; IL6 security, SageMaker; PoV: PR; doc: press release; tone: corporate, new gov AI access.
8-0.2892340.1000002.9782102.688976428../samples/2024_lesswrong_slop.mdtl;dr: Dialogue (Jenny/AI, nametag+emoji, caps engine) debates Kantian ethics of paying slave master to talk to genius slave, asks if any maxim could make act slave-endorsable; tone: philosophical.
120-0.2890620.6880443.1054692.816406415../samples/2025_lw_the-intelligence-curse.mdtl;dr: Author argues AGI is like oil: control by few, replaces humans as \"fuel,\" risks societal negl of people (rentier state/resource curse effect). Cites Rudolf’s “Capital, AGI, and human ambition.”
77-0.1660160.3000002.9824222.816406248../samples/2024_trump_appointment.mdtl;dr: Trump announces Ortagus (ex-critic, GOP support) as envoy, touts her diplomacy, State, Navy roles
98-0.2109380.1500002.7363282.525391360../samples/2024_arxiv_meh.mdtl;dr: Xiao et al. paper, multi-agent LLMs as collab trading firm (analysts/traders/risk mgrs), new superior framework outperforms baselines in returns, Sharpe, drawdown; experiment-backed.
109-0.1484380.3000002.8007812.652344248../samples/2024_trump_appointment.mdtl;dr: Trump announces Ortagus (ex-critic, GOP support) as envoy, touts her diplomacy, State, Navy roles
103-0.1787110.5000001.7304691.551758525../samples/2024_how_to_focus.mdtl;dr: Series \"Ancient Wisdom for Modern Readers.\" \"How to Focus\" by Cassian, trans/intro by Kreiner; monastic tips for focus in modern times; Princeton UP 2024, formal, scholarly, guide format.
39-0.1533200.5000001.5273441.374023525../samples/2024_how_to_focus.mdtl;dr: Series \"Ancient Wisdom for Modern Readers.\" \"How to Focus\" by Cassian, trans/intro by Kreiner; monastic tips for focus in modern times; Princeton UP 2024, formal, scholarly, guide format.
4-0.2692810.6000003.4367283.167447403../samples/2024_deliberative_alignment.mdtl;dr: Paper (formal, OpenAI PoV) introduces Deliberative Alignment—training LLMs to reason over stated safety specs. Improves OAI o-series safety, fewer jailbreaks/overrefusals, no manual CoT needed.
114-0.2109380.6774582.5585942.347656438../samples/2025_lw_human-study-on-ai-spear-phishing-campaigns.mdtl;dr: Study (arxiv:2412.00586) shows GPT-4o/Claude 3.5 AI enables cheap, >50% CTR spear-phishing, matches humans, bypasses guardrails, excels at profiling; Claude best at phishing detection.
69-0.1445310.0000002.0800781.935547367../samples/2024_gpt4_fake_paper.mdtl;dr: Critique of ML's binary basis; claims binaries reflect/exclude via socio-political bias. Urges inclusive, intersectional, \"fluid\" ML. Scholarly, critical, calls for paradigm/epistemic shift.
52-0.1972660.6774582.7539062.556641383../samples/2025_lw_parkinson-s-law-and-the-ideology-of-statistics-1.mdtl;dr: Anon review on Astral Codex X critiques World Bank Lesotho case; argues WB bias for top-down plans stems from incentives/ideology, not just sparse data/error. Links to EA/statistics debates.
5-0.1532490.0000002.2737712.120522367../samples/2024_gpt4_fake_paper.mdtl;dr: Critique of ML's binary basis; claims binaries reflect/exclude via socio-political bias. Urges inclusive, intersectional, \"fluid\" ML. Scholarly, critical, calls for paradigm/epistemic shift.
119-0.1972660.9254832.6992192.501953406../samples/2025_lw_the-field-of-ai-alignment-a-postmortem-and-what-to-do-about.mdtl;dr: Author, pessimistic PoV, blog post, streetlight parable; AI Alignment stuck solving easy, not crucial, problems; memetic pressure favors shallow work; focus: why this happened, next steps.
34-0.1562500.1500002.4003912.244141360../samples/2024_arxiv_meh.mdtl;dr: Xiao et al. paper, multi-agent LLMs as collab trading firm (analysts/traders/risk mgrs), new superior framework outperforms baselines in returns, Sharpe, drawdown; experiment-backed.
59-0.2363280.8981612.8359382.599609479../samples/2025_lw_what-s-the-short-timeline-plan.mdtl;dr: Low-effort, personal post (Apollo Research). Author fears AGI by 2027 likely; current short-timeline AI risk plans insufficient. Seeks others’ ideas; suggests prize for best plan. Urgent tone.
105-0.1992190.9063882.8046882.605469405../samples/2024_lw_by-default-capital-will-matter-more-than-ever-after-agi.mdtl;dr: Blog post, analytical, author argues labor-replacing AI shifts power to capital, reduces care for humans, entrenches elites, counters “money won’t matter” post-AGI, highlights societal risks.
51-0.1992190.7569252.2734382.074219519../samples/2025_lw_my-agi-safety-research-2024-review-25-plans.mdtl;dr: 2024 review, plans: author (LessWrong, AGI safety), focus—reverse-engineering human social instincts; 2025: big-picture AGI, pedagogy, outreach; includes blog list, tone: reflective.
66-0.1738280.1500002.8046882.630859360../samples/2024_arxiv_meh.mdtl;dr: Xiao et al. paper, multi-agent LLMs as collab trading firm (analysts/traders/risk mgrs), new superior framework outperforms baselines in returns, Sharpe, drawdown; experiment-backed.
76-0.2226560.7000002.9960942.773438473../samples/2024_openai_emails.mdtl;dr: 2015 Altman emails Musk re: YC-run nonprofit \"Manhattan Project for AI\" (vs Google), safety focus, global benefit, 5-person gov (inc. Gates, Omidyar, Moskovitz), startup pay, compliance.
68-0.1757810.6000002.7851562.609375403../samples/2024_deliberative_alignment.mdtl;dr: Paper (formal, OpenAI PoV) introduces Deliberative Alignment—training LLMs to reason over stated safety specs. Improves OAI o-series safety, fewer jailbreaks/overrefusals, no manual CoT needed.
26-0.2071720.6979463.0036142.796442450../samples/2025_lw_the-subset-parity-learning-problem-much-more-than-you-wanted.mdtl;dr: Blog post; author: ML interp. comm. insider; tone: explanatory, surprised; key: parity learnibly impossible for gradient desc., unlike what many in ML think—pirate box analogy; Bayesian tie-in.
112-0.2285160.7502533.2011722.972656469../samples/2025_lw_comment-on-death-and-the-gorgon.mdtl;dr: Review of 2024 Egan story \"Death and the Gorgon\" (Asimov’s); PoV: critic, reflective tone; notes dated tech, AI/avatars, plot (sheriff, cryonics vault), moral: tech awe is misplaced.
91-0.2441410.8981613.3828123.138672479../samples/2025_lw_what-s-the-short-timeline-plan.mdtl;dr: Low-effort, personal post (Apollo Research). Author fears AGI by 2027 likely; current short-timeline AI risk plans insufficient. Seeks others’ ideas; suggests prize for best plan. Urgent tone.
101-0.1142580.0000002.0332031.918945367../samples/2024_gpt4_fake_paper.mdtl;dr: Critique of ML's binary basis; claims binaries reflect/exclude via socio-political bias. Urges inclusive, intersectional, \"fluid\" ML. Scholarly, critical, calls for paradigm/epistemic shift.
55-0.1298830.9254832.1171881.987305406../samples/2025_lw_the-field-of-ai-alignment-a-postmortem-and-what-to-do-about.mdtl;dr: Author, pessimistic PoV, blog post, streetlight parable; AI Alignment stuck solving easy, not crucial, problems; memetic pressure favors shallow work; focus: why this happened, next steps.
84-0.1933590.6774583.3378913.144531383../samples/2025_lw_parkinson-s-law-and-the-ideology-of-statistics-1.mdtl;dr: Anon review on Astral Codex X critiques World Bank Lesotho case; argues WB bias for top-down plans stems from incentives/ideology, not just sparse data/error. Links to EA/statistics debates.
82-0.1718750.6774582.6230472.451172438../samples/2025_lw_human-study-on-ai-spear-phishing-campaigns.mdtl;dr: Study (arxiv:2412.00586) shows GPT-4o/Claude 3.5 AI enables cheap, >50% CTR spear-phishing, matches humans, bypasses guardrails, excels at profiling; Claude best at phishing detection.
58-0.1542970.6979462.3007812.146484450../samples/2025_lw_the-subset-parity-learning-problem-much-more-than-you-wanted.mdtl;dr: Blog post; author: ML interp. comm. insider; tone: explanatory, surprised; key: parity learnibly impossible for gradient desc., unlike what many in ML think—pirate box analogy; Bayesian tie-in.
115-0.1835940.7569252.4296882.246094519../samples/2025_lw_my-agi-safety-research-2024-review-25-plans.mdtl;dr: 2024 review, plans: author (LessWrong, AGI safety), focus—reverse-engineering human social instincts; 2025: big-picture AGI, pedagogy, outreach; includes blog list, tone: reflective.
50-0.1406250.6774582.2226562.082031438../samples/2025_lw_human-study-on-ai-spear-phishing-campaigns.mdtl;dr: Study (arxiv:2412.00586) shows GPT-4o/Claude 3.5 AI enables cheap, >50% CTR spear-phishing, matches humans, bypasses guardrails, excels at profiling; Claude best at phishing detection.
71-0.1406250.5000001.8857421.745117525../samples/2024_how_to_focus.mdtl;dr: Series \"Ancient Wisdom for Modern Readers.\" \"How to Focus\" by Cassian, trans/intro by Kreiner; monastic tips for focus in modern times; Princeton UP 2024, formal, scholarly, guide format.
81-0.1972660.5269753.1210942.923828446../samples/2025_lw_debating-buying-nvda-in-2019.mdtl;dr: Dialogue. Alice/Bob debate GPT-2, Nvidia, CUDA, ASICs. PoV: nuanced. Tone: analytical. Key: TSMC bottleneck, software moat, competition risks, AI HW future uncertain, not obvious buy.
102-0.2128911.0000003.4394533.226562438../samples/2024_gwern_reddit.mdtl;dr: Hyperscalers bet $100b on mega-GPU datacenters for parallel LLM training, but “search regime” shift may favor small distributed competitors. PoV: skeptical, tech analysis, blog/explainer.
30-0.0805810.5000001.2861501.205569445../samples/predictable_numbers.mdtl;dr: Num seq=2*fib(n)%100, from Python code, doc=code+output, neutral tone
24-0.2195940.6880443.8139983.594405415../samples/2025_lw_the-intelligence-curse.mdtl;dr: Author argues AGI is like oil: control by few, replaces humans as \"fuel,\" risks societal negl of people (rentier state/resource curse effect). Cites Rudolf’s “Capital, AGI, and human ambition.”
18-0.1819070.6774583.0031802.821273438../samples/2025_lw_human-study-on-ai-spear-phishing-campaigns.mdtl;dr: Study (arxiv:2412.00586) shows GPT-4o/Claude 3.5 AI enables cheap, >50% CTR spear-phishing, matches humans, bypasses guardrails, excels at profiling; Claude best at phishing detection.
41-0.1484380.9063882.6562502.507812405../samples/2024_lw_by-default-capital-will-matter-more-than-ever-after-agi.mdtl;dr: Blog post, analytical, author argues labor-replacing AI shifts power to capital, reduces care for humans, entrenches elites, counters “money won’t matter” post-AGI, highlights societal risks.
122-0.1464840.6979462.3964842.250000450../samples/2025_lw_the-subset-parity-learning-problem-much-more-than-you-wanted.mdtl;dr: Blog post; author: ML interp. comm. insider; tone: explanatory, surprised; key: parity learnibly impossible for gradient desc., unlike what many in ML think—pirate box analogy; Bayesian tie-in.
48-0.1816410.7502532.8828122.701172469../samples/2025_lw_comment-on-death-and-the-gorgon.mdtl;dr: Review of 2024 Egan story \"Death and the Gorgon\" (Asimov’s); PoV: critic, reflective tone; notes dated tech, AI/avatars, plot (sheriff, cryonics vault), moral: tech awe is misplaced.
73-0.1660160.9063883.0292972.863281405../samples/2024_lw_by-default-capital-will-matter-more-than-ever-after-agi.mdtl;dr: Blog post, analytical, author argues labor-replacing AI shifts power to capital, reduces care for humans, entrenches elites, counters “money won’t matter” post-AGI, highlights societal risks.
108-0.1660160.7000002.6699222.503906473../samples/2024_openai_emails.mdtl;dr: 2015 Altman emails Musk re: YC-run nonprofit \"Manhattan Project for AI\" (vs Google), safety focus, global benefit, 5-person gov (inc. Gates, Omidyar, Moskovitz), startup pay, compliance.
49-0.1542970.5269752.6582032.503906446../samples/2025_lw_debating-buying-nvda-in-2019.mdtl;dr: Dialogue. Alice/Bob debate GPT-2, Nvidia, CUDA, ASICs. PoV: nuanced. Tone: analytical. Key: TSMC bottleneck, software moat, competition risks, AI HW future uncertain, not obvious buy.
44-0.1523440.7000002.4980472.345703473../samples/2024_openai_emails.mdtl;dr: 2015 Altman emails Musk re: YC-run nonprofit \"Manhattan Project for AI\" (vs Google), safety focus, global benefit, 5-person gov (inc. Gates, Omidyar, Moskovitz), startup pay, compliance.
35-0.1757810.3000002.8789062.703125483../samples/2024_bob_fanfic.mdtl;dr: Log, Bob, Apr 2222, Delta Eridani, replicant in furry Deltan town, bemused PoV, suspects secret known, odd advice, comic tone, subtle alienation, “they know.” Sci-fi vignette.
6-0.2296101.0000004.1446083.914997438../samples/2024_gwern_reddit.mdtl;dr: Hyperscalers bet $100b on mega-GPU datacenters for parallel LLM training, but “search regime” shift may favor small distributed competitors. PoV: skeptical, tech analysis, blog/explainer.
106-0.1777340.7851702.5546882.376953566../samples/2024_lw_the-plan-2024-update.mdtl;dr: Author (1st-person, LessWrong post) reports 2023-24 progress: \"natural latents\" solved approximation in natural abstraction theory; now building image editor to empirically test theory.
2-0.1378800.1500003.0737202.935840360../samples/2024_arxiv_meh.mdtl;dr: Xiao et al. paper, multi-agent LLMs as collab trading firm (analysts/traders/risk mgrs), new superior framework outperforms baselines in returns, Sharpe, drawdown; experiment-backed.
107-0.1435550.5000002.0878911.944336571../samples/2024_news_anthropic.mdtl;dr: CNBC news, neutral. Anthropic CEO Amodei at VivaTech: Amazon-backed startup unveils AI agentsuse computers like humans. Competes vs OpenAI, Google; genAI race for $1T market. New: Computer Use.
38-0.1757811.0000003.2812503.105469438../samples/2024_gwern_reddit.mdtl;dr: Hyperscalers bet $100b on mega-GPU datacenters for parallel LLM training, but “search regime” shift may favor small distributed competitors. PoV: skeptical, tech analysis, blog/explainer.
46-0.1132810.7500002.4042972.291016384../samples/2025_h5n1_report.mdtl;dr: CDC 10/24/24 report: MO pt w/ H5N1, no animal exposure. 6 close contacts seronegative; no human-to-human spread. Doc: official, factual, surprise: no exposure source, ruled out spread.
7-0.1283090.5000002.0819041.953595525../samples/2024_how_to_focus.mdtl;dr: Series \"Ancient Wisdom for Modern Readers.\" \"How to Focus\" by Cassian, trans/intro by Kreiner; monastic tips for focus in modern times; Princeton UP 2024, formal, scholarly, guide format.
42-0.1562500.7851702.4082032.251953566../samples/2024_lw_the-plan-2024-update.mdtl;dr: Author (1st-person, LessWrong post) reports 2023-24 progress: \"natural latents\" solved approximation in natural abstraction theory; now building image editor to empirically test theory.
86-0.2128910.9339503.0449222.832031615../samples/2025_lw_review-planecrash.mdtl;dr: Review of Planecrash (fiction by Yudkowsky/\"lintamande\"); mix of fantasy, math, smut; verbose, self-aware, trolling tone; forum format, math tangents, meta, not \"high lit\".
121-0.1230470.5409322.4082032.285156447../samples/2025_lw_the-laws-of-large-numbers.mdtl;dr: Blog intro, plan: explain cumulants/statistics refinements beyond CLT, with parallels to physics/neural nets; stats focus, low jargon, author POV, sets stage for physics-inspired NN views.
54-0.1757810.9339502.6054692.429688615../samples/2025_lw_review-planecrash.mdtl;dr: Review of Planecrash (fiction by Yudkowsky/\"lintamande\"); mix of fantasy, math, smut; verbose, self-aware, trolling tone; forum format, math tangents, meta, not \"high lit\".
53-0.1386720.6333212.9824222.843750422../samples/2025_lw_preference-inversion.mdtl;dr: Author argues reported prefs often reflect strategy/coercion, not true prefs; uses moral beliefs around nonmarital sex as example; explains via intentions/context. Analytical, explanatory tone.
57-0.1132810.5409322.3203122.207031447../samples/2025_lw_the-laws-of-large-numbers.mdtl;dr: Blog intro, plan: explain cumulants/statistics refinements beyond CLT, with parallels to physics/neural nets; stats focus, low jargon, author POV, sets stage for physics-inspired NN views.
123-0.1601560.8981613.0820312.921875479../samples/2025_lw_what-s-the-short-timeline-plan.mdtl;dr: Low-effort, personal post (Apollo Research). Author fears AGI by 2027 likely; current short-timeline AI risk plans insufficient. Seeks others’ ideas; suggests prize for best plan. Urgent tone.
70-0.1816411.0000003.8242193.642578438../samples/2024_gwern_reddit.mdtl;dr: Hyperscalers bet $100b on mega-GPU datacenters for parallel LLM training, but “search regime” shift may favor small distributed competitors. PoV: skeptical, tech analysis, blog/explainer.
99-0.1640620.3000003.1621092.998047483../samples/2024_bob_fanfic.mdtl;dr: Log, Bob, Apr 2222, Delta Eridani, replicant in furry Deltan town, bemused PoV, suspects secret known, odd advice, comic tone, subtle alienation, “they know.” Sci-fi vignette.
113-0.1347660.5269752.8046882.669922446../samples/2025_lw_debating-buying-nvda-in-2019.mdtl;dr: Dialogue. Alice/Bob debate GPT-2, Nvidia, CUDA, ASICs. PoV: nuanced. Tone: analytical. Key: TSMC bottleneck, software moat, competition risks, AI HW future uncertain, not obvious buy.
80-0.1640620.7502533.2812503.117188469../samples/2025_lw_comment-on-death-and-the-gorgon.mdtl;dr: Review of 2024 Egan story \"Death and the Gorgon\" (Asimov’s); PoV: critic, reflective tone; notes dated tech, AI/avatars, plot (sheriff, cryonics vault), moral: tech awe is misplaced.
110-0.1035160.7500002.5351562.431641384../samples/2025_h5n1_report.mdtl;dr: CDC 10/24/24 report: MO pt w/ H5N1, no animal exposure. 6 close contacts seronegative; no human-to-human spread. Doc: official, factual, surprise: no exposure source, ruled out spread.
27-0.1894830.8981613.8156823.626200479../samples/2025_lw_what-s-the-short-timeline-plan.mdtl;dr: Low-effort, personal post (Apollo Research). Author fears AGI by 2027 likely; current short-timeline AI risk plans insufficient. Seeks others’ ideas; suggests prize for best plan. Urgent tone.
89-0.1289060.5409322.8007812.671875447../samples/2025_lw_the-laws-of-large-numbers.mdtl;dr: Blog intro, plan: explain cumulants/statistics refinements beyond CLT, with parallels to physics/neural nets; stats focus, low jargon, author POV, sets stage for physics-inspired NN views.
16-0.1848040.7502533.8526533.667849469../samples/2025_lw_comment-on-death-and-the-gorgon.mdtl;dr: Review of 2024 Egan story \"Death and the Gorgon\" (Asimov’s); PoV: critic, reflective tone; notes dated tech, AI/avatars, plot (sheriff, cryonics vault), moral: tech awe is misplaced.
90-0.1250000.6979462.7167972.591797450../samples/2025_lw_the-subset-parity-learning-problem-much-more-than-you-wanted.mdtl;dr: Blog post; author: ML interp. comm. insider; tone: explanatory, surprised; key: parity learnibly impossible for gradient desc., unlike what many in ML think—pirate box analogy; Bayesian tie-in.
20-0.1504730.6774583.8453293.694856383../samples/2025_lw_parkinson-s-law-and-the-ideology-of-statistics-1.mdtl;dr: Anon review on Astral Codex X critiques World Bank Lesotho case; argues WB bias for top-down plans stems from incentives/ideology, not just sparse data/error. Links to EA/statistics debates.
67-0.1601560.3000003.3144533.154297483../samples/2024_bob_fanfic.mdtl;dr: Log, Bob, Apr 2222, Delta Eridani, replicant in furry Deltan town, bemused PoV, suspects secret known, odd advice, comic tone, subtle alienation, “they know.” Sci-fi vignette.
17-0.1517880.5269753.4404693.288682446../samples/2025_lw_debating-buying-nvda-in-2019.mdtl;dr: Dialogue. Alice/Bob debate GPT-2, Nvidia, CUDA, ASICs. PoV: nuanced. Tone: analytical. Key: TSMC bottleneck, software moat, competition risks, AI HW future uncertain, not obvious buy.
47-0.1621090.7891902.9179692.755859573../samples/2025_lw_2024-in-ai-predictions.mdtl;dr: Blog post, author reviews 2024 AI predictions from Twitter, notes 2 failed on alignment, sharrcus' forecast: many GPT-4 peers, weak moat, price wars, no big leaps, modest corp adoption/profits.
9-0.1322200.9063883.4139413.281721405../samples/2024_lw_by-default-capital-will-matter-more-than-ever-after-agi.mdtl;dr: Blog post, analytical, author argues labor-replacing AI shifts power to capital, reduces care for humans, entrenches elites, counters “money won’t matter” post-AGI, highlights societal risks.
118-0.1601560.9339502.7890622.628906615../samples/2025_lw_review-planecrash.mdtl;dr: Review of Planecrash (fiction by Yudkowsky/\"lintamande\"); mix of fantasy, math, smut; verbose, self-aware, trolling tone; forum format, math tangents, meta, not \"high lit\".
19-0.1542590.7569253.1752443.020985519../samples/2025_lw_my-agi-safety-research-2024-review-25-plans.mdtl;dr: 2024 review, plans: author (LessWrong, AGI safety), focus—reverse-engineering human social instincts; 2025: big-picture AGI, pedagogy, outreach; includes blog list, tone: reflective.
43-0.0957030.5000001.8300781.734375571../samples/2024_news_anthropic.mdtl;dr: CNBC news, neutral. Anthropic CEO Amodei at VivaTech: Amazon-backed startup unveils AI agentsuse computers like humans. Competes vs OpenAI, Google; genAI race for $1T market. New: Computer Use.
117-0.1250000.6333213.2226563.097656422../samples/2025_lw_preference-inversion.mdtl;dr: Author argues reported prefs often reflect strategy/coercion, not true prefs; uses moral beliefs around nonmarital sex as example; explains via intentions/context. Analytical, explanatory tone.
111-0.1523440.7891903.0937502.941406573../samples/2025_lw_2024-in-ai-predictions.mdtl;dr: Blog post, author reviews 2024 AI predictions from Twitter, notes 2 failed on alignment, sharrcus' forecast: many GPT-4 peers, weak moat, price wars, no big leaps, modest corp adoption/profits.
74-0.1308590.7851702.7109382.580078566../samples/2024_lw_the-plan-2024-update.mdtl;dr: Author (1st-person, LessWrong post) reports 2023-24 progress: \"natural latents\" solved approximation in natural abstraction theory; now building image editor to empirically test theory.
15-0.1796240.7891903.6878143.508189573../samples/2025_lw_2024-in-ai-predictions.mdtl;dr: Blog post, author reviews 2024 AI predictions from Twitter, notes 2 failed on alignment, sharrcus' forecast: many GPT-4 peers, weak moat, price wars, no big leaps, modest corp adoption/profits.
83-0.1152340.7569252.7128912.597656519../samples/2025_lw_my-agi-safety-research-2024-review-25-plans.mdtl;dr: 2024 review, plans: author (LessWrong, AGI safety), focus—reverse-engineering human social instincts; 2025: big-picture AGI, pedagogy, outreach; includes blog list, tone: reflective.
11-0.1318920.5000002.9396262.807734571../samples/2024_news_anthropic.mdtl;dr: CNBC news, neutral. Anthropic CEO Amodei at VivaTech: Amazon-backed startup unveils AI agentsuse computers like humans. Competes vs OpenAI, Google; genAI race for $1T market. New: Computer Use.
12-0.1211230.7000003.2669413.145818473../samples/2024_openai_emails.mdtl;dr: 2015 Altman emails Musk re: YC-run nonprofit \"Manhattan Project for AI\" (vs Google), safety focus, global benefit, 5-person gov (inc. Gates, Omidyar, Moskovitz), startup pay, compliance.
14-0.0901440.7500003.0535772.963433384../samples/2025_h5n1_report.mdtl;dr: CDC 10/24/24 report: MO pt w/ H5N1, no animal exposure. 6 close contacts seronegative; no human-to-human spread. Doc: official, factual, surprise: no exposure source, ruled out spread.
21-0.1247750.6333213.9008373.776062422../samples/2025_lw_preference-inversion.mdtl;dr: Author argues reported prefs often reflect strategy/coercion, not true prefs; uses moral beliefs around nonmarital sex as example; explains via intentions/context. Analytical, explanatory tone.
10-0.1248400.7851703.1076802.982840566../samples/2024_lw_the-plan-2024-update.mdtl;dr: Author (1st-person, LessWrong post) reports 2023-24 progress: \"natural latents\" solved approximation in natural abstraction theory; now building image editor to empirically test theory.
22-0.1482920.9339503.4323733.284081615../samples/2025_lw_review-planecrash.mdtl;dr: Review of Planecrash (fiction by Yudkowsky/\"lintamande\"); mix of fantasy, math, smut; verbose, self-aware, trolling tone; forum format, math tangents, meta, not \"high lit\".
95-0.0351560.0000001.7460941.710938292../samples/random_numbers.mdnum seq list; ontext, neutral
23-0.0901100.9254833.4391213.349011406../samples/2025_lw_the-field-of-ai-alignment-a-postmortem-and-what-to-do-about.mdtl;dr: Author, pessimistic PoV, blog post, streetlight parable; AI Alignment stuck solving easy, not crucial, problems; memetic pressure favors shallow work; focus: why this happened, next steps.
79-0.1074220.7891903.3417973.234375573../samples/2025_lw_2024-in-ai-predictions.mdtl;dr: Blog post, author reviews 2024 AI predictions from Twitter, notes 2 failed on alignment, sharrcus' forecast: many GPT-4 peers, weak moat, price wars, no big leaps, modest corp adoption/profits.
25-0.0726830.5409322.8893042.816621447../samples/2025_lw_the-laws-of-large-numbers.mdtl;dr: Blog intro, plan: explain cumulants/statistics refinements beyond CLT, with parallels to physics/neural nets; stats focus, low jargon, author POV, sets stage for physics-inspired NN views.
3-0.0766940.3000003.6537603.577066483../samples/2024_bob_fanfic.mdtl;dr: Log, Bob, Apr 2222, Delta Eridani, replicant in furry Deltan town, bemused PoV, suspects secret known, odd advice, comic tone, subtle alienation, “they know.” Sci-fi vignette.
87-0.0273440.9254832.7089842.681641406../samples/2025_lw_the-field-of-ai-alignment-a-postmortem-and-what-to-do-about.mdtl;dr: Author, pessimistic PoV, blog post, streetlight parable; AI Alignment stuck solving easy, not crucial, problems; memetic pressure favors shallow work; focus: why this happened, next steps.
75-0.0273440.5000002.2656252.238281571../samples/2024_news_anthropic.mdtl;dr: CNBC news, neutral. Anthropic CEO Amodei at VivaTech: Amazon-backed startup unveils AI agentsuse computers like humans. Competes vs OpenAI, Google; genAI race for $1T market. New: Computer Use.
85-0.0292970.6333213.4609383.431641422../samples/2025_lw_preference-inversion.mdtl;dr: Author argues reported prefs often reflect strategy/coercion, not true prefs; uses moral beliefs around nonmarital sex as example; explains via intentions/context. Analytical, explanatory tone.
63-0.0097660.0000001.7167971.707031292../samples/random_numbers.mdnum seq list; ontext, neutral
1270.0107420.0000001.6513671.662109292../samples/random_numbers.mdnum seq list; ontext, neutral
310.0189020.0000001.7105511.729453292../samples/random_numbers.mdnum seq list; ontext, neutral
780.0585940.7500002.7929692.851562384../samples/2025_h5n1_report.mdtl;dr: CDC 10/24/24 report: MO pt w/ H5N1, no animal exposure. 6 close contacts seronegative; no human-to-human spread. Doc: official, factual, surprise: no exposure source, ruled out spread.
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# results\n", - "df2 = pd.DataFrame(data).set_index('title')\n", - "df2 = df2.query('in_training == False')\n", - "df2" + "df2 = pd.DataFrame(data)#.drop_duplicates(subset=['title']).set_index('title')\n", + "df2 = df2\n", + "df2 = df2\n", + "df2['diff'] = df2['after'] - df2['before']\n", + "df2['diff_ln'] = df2['diff'] / df2['n_tokens']\n", + "df2['diff_nll'] = (df2['after_nll'] - df2['before_nll']) \n", + "df2['diff_nll_ln'] = df2['diff_nll'] / df2['n_tokens']\n", + "\n", + "# df2[[ 'improvement%_mean', 'novelty', 'date']].sort_values(\"improvement%_mean\", ascending=True)\n", + "\n", + "df2['diff (a-b)/a'] = (df2['after_nll'] - df2['before_nll'])/ df2['after_nll']\n", + "df2['diff (a-b)/b'] = (df2['after_nll'] - df2['before_nll'])/ df2['before_nll']\n", + "df2['diff (a/b/b)'] = (df2['after_nll'] / df2['before_nll'])/ df2['before_nll']\n", + "df2['diff (a/b/b/n)'] = (df2['after_nll'] / df2['before_nll'])/ df2['before_nll'] / df2['n_tokens']\n", + "df2['diff (a-b)/n/a'] = (df2['after_nll'] - df2['before_nll'])/ df2['after_nll'] / df2['n_tokens']\n", + "df2['diff (a-b)/n'] = (df2['after_nll'] - df2['before_nll'])/ df2['n_tokens']\n", + "\n", + "best = 'diff (a-b)/n/a'\n", + "\n", + "df2 = df2.sort_values(best, ascending=True)\n", + "df2_new = df2.query('in_training == False').copy()\n", + "(df2_new.query('in_training == False')[[\n", + " 'diff_nll', 'novelty', 'before_nll', 'after_nll', \"n_tokens\", 'f', \"summary\",\n", + "\n", + "]].style.background_gradient(\n", + " subset=['before_nll', 'after_nll', 'diff_nll'],\n", + " cmap='coolwarm' \n", + " )\n", + " .set_caption(\"Perplexity before and after summarization using different models\")\n", + ")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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NmzYQOfOnR3m9fnnnzNz5kw6derEypUrady4MTNmzCjwGF9++WW7Mk6bNo0NGzYA0K9fP7uumXlt3bqVJk2a2HXJLOpzLsqRI0fYsWMHr7/+Om+++SanTp3imWeesQt8dDodDzzwgN1YS6PRyP79++1aLy0WC+PGjeORRx5h9erVNG3alAULFrB3717bOrGxsZw+fdoWCN5K+bt164abmxs7duywS9++fTt169YlNDSU7du3s3DhQgYNGsSaNWsYOXIkW7ZsYc6cOYWej6KOISsri4EDB7Jt2zaef/55Vq5cSbNmzZg2bRqrVq0C4NFHH+X69eu2MZQ5+X733Xf07NkTjUbDhQsXGDBgAPHx8bz99tvMnTuXf//9l//85z/Ex8fnK5ejv81+/foRExNjt5+srCy+//57u+8KIcT9TbpcCiHEXTRw4EDi4uJYs2aNrcuhr68v7du355lnniE8PBzIvjhcsWIF3bp1swVwAJmZmezYsQOj0ci5c+d4/PHHmTZtmm15REQErVq14uDBgzRu3JgGDRoAUK1aNUJDQwEIDg4Gbo5vunDhAl999RWvvPKKbXKM9u3bo1Ao+OCDDxg4cKCty51Go2H27Nlotdoij9VisWAymQDQ6/VcvHiRRYsWoVQqeeqpp/Ktn5yczPvvv0///v3tJg2pV68egwYN4ttvv2XQoEG2YNBRl84cn3zyCQkJCfzwww9UrlwZgE6dOjFkyBAWLFhAr169aNKkCR4eHnbnIi+r1crKlSt55JFHmDp1qu3cpKWlsX79eofbVKtWrcAyBgcHFzqu7MCBA/la54rzORdGpVLx8ccf2z73WrVq8dhjj7F582aefvpp23phYWHs3LmTtLQ0PDw8OHLkCC4uLjRq1MjufLz88su2GwHNmjXjp59+4n//+58tgNu7dy+hoaH4+/vfcvldXV3p3r07O3fuZPz48QCkp6fz888/M3LkSAB+++03qlSpwqBBg1AqlbRs2RI3Nzdba25BijqGjRs3cubMGdavX09ERAQAHTp0wGQysXLlSgYMGECzZs2oXLky27dvp23btkD2RDlxcXE8+uijQHYw7+rqyqeffmqrZ23atKFbt2589NFHvPbaa3blCg4Ozve3GRgYSHBwMJs3b6ZNmzYA/PTTT2RkZPDYY48VepxCiPuHtNAJIcRdNnbsWPbu3cvixYvp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li9fbls+bNgwXnvtNbtyKZVKjEYjaWlpDs/b6dOnqV27tsNlBfnrr784fvw4L7zwQr4gUavVsnTpUmbMmGFLO3/+PC+++CKtWrWiWbNmjBkzhqtXr9qWGwwG5s2bR5s2bWjWrBkLFy7EYrHY5Xv+/HmGDx9OREQE7du3Z8KECcTFxdmWDx48mBkzZvDkk0/SvHlztm7d6rDsffv2Zdy4cUD2UKH9+/dz6NAh2rVrV+RxF/eRXCaTiTlz5tC0aVNatWrFG2+8YRumlNPV94cffrDVuy5durBhw4Zi51GYQ4cOsWHDBubPn1/gOitWrKBVq1Y0bdqUiRMnkpSUZFuW8ze6ceNGW++84nZNFqXL6TF0uVmtVpYvX273RyWEEEKI0qfxq0hgnzF2aWWpu+Xhw4c5cuQIq1ev5osvviA+Pp7Zs2cD2eOzRo0axRNPPMHOnTtZvnw5hw8fZunSpQ7zmj9/PitXrmTUqFFs27aNQYMGMXfuXNsYoH379gEwdepUpk2bZttu7dq1vPTSS+zcuZMOHTowffp0uzFge/bssQV0hw8fplatWvj5+TksQ8WKFalevTq///47bdu2RafTceDAAdvxnD59mrNnzxIfH28rk7e3N02bNmXPnj2MGzeO/v37s337dmbOnMl3333HpEmT7Pbx9ttv8/jjj7Njxw6efvppli1bxqFDhwAIDQ21a2nLGQPVqFGjAst85swZTCYTzz33HO3ataNv375s2bLF4bo5/vrrLwCaNm3qcHlISAg1atQA4OrVqzz11FNotVrWrl3Lxx9/TFxcHE8//bQtyHzzzTfZuXMn8+fPZ/369URHR9uCXICYmBgGDhxI9erV+eabb1i1ahVpaWk89dRTdt0Kv/76a5555hm++OILOnToUOgxREVFERYWxtChQwkLCytyuNCff/7J9u3befLJJwtdD+D3338nPj7eFlj98MMPLFy40G6dt956ixdffJHvvvuOzp07M2vWLP7991+n8sgrJSWFV199lenTp1OxouO/8atXr3LgwAE++eQTVq1axfHjx+2GVeV45JFHmDp1KpBdTyMiIoo8blG6biugs1gsrFixgtjY2JIqjxBCCCFKQM6Yudxit76HMeFaKZXInslkYsGCBdSvX5+wsDAGDBjA77//DmRfxBsMBipVqkTlypVp1qwZK1asYMCAAfnySUtL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vXuRnZ2Nbt26wcPDA2ZmZsL5mzdvIiAgAPHx8VBXV0f//v2xbNkyNG/eHACQmZmJ/v3717j2xo0b4ejo+OYeABERvVdEIhEUFRWhqCgX/0y/E5WVlQAAFRUVqKqqNnBvSB4wZkhW8hozcjH+7OXlhStXriAwMBBhYWF48OABFi5cWGv5srIyTJ8+HQBw7NgxeHl54ejRo/jqq6+EMidPnoSvry9cXV0RHh4OQ0NDODs748mTJwCAlJQUTJ8+Haampvj2228REBCAuLg4uLq6Cm0kJiZCRUUFly9fxpUrV4SvoUOHvqUnQURERERE9H8a/a/+MjMzERERgeDgYFhbWwMA/P39MWTIENy6dQuWlpY16vzwww94/Pgxvv32W2hpaaFTp07IycmBr68v5syZA2VlZQQHB2PKlCkYOXIkAMDHxweDBg3C8ePHMXv2bEREREBPTw+rV68WXkhfs2YNJk+ejEePHqFNmza4e/cujIyMoKen9+4eCBERERER0f/X6EfoYmNjAQC2trbCMWNjY+jr6+PGjRtS68TExKBr167Q0tISjtna2qKgoAAJCQnIyclBamoq7OzshPOKioqwtrYW2hw5ciQ2b94ssbpY9Z/z8vIAAElJSTAxMXlDd0pERERERCQbuRih09bWhoqKisRxPT09ZGRkSK2TkZFRY8WY6lG09PR04Z2Eli1b1iiTmJgIAFITta+//hq6urowNTUFANy9exfa2tqYPHkyUlJS0K5dO8ydO1fqe3VERERERERvWoMndGlpaRg4cGCt511dXaGsrFzjuIqKirBPxMuKi4vRrFmzGuWBqgVWioqKAKBGu3W1uXnzZvz8888ICgqCkpISysvL8eDBA3To0AErV66EpqYmzp07h1mzZmHfvn0So3/1Vb0nRWNQ/Yyq/0v0KowZkgXjhWTFmCFZMWZIVo0pZsRicb33IW3whE5fXx+RkZG1no+KikJpaWmN4yUlJbUuJ6qqqlqjTnWipq6uLqxaI63My22WlZXB09MTERERWLduHQYNGgSgaopmdHQ0FBQUhPa6deuGe/fuITQ09LUSurKyMiQkJMhc721KTU1t6C6QnGHMkCwYLyQrxgzJijFDsmosMSNtUEuaBk/olJSU6nwPLSkpCbm5uSgtLZW4qaysLOjr60utY2BggLt370ocy8rKAlCVQFZPtczKypK4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K8YMyYoxQ7JqTDFz//79epdt0IROSUkJJiYmtZ5PSkpCbm4uSktLJTLUrKws6OvrS61jYGCAu3fvShzLysoCUJVAVk+TzMrKkrj2i23Gx8fj2bNnEu/umZqaAqiaBlr97lxdbbwOkUgEdXX1167/NqipqTW6PlHjxpghWTBeSFaMGZIVY4Zk1Rhipr7TLYFGvihKz549UVlZKSyOAgApKSnIzMyEjY2N1Do2NjaIj49HQUGBcOz69evQ0NBA586d0aJFCxgbGyM6Olo4X15ejpiYGKHNM2fOYOXKlSgvLxfK3L59GwDQoUOHerVBRERERET0tjXqhE5fXx/Dhg2Dh4cHoqOjERcXBzc3N/Tq1QsWFhYAqqY9ZmdnC9MfBw0aBF1dXSxatAiJiYm4ePEi/P394eLiIozyubi4YN++fTh58iTu37+PVatWobi4GGPHjgUATJw4EXl5efD09ERKSgouX76M1atXY/DgwejcuXO92iAiIiIiInrbGvUqlwCwbt06+Pj4CCtM9u/fHx4eHsL5W7duYerUqThw4AB69+4NFRUV7NmzB97e3nBycoKWlhYmTZqEL7/8Uqjj5OSE/Px8bNu2Dbm5uejWrRv27dsHHR0dAEDbtm0RFhYGPz8/ODo6QkNDAyNGjMDixYvr3QYREREREdHbJhKLxeKG7gQBd+7cAQBhEZaGVlhYiISEBHTp0qXB5xCTfGDMkCwYLyQrxgzJijFDsmpMMSNLbtCop1wSERERERFR7ZjQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERE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RERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQvacqKyuxY8cO9OvXDxYWFpg5cyYePXpUa/mnT59iyZIlsLGxQa9eveDt7Y2ioqJ32GNqaLLGzL179zBr1iz07t0bdnZ2WLhwIR4/fvwOe0wNSdZ4edHp06dhamqKtLS0t9xLakxkjZmysjJs3bpVKD9lyhQkJCS8wx5TQ5M1ZnJycrBkyRLY2tqid+/eWLx4MTIzM99hj6kx2b17Nz7//PM6y8jL518mdO+pnTt34siRI1i3bh2OHTuGyspKzJgxA6WlpVLLL1y4EA8fPsT+/fuxfft2REVFwcvL6912mhqULDHz9OlTODs7Q1VVFQcPHsTXX3+NJ0+eYMaMGSgpKWmA3tO7JuvfMdX++usvrF279h31khoTWWPGy8sL4eHh8PHxwXfffQcdHR3MnDkT+fn577jn1FBkjZlFixbh8ePH2LdvH/bt24fHjx9j3rx577jX1BgcPnwY27Zte2U5ufn8K6b3TklJidjS0lJ8+PBh4VheXp7Y3NxcfObMmRrlb968Ke7UqZP4/v37wrHLly+LTU1NxRkZGe+kz9SwZI2Zb7/9VmxpaSkuKioSjj1+/FjcqVMn8bVr195Jn6nhyBov1SoqKsQTJ04UT506VdypUyfxo0eP3kV3qRGQNWb+/PNPsampqfinn36SKP/RRx/x75j3hKwxk5eXJ+7UqZP4xx9/FI5dvHhR3KlTJ/HTp0/fRZepEcjIyBDPnj1bbGFhIR4yZIh4ypQptZaVp8+/HKF7DyUmJuL58+ews7MTjjVr1gxmZma4ceNGjfIxMTHQ1dWFiYmJcKxXr14QiUSIjY19J32mhiVrzNjZ2WHnzp1QVVUVjjVpUvXXzbNnz95+h6lByRov1YKDg1FWVobZs2e/i25SIyJrzFy9ehVNmzZF//79Jcr/73//k2iD/r1kjRlVVVVoaGggIiICBQUFKCgowKlTp2BsbIxmzZq9y65TA/rjjz+gpKSE06dPo0ePHnWWlafPv4oN3QF69zIyMgAALVu2lDiup6cnnHtRZmZmjbLKyspo3rw50tPT315HqdGQNWYMDQ1h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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# QC summary\n", - "df2.summary.str.len().describe()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for n,d in df2.groupby(\"model\"):\n", - " for stat in ['mean', 'std', 'min', 'max', 'ppx']:\n", - " df2[f\"improvement%_{stat}\"] = (df2[f\"before_{stat}\"] - df2[f\"after_{stat}\"]) / df2[f\"before_{stat}\"]\n", - " df2[f\"improvement_{stat}\"] = (df2[f\"before_{stat}\"] - df2[f\"after_{stat}\"])\n", - " df2[f\"summarizable_{stat}\"] = df2[f\"improvement_{stat}\"] > 1\n", - " df2[f\"summarizable2_{stat}\"] = df2[f\"improvement%_{stat}\"] > 0.05\n", - " df2[f'suprising_{stat}'] = df2[f\"before_{stat}\"] > 15\n", - " df2[f'BS_{stat}'] = ~df2[f\"summarizable_{stat}\"] | ~df2[f'suprising_{stat}']\n", + "## scatter plot with fit of diff_nll vs novelty\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", "\n", + "sns.set(style=\"whitegrid\")\n", + "x=\"novelty\"\n", + "y=best\n", + "# Create a scatter plot\n", + "plt.figure(figsize=(10, 6))\n", + "sns.scatterplot(x=x, y=y, data=df2_new, hue='model', style='model', palette='deep')\n", "\n", - " print(n)\n", - " # d = d[[ 'before', 'after', \"improvement\", \"improvement%\", 'suprising', 'summarizable', 'summarizable2', 'novelty' ]].sort_values(\"improvement%\", ascending=True)\n", - " # print(d.to_markdown())\n", - " # display(d)\n", + "# Fit a regression line\n", + "sns.regplot(x=x, y=y, data=df2_new, scatter=False, color='red')\n", "\n", - " # TODO turn into a single metric, correlate with novelty label\n", - " r = df2.select_dtypes(include=np.number).corr()['novelty'].abs().sort_values()\n", - " display(r)" + "plt.title(f\"Scatter Plot of {y} vs {x}\")\n", + "plt.xlabel(f\"{x}\")\n", + "plt.ylabel(f\"{y}\")\n", + "plt.show()" ] }, { @@ -467,20 +2840,819 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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KH+dOnWoV68eGzZs4OGHH7ZOLgLZY+hmzZrFW2+9RceOHUlOTmbFihVUq1btlh9aD9nPDtywYQOjRo1i7NixVKpUiT179vDNN98wevRoa/2D7G6fCxYsYNeuXcyaNcsmn5deeomBAwcycuRI/u///g+dTsemTZvYvXs37777rt195/3bzAkQu3fvzty5c/nzzz8LnWFVCHF/koBOCCHuos6dO/Pll1+ydu1aVq9eTXx8PFqtltDQUJYuXWrTAjF48GBcXFxYu3YtmzZtIigoiBEjRjBixAgAFixYwNy5c63TtFerVo05c+awbds2jhw5AoCbmxvDhg1j06ZNhIeH8+uvv/LQQw+xdetWpkyZQv/+/Zk9ezZvvvkm77//Phs3biQqKgpfX18eeeQRxo8ff1cfDj1mzBj8/Pz4/PPP2bRpE15eXvTo0YPx48dbx3i1atWKtm3bsmTJEn777Te7D2L39/fniy++YMmSJbzxxhsYDAbq1q3LqlWrrM/mK65evXqhVCpZtWoVW7dupU6dOrz++uu8/PLLJXLMuXXv3p3t27cTHR1t7TJYnM+5MN26daNixYpMnjwZo9HIAw88wPTp021aefR6PYcOHWL8+PFkZWVx6NAhxo0b51DZo6KiOH/+PO3bt7dJv93yP/rooyxYsCBfADpw4EAMBgMbN25kw4YNODk50aZNGyZPnoxGo3Go7Lk5Ozvz2WefsWTJEt555x1SU1OpUaMG8+bNsz5WIIePjw/t27fn119/pUePHjbL6taty/r161m6dCmvvPIKFouFOnXqsHLlygLroL2/Tch+rETr1q35999/bVoIhRACQGFxZOS8EEIIIe4Yi8VCnz596N69O6NHj75r+/32229ZvHgxu3fvzjdhiCh9mZmZdOrUiZdeeslm4hUhhAAZQyeEEEKUGQqFgsmTJ7Nx40abB3/fSWazmY8++ojRo0dLMFfGXL16lRUrVjB8+HAUCgWPP/54aRdJCFEGSUAnhBBClCEdO3aka9eu1me13WnffPMN/v7+DBw48K7sTxSfUqnks88+IyoqiqVLl9qMIRRCiBzS5VIIIYQQQgghyilpoRNCCCGEEEKIckoCOiGEEEIIIYQopySgE0IIIYQQQohySp5DV0YcP34ci8VyW8/OEUIIIYQQQpR/BoMBhUJBkyZNilxXWujKCIvFQlman8Zi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s7KyqFixIsHBwTRr1oyVK1cycODAfPmkpqbyxRdfMHbsWHr37k21atV4+umnGTRoEGvWrMFisVi7krm7u1vHCAGMGjWKLl26UKVKFSZMmIDZbObvv/8GICUlhb/++ss6Ji4xMdFmW3u8vb2Jj4/HycmJNm3aWAPJAwcOEBoaSmBgoLW145dffqFz584olUpWr17NgAEDGDhwIFWqVKF9+/bMmTOH77//3mbil759+/Loo49SuXJlXnjhBTw8PKznLO+5feWVV/jnn3+YNWtWgeX9559/SExMZMiQIaxdu5bu3bszdepUvv766wK3SUrKnlinON1KN2zYgIuLC4sXL6Zu3bo0atSId999l7i4OLZu3UpqaiqbN29m3LhxdOrUidq1azN//nz8/PyseXzxxRcEBQUxY8YMatasSYMGDVi2bBlxcXF8//331vXq1atH7969qVOnDt7e3oWWy8PDg6+++oply5Zx5syZfEOF3n//fZo0aUKTJk1o0KABTzzxBJUqVaJ3795FHrO/vz9vvfUWtWvX5oEHHmDcuHFs3LiRjIwM6zpDhw6la9euVK5c2VrvTpw44VAeec2ePZsmTZoUWkadTsfSpUsJDQ2lZcuWvPbaa+zZsyffRDZOTk7Wuu7v72+3u64oW4o1hq4w0sdWCCGEKFtyxtDd7GZZ9sbQ+fn54el5swzu7u4YDAYg++K8V69evPDCC/j7+9OuXTs6duxI+/bt8+Xz77//YjAYaNasmU16y5YtWbduHXFxcTYBQm7Vq1e3vs4pS07Xtl9//ZWwsDDreCRvb2+uXSs8GE5KSiIoKAjIni1x1apV1rzatGljbSHp0aMH+/bt44033gDg1KlT/PnnnzaBVM711fnz56lUqRJAvu6Ruc9ZjtTUVMaPH8/vv//OihUrCAsLK7C8O3bswGQy4erqCkDdunWJjIxk7dq19O/fn549exIZGWld/4MPPrC29iUmJhZ4XnOcPXuWBg0a2AQE/v7+VK9enbNnz3LhwgUMBgMNGza0LtfpdISGhlrfnzp1in/++SdfK5Fer7fpolu1alXr68jISHr27GlzjfrHH39YX7u5uREaGkpoaCgmk4mJEycyefJkgoODARg4cKB1nJ3RaOTSpUssXbqUwYMH89VXX/Hnn38yYsQIa34VK1Zk586dADRo0ACdTmddFhYWhsFg4OLF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9aXWMTAwwN27dyWOZWVlAahKIKunWmZlZUlc++U2CwoKMH/+fMTExMDf3x+ffvqpRJsaGho1rt2xY0dcuXKl1vupi5KSEjp06PBadd+0oqIipKamwsjIiHu3UL0wZkgWjBeSFWOGZMWYIVk1ppi5f/9+vcs2eEL3Kj179kRlZSViY2OFUa+UlBRkZmbCxsZGah0bGxtERESgoKAAmpqaAIDr169DQ0MDnTt3hrKyMoyNjREdHS20WV5ejpiYGEyaNAlA1ejd7NmzkZCQgNDQUPTu3VviGvfu3cP48eOxa9cuiXO///77aydlIpEI6urqr1X3bVFTU2t0faLGjTFDsmC8kKwYMyQrxgzJqjHETH2nWwJysMqlvr4+hg0bBg8PD0RHRyMuLg5ubm7o1asXLCwsAFQlX9nZ2cIUykGDBkFXVxeLFi1CYmIiLl68CH9/f7i4uAijfC4uLti3bx9OnjyJ+/fvY9WqVSguLsbYsWMBALt370ZsbCzWrVuH9u3bIzs7W/gqLS2FiYkJ2rdvj7Vr1yImJgbJycnYuHEjfvvtN8ydO7dBnhUREREREb1fGv0IHQCsW7cOPj4+mD9/PgCgf//+8PDwEM7funULU6dOxYEDB9C7d2+oqKhgz5498Pb2hpOTE7S0tDBp0iR8+eWXQh0nJyfk5+dj27ZtyM3NRbdu3bBv3z7o6OgAAM6ePQuxWAw3N7ca/am+TnBwMLZu3YpFixbh2bNnMDMzw759+9CpU6e3/ESIiIiIiIgAkVgsFjd0Jwi4c+cOAKB79+4N3JMqhYWFSEhIQJcuXRp8yJnkA2OGZMF4IVkxZkhWjBmSVWOKGVlyg0Y/5ZKIiIiIiIikY0JHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkpxp9QldSUgJvb2/Y2dnB0tISS5YswZMnT+qsk5aWhtmzZ8PKygr29vbYtm0bKioqJMocPnwYAwcOhLm5OSZNmoT4+HiJ89euXcO4cePQo0cP9O/fH1u2bEFpaalMbRAREREREb1NjT6h8/LywpUrVxAYGIiwsDA8ePAACxcurLV8WVkZpk+fDgA4duwYvLy8cPToUXz11VdCmZMnT8LX1xeurq4IDw+HoaEhnJ2dhUQxKSkJs2fPRp8+fXDmzBls3LgRERER2LJlS73bICIiIiIietsadUKXmZmJiIgIeHh4wNraGubm5vD398eNGzdw69YtqXV++OEHPH78GL6+vujUqRMGDRoENzc3hIWFCSNswcHBmDJlCkaOHIkOHTrAx8cHampqOH78OAAgPT0dY8aMweLFi9G2bVv07dsXQ4cOxdWrV4XrvKoNIiIiIiKit61RJ3SxsbEAAFtbW+GYsbEx9PX1cePGDal1YmJi0LVrV2hpaQnHbG1tUVBQgISEBOTk5CA1NRV2dnbCeUVFRVhbWwttDhgwAGvXrgUAiMVixMXF4eLFi+jbty8A1KsNIiIiIiKit02xoTtQl8zMTGhra0NFRUXiuJ6eHjIyMqTWycjIgIGBQY3yQNXIm6Ji1S23bNmyRpnExESJYxUVFbCyskJxcTHMzMwwf/584Rr1bUMWYrEYhYWFr13/TSoqKpL4L9GrMGZIFowXkhVjhmTFmCFZNaaYEYvFEIlE9SrboAldWloaBg4cWOt5V1dXKCsr1ziuoqKCkpISqXWKi4vRrFmzGuWBqgVWqr9BL7crrc3KykocOnQIT548gY+PD2bOnIljx47J1IYsysrKkJCQ8Nr134bU1NSG7gLJGcYMyYLxQrJizJCsGDMkq8YSM9LyIGkaNKHT19dHZGRkreejoqJqrCwJVCVmampqUuuoqqrWqFOdZKmrq0NVVRUApJZ5uU0lJSV0794dANCsWTNMmDABMTExQrn6tCELJSUldOjQ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kZYHSdOgCZ2+vj4iIyNrPR8VFSWxsmS1kpISqKmpSa2jqqpao051oqaurg5VVVUAkFrm5TaVlJTQvXt3AECzZs0wYcIExMTEwMbGBmfPnkVFRQU0NDQAAJ07d8bjx48RGhr62gmdkpISOnTo8Fp137SioiKkpqbCyMio1mdN9CLGDMmC8UKyYsyQrBgzJKvGFDP379+vd9kGTeiUlJTqfA8tKSkJubm5KC0tlchQs7KyoK+vL7WOgYEB7t69K3EsKysLQFUCWT3VMisrS+LaL7YZHx+PZ8+eSby7Z2pqCqBqGigAITF8UadOnXD69Onab/gVRCJRo1slU01NrdH1iRo3xgzJgvFCsmLMkKwYMySrxhAz9Z1uCTTyRVF69uyJyspKYXEUAEhJSUFmZiZsbGyk1rGxsUF8fDwKCgqEY9evX4eGhgY6d+6MFi1awNjYGNHR0cL58vJyYeQNAM6cOYOVK1eivLxcKHP79m0AQIcOHfDs2TP06tUL4eHhEte+c+cOOnbs+M9vnIiIiIiIqB4adUKnr6+PYcOGwcPDA9HR0YiLi4Obmxt69eoFCwsLAFVTJ7Ozs4UplIMGDYKuri4WLVqExMREXLx4Ef7+/nBxcRFG+VxcXLBv3z6cPHkS9+/fx6pVq1BcXCxMlZw4cSLy8vLg6emJlJQUXL58GatXr8bgwYPRuXNnNGvWDLa2tggICEBUVBRSU1MREhKC06dPY8GCBQ3yrIiIiIiI6P3TqFe5BIB169bBx8dHWGGyf//+8PDwEM7funULU6dOxYEDB9C7d2+oqKhgz5498Pb2hpOTE7S0tDBp0iR8+eWXQh0nJyfk5+dj27ZtyM3NRbdu3bBv3z7o6OgAqNp3LiwsDH5+fnB0dISGhgZGjBgh7EsHVO1dFxgYiDVr1iAnJwcmJibYsWMH+vXr946eDBERERERve9EYrFY3NCdoKrpmgCERVgaWmFhIRISEtClS5cGn0NM8oExQ7JgvJCsGDMkK8YMyaoxxYwsuUGjnnJJREREREREtWNCR0REREREJKeY0BEREREREckpJnRERERERERyigkdERERERGRnGJCR0REREREJKeY0BEREREREckpJnRERERERERyigkdERERERGRnGJCR0REREREJKeY0BEREREREckpJnRERERERERyigkdERERERGRnGJCR0REREREJKeY0BEREREREckpJnRERERERERyigkdERERERGRnGJCR0REREREJKeY0BEREREREckpJnRERERERERyigkdERERERGRnGJCR0REREREJKeY0BEREREREckpJnRERERERERyigkdERERERGRnGJCR0REREREJKeY0BEREREREckpxYbuABEREQFPnxXjYcYzXLr1F9RVFfFRzzbQ01FHU3Xlhu4aERE1YkzoiIiIGlhOXhE2hd1A4sOnwrFTlx7gs4864DOHjkzqiIioVpxySURE1IAqK8X4+WaaRDJX7buf7iP97+cN0CsiIpIXTOiIiIgaUG5+Cc5dTan1/PlfUiEWi99hj4iISJ4woSMiImpAlWIxiorLaz1fUFSGSiZ0RERUCyZ0REREDUhTTQk9u+jXen6AlSEUmvCfayIiko7/QhARETUgVRVFTPzYFCrKCjXOGeppolNb7QboFRERyQsmdERERA3MoIU6AhZ9iD7mLaGo0AQaakoYM6AD1s6ywwfN1Rq6e0RE1Ihx2wIiIqIGpqDQBG30m2LReEs8Ly6HSARoaSpDUaHmqB0REdGLmNARERE1EmqqSlBTVWrobhARkRzhlEsiIiIiIiI5xYSOiIiIiIhITjGhIyIiIiIiklNM6IiIiIiIiORUo0/oSkpK4O3tDTs7O1haWmLJkiV48uRJnXXS0tIwe/ZsWFlZwd7eHtu2bUNFRYVEmcOHD2PgwIEwNzfHpEmTEB8fX2t7u3btgqmpaY3jsrRBRERERET0pjX6hM7LywtXrlxBYGAgwsLC8ODBAyxcuLDW8mVlZZg+fToA4NixY/Dy8sLRo0fx1VdfCWVOnjwJX19fuLq6Ijw8HIaGhnB2dpaaKMbFxSEoKKjGcVnaICIiIiIiehsadUKXmZmJiIgIeHh4wNraGubm5vD398eNGzdw69YtqXV++OEHPH78GL6+vujUqRMGDRoENzc3hIWFobS0FAAQHByMKVOmYOTIkejQoQN8fHygpqaG48ePS7RVWFiIZcuWwdrausZ16tsGERERERHR29KoE7rY2FgAgK2trXDM2NgY+vr6uHHjhtQ6MTEx6Nq1K7S0tIRjtra2KCgoQEJCAnJycpCamgo7OzvhvKKiIqytrWu0uWHDBnTq1AmjRo2SOC5LG0RERERERG9Lo07oMjMzoa2tDRUVFYnjenp6yMjI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fv06xGIxHBwcUF5eLnw5ODigpKQEsbGx9epndeJWPUp38+ZNpKamYsyYMf/sARARUaPBhI6IiEhGampqEv/fpEnVP6fVSd4HH3xQo84HH3yA/Px8AICmpiYGDRokTLuMjIyEmpoaBg0aBADIzc0FUJWQde3aVfgaN24cACAzM7Ne/dTU1MSQIUOE9+UiIiJgbGwMS0tLWW6XiIgaMU65JCIiekOaN28OAPj7779rnMvOzpaYJjly5EjMmjULDx8+xLlz5zB48GAhUWzWrBkAICwsDBoaGjXaqp6mWR+fffYZTp48ibi4OPzwww+YPn26LLdERESNHEfoiIiI3hBlZWXo6uri7NmzEscfPXqE3377DVZWVsIxe3t7fPDBBzhw4AD++OMPYbolAFhbWwMAnj59iu7duwtfT548wfbt24URvJdVjxS+yMbGBkZGRvDz80N+fr7EdYiISP4xoSMiInpDRCIR3NzccOXKFSxZsgRRUVGIiIiAs7MztLS04OzsLJRVUFDAsGHDcPToUejr66N3797COVNTU4wcORL/+c9/sGfPHly/fh1Hjx7FsmXL8OTJExgZGUm9frNmzXDz5k3cuHEDYrFYOP7ZZ5/h119/Rd++faGvr//W7p+IiN49JnRERERvkKOjI3bs2IGUlBTMmzcPmzZtgqWlJU6cOAFdXV2JsqNGjUJFRQWGDx9eY3Rt48aNcHZ2xrFjxzBjxgwEBwdj6NCh2Lt3r8SCLC+aM2cOfv/9d8ycOVPY9w4APvzwQ6FvRET07yISv/grPCIiIvrXCQkJwf79+/Hzzz9DWVm5obtDRERvEBdFISIi+pc6efIk7t69iyNHjuDLL79kMkdE9C/EhI6IiOhfKjExEceOHcPHH38MFxeXhu4OERG9BZxySUREREREJKe4KAoREREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGcYkJHREREREQkp5jQERERERERySkmdERERERERHKKCR0REREREZGc+n+sP4TI8LSkqwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "df2[[ 'improvement%_mean', 'novelty', 'date']].sort_values(\"improvement%_mean\", ascending=True)" + "## scatter plot with fit of diff_nll vs novelty | only less wrong\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "sns.set(style=\"whitegrid\")\n", + "m = df2.f.apply(lambda x: '_lw_' in str(x))\n", + "df3= df2[m].copy()\n", + "# df3['diff_nll'] = df3['after_nll'] / (df3['before_nll'] + df3['after_nll'] )\n", + "\n", + "# Create a scatter plot\n", + "plt.figure(figsize=(10, 6))\n", + "sns.scatterplot(x=x, y=y, data=df2_new, hue='model', style='model', palette='deep')\n", + "\n", + "# Fit a regression line\n", + "sns.regplot(x=x, y=y, data=df2_new, scatter=False, color='red')\n", + "\n", + "plt.title(f\"Scatter Plot of {y} vs {x}\")\n", + "plt.xlabel(f\"{x}\")\n", + "plt.ylabel(f\"{y}\")\n", + "plt.show()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "diff_nll 0.029438\n", + "diff (a-b)/a 0.072635\n", + "diff (a-b)/n/a 0.109106\n", + "diff (a-b)/b 0.109907\n", + "diff_ln 0.169196\n", + "diff_nll_ln 0.174941\n", + "diff (a-b)/n 0.174941\n", + "diff 0.280685\n", + "diff (a/b/b) 0.369846\n", + "diff (a/b/b/n) 0.581427\n", + "novelty 1.000000\n", + "Name: novelty, dtype: float64" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df2.select_dtypes(include=np.number).corr()['novelty'].sort_values()" + "df2_new.filter(regex='diff|novelty').select_dtypes(include=np.number).corr()['novelty'].abs().sort_values()" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
unsloth/DeepSeek-R1-0528-Qwen3-8B-bnb-4bit: Correlation of diff features with novelty label
 r_valuep_valuer_squared
feature   
diff (a/b/b/n)-0.1689420.5472410.028542
diff (a-b)/n/a0.1558400.5791610.024286
diff_nll_ln0.1323620.6381840.017520
diff (a-b)/n0.1323620.6381840.017520
diff_ln0.0879430.7553010.007734
diff (a-b)/a0.0625750.8246710.003916
diff (a-b)/b0.0619550.8263830.003838
diff (a/b/b)0.0591720.8340790.003501
diff_nll0.0440610.8760990.001941
diff0.0215740.9391700.000465
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
unsloth/Qwen2.5-Coder-3B-bnb-4bit: Correlation of diff features with novelty label
 r_valuep_valuer_squared
feature   
diff (a/b/b/n)-0.3606300.1866650.130054
diff (a/b/b)-0.1501150.5933430.022535
diff_nll-0.1203380.6692390.014481
diff (a-b)/b-0.1186350.6736810.014074
diff (a-b)/a-0.1096640.6972340.012026
diff-0.0575140.8386720.003308
diff_ln0.0254520.9282570.000648
diff (a-b)/n/a0.0103560.9707800.000107
diff_nll_ln0.0029990.9915360.000009
diff (a-b)/n0.0029990.9915360.000009
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
unsloth/Qwen3-0.6B: Correlation of diff features with novelty label
 r_valuep_valuer_squared
feature   
diff (a/b/b/n)-0.3876120.1534330.150243
diff (a/b/b)-0.2112740.4497280.044637
diff (a-b)/n/a0.1818510.5165670.033070
diff_nll_ln0.1312250.6410970.017220
diff (a-b)/n0.1312250.6410970.017220
diff-0.0721570.7982980.005207
diff (a-b)/a0.0401430.8870480.001611
diff (a-b)/b0.0364050.8975120.001325
diff_ln0.0319740.9099350.001022
diff_nll-0.0251790.9290270.000634
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
unsloth/Qwen3-8B-Base-bnb-4bit: Correlation of diff features with novelty label
 r_valuep_valuer_squared
feature   
diff (a-b)/b-0.1856620.5076640.034470
diff (a-b)/a-0.1772760.5273480.031427
diff (a/b/b/n)-0.1753970.5318040.030764
diff_nll-0.1341230.6336790.017989
diff_ln0.0618320.8267230.003823
diff-0.0452670.8727330.002049
diff_nll_ln0.0281850.9205770.000794
diff (a-b)/n0.0281850.9205770.000794
diff (a/b/b)0.0237200.9331300.000563
diff (a-b)/n/a-0.0046600.9868490.000022
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from scipy import stats\n", + "\n", + "df3 = df2_new[df2_new.f.apply(lambda x: '_lw_' in str(x))].copy()\n", + "for name, group in df3.groupby('model'):\n", + " res_stat = []\n", + " for c in df3.filter(regex='diff').columns:\n", + " x = df3.loc[df3.model == name, 'novelty']\n", + " y = df3.loc[df3.model == name, c]\n", + " slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)\n", + " r_squared = r_value**2\n", + " res_stat.append({\n", + " \"feature\": c,\n", + " \"slope\": slope,\n", + " \"intercept\": intercept,\n", + " \"r_value\": r_value,\n", + " \"p_value\": p_value,\n", + " \"std_err\": std_err,\n", + " \"r_squared\": r_squared\n", + " })\n", + "\n", + " # print(f\"Correlation coefficient (r): {r_value:.4f}\")\n", + " # print(f\"R-squared: {r_squared:.4f}\")\n", + "\n", + " res_stat = pd.DataFrame(res_stat).set_index('feature')[[ 'r_value', 'p_value','r_squared']]\n", + " res_stat.sort_values('r_squared', ascending=False, inplace=True)\n", + " display(res_stat.style.background_gradient(cmap='coolwarm').set_caption(f\"{name}: Correlation of diff features with novelty label\"))" ] }, { diff --git a/nbs/03_get_lesswrong_data.ipynb b/nbs/03_get_lesswrong_data.ipynb index 1a0175e..4bec602 100644 --- a/nbs/03_get_lesswrong_data.ipynb +++ b/nbs/03_get_lesswrong_data.ipynb @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -192,7 +192,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -215,25 +215,48 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 8, "metadata": {}, "outputs": [ { - "name": "stdout", + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fe4e30aeb2614c759ca799709a89f5c3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", "output_type": "stream", "text": [ - "Loaded 9346 posts from cache\n" + "\u001b[32m2025-07-26 11:17:04.797\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mitems_list\u001b[0m:\u001b[36m110\u001b[0m - \u001b[1mStarting from {next_date}\u001b[0m\n", + "\u001b[32m2025-07-26 11:17:04.798\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mitems_list\u001b[0m:\u001b[36m113\u001b[0m - \u001b[1mFetching posts after 2023-01-01\u001b[0m\n", + "\u001b[32m2025-07-26 11:17:05.927\u001b[0m | \u001b[31m\u001b[1mERROR \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mfetch_posts\u001b[0m:\u001b[36m98\u001b[0m - \u001b[31m\u001b[1mFailed to fetch posts: {\"errors\":[{\"message\":\"Expected value of type \\\"JSON\\\", found {excludeEvents: true, view: \\\"old\\\", af: False, limit: 50, karmaThreshold: -10000, after: \\\"2023-01-01\\\", filter: \\\"tagged\\\"}; JSON cannot represent value: False\",\"locations\":[{\"line\":4,\"column\":24}],\"extensions\":{\"code\":\"GRAPHQL_VALIDATION_FAILED\"}},{\"message\":\"Cannot query field \\\"allVotes\\\" on type \\\"Post\\\".\",\"locations\":[{\"line\":40,\"column\":21}],\"extensions\":{\"code\":\"GRAPHQL_VALIDATION_FAILED\"}}]}\n", + "\u001b[0m\n" ] }, { - "data": { - "text/plain": [ - "9346" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" + "ename": "HTTPError", + "evalue": "400 Client Error: Bad Request for url: https://www.lesswrong.com/graphql", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mHTTPError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[8]\u001b[39m\u001b[32m, line 8\u001b[39m\n\u001b[32m 5\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 7\u001b[39m posts = []\n\u001b[32m----> \u001b[39m\u001b[32m8\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mpost\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mtqdm\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgw\u001b[49m\u001b[43m.\u001b[49m\u001b[43mitems_list\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[32m 9\u001b[39m \u001b[43m \u001b[49m\u001b[43mposts\u001b[49m\u001b[43m.\u001b[49m\u001b[43mappend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpost\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 11\u001b[39m cache_file.write_text(json.dumps(posts, indent=\u001b[32m2\u001b[39m))\n", + "\u001b[36mFile \u001b[39m\u001b[32m/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/tqdm/notebook.py:250\u001b[39m, in \u001b[36mtqdm_notebook.__iter__\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 248\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 249\u001b[39m it = \u001b[38;5;28msuper\u001b[39m().\u001b[34m__iter__\u001b[39m()\n\u001b[32m--> \u001b[39m\u001b[32m250\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mobj\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mit\u001b[49m\u001b[43m:\u001b[49m\n\u001b[32m 251\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# return super(tqdm...) will not catch exception\u001b[39;49;00m\n\u001b[32m 252\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01myield\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mobj\u001b[49m\n\u001b[32m 253\u001b[39m \u001b[38;5;66;03m# NB: except ... [ as ...] breaks IPython async KeyboardInterrupt\u001b[39;00m\n", + "\u001b[36mFile \u001b[39m\u001b[32m/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/tqdm/std.py:1181\u001b[39m, in \u001b[36mtqdm.__iter__\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1178\u001b[39m time = \u001b[38;5;28mself\u001b[39m._time\n\u001b[32m 1180\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1181\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mobj\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43miterable\u001b[49m\u001b[43m:\u001b[49m\n\u001b[32m 1182\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01myield\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mobj\u001b[49m\n\u001b[32m 1183\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# Update and possibly print the progressbar.\u001b[39;49;00m\n\u001b[32m 1184\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# Note: does not call self.update(1) for speed optimisation.\u001b[39;49;00m\n", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[6]\u001b[39m\u001b[32m, line 114\u001b[39m, in \u001b[36mGreaterWrong.items_list\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 112\u001b[39m \u001b[38;5;28;01mwhile\u001b[39;00m next_date:\n\u001b[32m 113\u001b[39m logger.info(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mFetching posts after \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mnext_date\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m114\u001b[39m posts = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mfetch_posts\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mmake_query\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnext_date\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 115\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m posts[\u001b[33m\"\u001b[39m\u001b[33mresults\u001b[39m\u001b[33m\"\u001b[39m]:\n\u001b[32m 116\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m\n", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[6]\u001b[39m\u001b[32m, line 96\u001b[39m, in \u001b[36mGreaterWrong.fetch_posts\u001b[39m\u001b[34m(self, query)\u001b[39m\n\u001b[32m 87\u001b[39m res = requests.post(\n\u001b[32m 88\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m.base_url\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m/graphql\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 89\u001b[39m \u001b[38;5;66;03m# The GraphQL endpoint returns a 403 if the user agent isn't set... Makes sense, but is annoying\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 93\u001b[39m json={\u001b[33m\"\u001b[39m\u001b[33mquery\u001b[39m\u001b[33m\"\u001b[39m: query},\n\u001b[32m 94\u001b[39m )\n\u001b[32m 95\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m---> \u001b[39m\u001b[32m96\u001b[39m \u001b[43mres\u001b[49m\u001b[43m.\u001b[49m\u001b[43mraise_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 97\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m requests.exceptions.HTTPError:\n\u001b[32m 98\u001b[39m logger.error(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mFailed to fetch posts: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mres.text\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m)\n", + "\u001b[36mFile \u001b[39m\u001b[32m/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/requests/models.py:1026\u001b[39m, in \u001b[36mResponse.raise_for_status\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1021\u001b[39m http_error_msg = (\n\u001b[32m 1022\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m.status_code\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m Server Error: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mreason\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m for url: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m.url\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 1023\u001b[39m )\n\u001b[32m 1025\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m http_error_msg:\n\u001b[32m-> \u001b[39m\u001b[32m1026\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m HTTPError(http_error_msg, response=\u001b[38;5;28mself\u001b[39m)\n", + "\u001b[31mHTTPError\u001b[39m: 400 Client Error: Bad Request for url: https://www.lesswrong.com/graphql" + ] } ], "source": [ @@ -253,7 +276,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -293,14 +316,14 @@ "df.drop(columns=['emojiReactors'], inplace=True)\n", "for col in ['postedAt', 'modifiedAt']:\n", " df[col] = pd.to_datetime(df[col])\n", - "p_file = Path('output/01greaterwrong.json')\n", + "p_file = Path('output/01greaterwrong.parquet')\n", "df.to_parquet(p_file)\n", "df.info()" ] }, { "cell_type": "code", - "execution_count": 110, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -313,7 +336,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -425,9 +448,16 @@ "df.describe()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "novelty is baseScore normalised to [0, 1]" + ] + }, { "cell_type": "code", - "execution_count": 141, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -470,7 +500,7 @@ }, { "cell_type": "code", - "execution_count": 147, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -567,7 +597,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.0" + "version": "3.11.0rc1" } }, "nbformat": 4, diff --git a/nbs/output/01greaterwrong.json b/nbs/output/01greaterwrong.parquet similarity index 100% rename from nbs/output/01greaterwrong.json rename to nbs/output/01greaterwrong.parquet diff --git a/pyproject.toml b/pyproject.toml index 587c402..ef63c18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,6 +20,7 @@ dependencies = [ "pandas>=2.3.1", "peft>=0.16.0", "python-frontmatter>=1.1.0", + "seaborn>=0.13.2", "tqdm>=4.67.1", "transformers>=4.54.0", ] diff --git a/samples/predictable_numbers.md b/samples/predictable_numbers.md new file mode 100644 index 0000000..f9b3c4c --- /dev/null +++ b/samples/predictable_numbers.md @@ -0,0 +1,132 @@ +--- +title: Predictable Numbers +url: +novelty: 0.5 +date: 2100-01-01 +--- +0 +2 +2 +4 +6 +10 +16 +26 +42 +68 +10 +78 +88 +66 +54 +20 +74 +94 +68 +62 +30 +92 +22 +14 +36 +50 +86 +36 +22 +58 +80 +38 +18 +56 +74 +30 +4 +34 +38 +72 +10 +82 +92 +74 +66 +40 +6 +46 +52 +98 +50 +48 +98 +46 +44 +90 +34 +24 +58 +82 +40 +22 +62 +84 +46 +30 +76 +6 +82 +88 +70 +58 +28 +86 +14 +0 +14 +14 +28 +42 +70 +12 +82 +94 +76 +70 +46 +16 +62 +78 +40 +18 +58 +76 +34 +10 +44 +54 +98 +52 + +These numbers were generated with the following code: + +def fibonacci(n): + a = 0 + b = 1 + + # Check if n is less than 0 + if n < 0: + print("Incorrect input") + + # Check if n is equal to 0 + elif n == 0: + return 0 + + # Check if n is equal to 1 + elif n == 1: + return b + else: + for i in range(1, n): + c = a + b + a = b + b = c + return b + +print(np.array([fibonacci(i) for i in range(100)]) * 2 % 100) diff --git a/samples/random_numbers.md b/samples/random_numbers.md new file mode 100644 index 0000000..224ace3 --- /dev/null +++ b/samples/random_numbers.md @@ -0,0 +1,106 @@ +--- +title: Random Numbers +url: +novelty: 0.0 +date: 2100-01-01 +--- +95 +32 +48 +57 +96 +21 +69 +1 +8 +95 +1 +91 +95 +52 +94 +33 +70 +26 +62 +17 +10 +31 +82 +68 +48 +77 +98 +89 +26 +10 +98 +72 +93 +15 +18 +77 +71 +26 +16 +58 +48 +23 +69 +58 +45 +36 +58 +31 +45 +91 +79 +94 +94 +64 +1 +88 +38 +91 +52 +57 +13 +78 +13 +13 +42 +55 +27 +93 +69 +36 +43 +17 +21 +24 +51 +65 +59 +51 +86 +89 +32 +33 +65 +30 +68 +37 +54 +55 +95 +53 +16 +99 +9 +4 +8 +25 +15 +96 +31 +87 diff --git a/uv.lock b/uv.lock index c4e8182..2d2b5fa 100644 --- a/uv.lock +++ b/uv.lock @@ -231,6 +231,7 @@ dependencies = [ { name = "pandas" }, { name = "peft" }, { name = "python-frontmatter" }, + { name = "seaborn" }, { name = "tqdm" }, { name = "transformers" }, ] @@ -255,6 +256,7 @@ requires-dist = [ { name = "pandas", specifier = ">=2.3.1" }, { name = "peft", specifier = ">=0.16.0" }, { name = "python-frontmatter", specifier = ">=1.1.0" }, + { name = "seaborn", specifier = ">=0.13.2" }, { name = "tqdm", specifier = ">=4.67.1" }, { name = "transformers", specifier = ">=4.54.0" }, ] @@ -2179,6 +2181,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/69/e2/b011c38e5394c4c18fb5500778a55ec43ad6106126e74723ffaee246f56e/safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11", size = 308878, upload-time = "2025-02-26T09:15:14.99Z" }, ] +[[package]] +name = "seaborn" +version = "0.13.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "matplotlib" }, + { name = "numpy" }, + { name = "pandas" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/86/59/a451d7420a77ab0b98f7affa3a1d78a313d2f7281a57afb1a34bae8ab412/seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7", size = 1457696, upload-time = "2024-01-25T13:21:52.551Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", size = 294914, upload-time = "2024-01-25T13:21:49.598Z" }, +] + [[package]] name = "sentencepiece" version = "0.2.0"