diff --git "a/competition/10f_InternLM_best_analysis.ipynb" "b/competition/10f_InternLM_best_analysis.ipynb"
new file mode 100644--- /dev/null
+++ "b/competition/10f_InternLM_best_analysis.ipynb"
@@ -0,0 +1 @@
+{"cells":[{"cell_type":"code","execution_count":1,"metadata":{"application/vnd.databricks.v1+cell":{"cellMetadata":{},"inputWidgets":{},"nuid":"0ea8b46b-839b-445b-8043-ccdf4e920ace","showTitle":false,"title":""},"id":"YLH80COBzi_F"},"outputs":[],"source":["%load_ext autoreload\n","%autoreload 2"]},{"cell_type":"code","execution_count":2,"metadata":{"id":"63B5exAuzq4M"},"outputs":[],"source":["from pathlib import Path\n","\n","try:\n"," from google.colab import drive\n"," drive.mount('/content/drive')\n"," workding_dir = \"/content/drive/MyDrive/logical-reasoning/\"\n","except ModuleNotFoundError:\n"," workding_dir = str(Path.cwd().parent)"]},{"cell_type":"code","execution_count":3,"metadata":{"executionInfo":{"elapsed":368,"status":"ok","timestamp":1719461634865,"user":{"displayName":"Donghao Huang","userId":"00463591218503521679"},"user_tz":-480},"id":"zFulf0bg0H-9","outputId":"debdd535-c828-40b9-efc0-8a180e5830dd"},"outputs":[{"name":"stdout","output_type":"stream","text":["workding dir: /Users/inflaton/code/engd/projects/logical-reasoning\n"]}],"source":["import os\n","import sys\n","\n","os.chdir(workding_dir)\n","sys.path.append(workding_dir)\n","print(\"workding dir:\", workding_dir)"]},{"cell_type":"code","execution_count":4,"metadata":{"application/vnd.databricks.v1+cell":{"cellMetadata":{},"inputWidgets":{},"nuid":"9f67ec60-2f24-411c-84eb-0dd664b44775","showTitle":false,"title":""},"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":589,"status":"ok","timestamp":1719462011879,"user":{"displayName":"Donghao Huang","userId":"00463591218503521679"},"user_tz":-480},"id":"DIUiweYYzi_I","outputId":"e16e9247-9077-4b0c-f8ea-17059f05a1c4"},"outputs":[{"name":"stdout","output_type":"stream","text":["loading env vars from: /Users/inflaton/code/engd/projects/logical-reasoning/.env\n"]},{"data":{"text/plain":["True"]},"execution_count":4,"metadata":{},"output_type":"execute_result"}],"source":["from dotenv import find_dotenv, load_dotenv\n","\n","found_dotenv = find_dotenv(\".env\")\n","\n","if len(found_dotenv) == 0:\n"," found_dotenv = find_dotenv(\".env.example\")\n","print(f\"loading env vars from: {found_dotenv}\")\n","load_dotenv(found_dotenv, override=True)"]},{"cell_type":"code","execution_count":5,"metadata":{"id":"W2QyVreqhOGM","outputId":"68b9590e-1ac6-4c6f-e0c4-e273ec816419"},"outputs":[{"data":{"text/html":["
\n","\n","
\n"," \n"," \n"," \n"," text \n"," label \n"," title \n"," puzzle \n"," truth \n"," internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88 \n"," internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88_lf \n"," \n"," \n"," \n"," \n"," 0 \n"," 甄加索是自杀吗 \n"," 不是 \n"," 海岸之谜 \n"," 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n"," 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n"," 不是 \n"," 不是 \n"," \n"," \n"," 1 \n"," 甄加索有身体上的疾病吗 \n"," 是 \n"," 海岸之谜 \n"," 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n"," 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n"," 是 \n"," 是 \n"," \n"," \n"," 2 \n"," 画作是甄的 \n"," 是 \n"," 海岸之谜 \n"," 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n"," 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n"," 是 \n"," 是 \n"," \n"," \n"," 3 \n"," 甄有心脏病吗 \n"," 是 \n"," 海岸之谜 \n"," 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n"," 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n"," 是 \n"," 是 \n"," \n"," \n"," 4 \n"," 车轮是凶手留下的 \n"," 不是 \n"," 海岸之谜 \n"," 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n"," 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n"," 不是 \n"," 不是 \n"," \n"," \n"," ... \n"," ... \n"," ... \n"," ... \n"," ... \n"," ... \n"," ... \n"," ... \n"," \n"," \n"," 2995 \n"," 哭泣者必须在晚上祭奠吗 \n"," 是 \n"," 甄庄哭声 \n"," 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n"," 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n"," 不重要 \n"," 不重要 \n"," \n"," \n"," 2996 \n"," 尸体在湖里吗 \n"," 不是 \n"," 甄庄哭声 \n"," 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n"," 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n"," 不是 \n"," 不是 \n"," \n"," \n"," 2997 \n"," 哭泣者和死者有特殊关系吗 \n"," 是 \n"," 甄庄哭声 \n"," 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n"," 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n"," 是 \n"," 是 \n"," \n"," \n"," 2998 \n"," 是帽子的主人去世了吗 \n"," 不是 \n"," 甄庄哭声 \n"," 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n"," 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n"," 是 \n"," 是 \n"," \n"," \n"," 2999 \n"," 死者受伤了吗 \n"," 不是 \n"," 甄庄哭声 \n"," 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n"," 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n"," 不是 \n"," 不重要 \n"," \n"," \n","
\n","
3000 rows × 7 columns
\n","
"],"text/plain":[" text label title \\\n","0 甄加索是自杀吗 不是 海岸之谜 \n","1 甄加索有身体上的疾病吗 是 海岸之谜 \n","2 画作是甄的 是 海岸之谜 \n","3 甄有心脏病吗 是 海岸之谜 \n","4 车轮是凶手留下的 不是 海岸之谜 \n","... ... ... ... \n","2995 哭泣者必须在晚上祭奠吗 是 甄庄哭声 \n","2996 尸体在湖里吗 不是 甄庄哭声 \n","2997 哭泣者和死者有特殊关系吗 是 甄庄哭声 \n","2998 是帽子的主人去世了吗 不是 甄庄哭声 \n","2999 死者受伤了吗 不是 甄庄哭声 \n","\n"," puzzle \\\n","0 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n","1 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n","2 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n","3 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n","4 在远离城市喧嚣的海边小屋,一天清晨,邻居发现甄加索僵卧在沙滩上,已无生命迹象。现场没有发现任... \n","... ... \n","2995 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n","2996 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n","2997 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n","2998 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n","2999 在一个安静的夜晚,小村庄的湖边突然传来了阵阵哭泣声。第二天早晨,村长甄锐发现湖边的石头上放着... \n","\n"," truth \\\n","0 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n","1 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n","2 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n","3 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n","4 甄加索是一位热爱自然的画家,他每年都会来到这个海边小屋寻找灵感。在他生命的最后几天,他一直在... \n","... ... \n","2995 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n","2996 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n","2997 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n","2998 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n","2999 原来,这顶破旧的帽子属于一个小男孩,他小时候与爷爷在湖边生活。爷爷教他钓鱼、游泳,还告诉他湖... \n","\n"," internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88 \\\n","0 不是 \n","1 是 \n","2 是 \n","3 是 \n","4 不是 \n","... ... \n","2995 不重要 \n","2996 不是 \n","2997 是 \n","2998 是 \n","2999 不是 \n","\n"," internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88_lf \n","0 不是 \n","1 是 \n","2 是 \n","3 是 \n","4 不是 \n","... ... \n","2995 不重要 \n","2996 不是 \n","2997 是 \n","2998 是 \n","2999 不重要 \n","\n","[3000 rows x 7 columns]"]},"execution_count":5,"metadata":{},"output_type":"execute_result"}],"source":["import pandas as pd\n","\n","df = pd.read_csv(\"results/mgtv-results_internlm_best.csv\")\n","df"]},{"cell_type":"code","execution_count":6,"metadata":{},"outputs":[],"source":["import matplotlib.pyplot as plt\n","from matplotlib import rcParams\n","\n","def plot_value_counts(df, column):\n"," font_family = rcParams[\"font.family\"]\n"," # Set the font to SimHei to support Chinese characters\n"," rcParams[\"font.family\"] = \"STHeiti\"\n"," rcParams[\"axes.unicode_minus\"] = False # This is to support the minus sign in Chinese.\n","\n"," plt.figure(figsize=(12, 6))\n"," df[column].value_counts().plot(kind=\"bar\")\n"," # add values on top of bars\n"," for i, v in enumerate(df[column].value_counts()):\n"," plt.text(i, v + 0.1, str(v), ha=\"center\")\n"," plt.show()\n"," \n"," rcParams[\"font.family\"] = font_family\n"]},{"cell_type":"code","execution_count":7,"metadata":{},"outputs":[{"data":{"text/plain":["['text',\n"," 'label',\n"," 'title',\n"," 'puzzle',\n"," 'truth',\n"," 'internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88',\n"," 'internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88_lf']"]},"execution_count":7,"metadata":{},"output_type":"execute_result"}],"source":["df.columns.to_list()"]},{"cell_type":"code","execution_count":8,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["********** internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88 **********\n","internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88\n","不是 1505\n","是 1140\n","不重要 264\n","问法错误 53\n","回答正确 38\n","Name: count, dtype: int64\n"]},{"data":{"image/png":"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OdxSU1OVmprq7FKBq2aMUfny5VWvXj0lJyerXr16qlevnjIyMrRmzRp5enrqp59+0t13363o6GglJSU5u2Tgmnh7e2v48OEqWLCgvvvuO507d05dunRRjx499MMPPyg6Olre3t7q3r27/Pz81LFjR2eXfNtjjzcAALeJrKPLihYtqi+++EJNmjTRoEGD1KdPHz3wwANOrg64fmlpaXr55ZdVqFAhDRo0SIMGDZIxRr1799Ynn3yiTZs2afr06QoJCVFgYKAOHjyoO+64w9llA1fNx8dHAwYM0B133KGJEyeqfPnyeu211zR06FAtXryY0Rw3III3AAC3ifT0dEnnj/V2c3PTk08+KV9fX4WGhuqXX37hWG/c9AoWLKihQ4cqPT1dgwYNUvfu3e3B+4cfftC8efP03HPPafny5SpSpIj2799P8MZNrWfPnlq8eLH279+vLVu2yBgjFxcXubi4OLs0XISh5gAA3CayznKbFcAlqX379nr22Wf1yCOPKCYmxlmlAXkqNjZWaWlpSklJsff7tLQ0devWTXv37pW7u7t27dqlLVu2OLlS4Pp4enoqMjJSH3zwgeLi4vTKK69IEocL3YAI3gAA3CaSk5MlyX6m5yyjR4+WzWZT9+7dnVEWkOdsNpuOHj0qDw8PJSUlKSgoSImJiZLOB5Xx48dr9uzZGjBggJMrBa7dypUrJUkDBgzQvn37NHfuXM2bN09169aVt7e3kpKS9NNPPyk+Pl4///yzk6sFlxMDAOA2ERERoTZt2mjt2rUKCAhwaJs9e7aWLVumGTNmyNWV3+Vxc3v66acVHR2tJUuWaP369apataq8vb31ySef6JFHHlGVKlWcXSJwXRITE1WiRAklJyfr1KlT8vf3lyQtWbJE/fv316ZNm/T444+rQIECysjIUGJion7//XfnFn2bI3gDAAAZY5Senq4CBQo4uxTguixatEh9+/bV1q1bVb58ed15553q06eP6tevr1GjRmnt2rWqUKGC2rVrpwceeECtW7d2dsnANTlx4oSGDx+uLVu2aNGiRfbzFbRq1Up16tTR2LFjnVwhLkTwBgAAwC0jPT1d+/btU61atfTXX3/p4Ycf1uHDh+Xm5iZJio6O1tSpUzVhwgT16tVLb7zxhpMrBq7P559/rpkzZ2rTpk2Szl/X++mnn9aJEyfs/R7OR/AGAADALevgwYOqVKlStulpaWlyc3Pj0ArcEs6cOaMiRYrY7//xxx+69957nVgRLkbwBgAAwC0hIyNDn3zySa4OmXB1dVXt2rXVrFmzfKgMyHvx8fFas2aNChUqdNkfkNLS0pSWlqY2bdrkY3W4GMEbAAAAtwx3d3fVq1dPHh4el50vMjJSERERiomJYTgubkqRkZEKCgrKdrLMi505c0ZVqlTRP//8k0+VIScEbwAAANwyvLy8dPDgQQUFBV12vv3796t69erat28fZznHTSk2NlaFCxdWfHy8vLy8cpwnOTlZXl5eyszMzOfqcDF3ZxcAAAAA5JUL916npKTo888/l4uLi1xcXJS1v2nQoEEqUqSINm/eTOjGTcvd3V0uLi6Szg87//bbb+0jPZKTk/X000/b+z6cjz3eAAAAuGV4e3vrwIEDCgoKUkpKimw2m5588km5ubnJGKOZM2cqJSVF7u7sf8LNLWtvdnx8vDIyMuTv769+/frJGKOpU6cqNjZWLi4u8vLyUkZGhrPLve0RvAEAAHDLKFiwoHbv3q2qVavKGCM3Nzf7UNz09HQVLFiQYbe4JWT9sBQfHy9PT095eHgoLS1NklSoUCGdO3dOKSkpBO8bBNdPAAAAwC0hPT1dJUqUUFJSkiTZh9lmDbVl2C1uVa6urg59+8JDK3BjYIwNAAAAbgnu7u4KDw+379FOTU2VMUYvvfSSChQoYJ+enp7OUHPc9C4M1snJycrIyNATTzwhY4xSUlKUlJTEGftvIGxxAAAAcEuIj4/XW2+9pVWrVmn79u3KyMjQ66+/Lg8PD7m6uiozM1MjR45kqDluCRkZGfa93MYYTZgwwX528/vvv/+y1/ZG/uMYbwAAANwS+vXrp99++00vvviiunXrJk9PT2eXBFgmNjZWRYoU0d69e2Wz2XKcJyUlRdWqVdORI0cUHByczxXiQgRvAAAA3BJiYmJUqFAhubu7a9u2bXrooYfk7e192WWOHTuWT9UBeeu///5T6dKlc3U8t4uLCydYczKGmgMAAOCWULhwYfv/y5UrpxkzZlzyWO6UlBTFxMTkV2lAnitevLhOnz4tHx+fyx7LnZqaqjNnzuRjZcgJe7wBAAAAALAQR9wDAAAAAGAhgjcAAAAAABYieAMAAAAAYCGCNwAAAHCBuLg4jR8/3tllALiFELxxw/jjjz9UrFgx/ffff7mav1y5cjp9+rSlNb355pv68MMP8+Sxli5dqvvuu0+SVLduXX322WdOqeNSjhw5olq1al3XY2zYsEH169eXr6+vGjRooC1btuR62V9++UWurq5yd3e336KionKcN+sstRfeXF1d1aFDB0nWPl95+djNmzfX77//ftl5Tp8+rWLFisnFxeWK816vrPdUXvQFK2VkZKhZs2YqXLiwVqxYkeeP7+Pjk+ePeTn16tXTmjVr8vVvXqtJkyape/fuSklJUZkyZbRo0aJcL9ujRw/NmzfPwuqktWvXql27dtf1GAsXLlTt2rXl6+urli1bav/+/bledsqUKXJzc7Nvl3LTl44ePZpte+bm5qbAwEAlJSVd0zplvU5S/nxWXqxr166aNm3aZed56aWXVKhQIb311luSru61y+28MTExuuOOO1SsWDH9/fffkqTVq1erQIECV3xtRo0apQMHDuSqntzKyMjQO++8o3LlyqlYsWLq1auXYmNjc7Xs5s2bVaxYMVWrVi1X80+fPl3PPvuspEu/9y78XpIb+fEelhxrt4pV27AjR47o4Ycflq+vrypXrqxZs2Y5tK9du1Z16tSRj4+PGjZsaPnnOm4sBG/cMAoVKqQqVarIZrM5uxRLzJ07V4888ogkqXLlyipevLiTK8pbBw4cUNeuXfXuu+8qKipKL730kjp27Kjjx4/navk9e/bojTfeUHp6uv1WokSJHOd9+umnHeZLTU1V9erVNXLkyLxcpRtC0aJFderUqav6cnSr+/PPP5WQkKDIyEg1aNDA2eVclyNHjujYsWNq1qyZs0vJlaztmLu7u6pUqaIiRYo4u6Q89dtvv2nYsGGaOnWqIiMj1bVrV7Vu3Vrx8fG5Wn7Pnj2aOnWqfduUm+XKli3rsD1LT09X37599cILL1zz5+GFnzf5LTExUb/88os6dux42fkmT56sI0eOWBqw1qxZo8qVK+vo0aOqUKGCJKlFixZKS0u77HK7d+/WvHnzNGbMmDyt591339WGDRu0ceNG7d+/X25uburZs2eulv322281cuRIbdiwIc/qcWY/cTartmHt27fXww8/rJMnT2rlypX64osv7D+sHjt2TN27d9f48eMVExOjjz76SE8//bSio6PztAbcuAjeuGFUqVJFGzdudLgG560iLS1NP//8szp37ixJmjNnjh599FEnV5W3JkyYoGHDhqlly5ay2Wzq1KmTunfvrh9++CFXy+/ZsyfXv+RfbP78+SpTpozq1q17Tcvj5hIXF6eSJUvKw8NDfn5+zi7nusybN0+hoaGXvf7qjSIqKkp//fWXHnzwQbm5uenXX39V06ZNnV1Wnvr44481btw41alTR15eXnrmmWdUv359rVy5MlfLX892LEtERIR+/vlnDRgw4JqWv/B1coalS5eqQYMGV/wsT09PV0BAgAICAiyrJS4uTkFBQfLy8pKXl1eulxs0aJDGjRsnf3//PK3n008/1TfffKNSpUqpSJEi+vzzz7V169ZcXV85Li5OpUqVUtGiRfOklou/l9xurNiGnT59WjExMXrmmWfk6emp8uXLq2fPnva96tu2bVOzZs3UtGlTFShQQI0aNdK9996r9evX51kNuLERvHHDOH36tMqVK2cf5rp37141b95cXl5eqlOnjnbs2CHp/Bcbd3d3HT16VIGBgRo8eLD9MWbNmqUaNWrIw8NDFStW1EcffaSsS9WvXbtWISEhevLJJxUYGKiEhAQ1b95cGzdu1NChQxUQEKASJUro448/zrG+Hj16aNasWRowYIB8fX1VoUIFLVmyRKmpqXr++edVuHBhVaxYUcuWLcu27K+//qoaNWqoZMmSkqR27dpp7dq1knTFGho0aKC3335bI0aMcPgScODAAT388MPy8fFR4cKF1a1bN504ccLeXq5cOX311Vfy8/PTDz/8YB+6tXDhQtWoUUM+Pj7q2LFjjr+0Zg3jmzt3ripWrChfX18999xzyszM1I8//qhq1arJ399fgwcPVkZGhiSpfPny9qHeWYKDgy85XPxie/fuVdWqVXM174WMMXr33Xf1+uuvZ2ubOnWqqlWrJk9PT91555368ccfc/WYK1asUOPGjeXl5aWiRYvqiSee0JEjRxzmmTx5sipUqCBfX1/16tVLycnJDu2fffaZKlWqJJvNprp162rVqlXq0qWL1q5dq4SEBLm7u+u3335TgwYNsj1vuXU9ffJqpKen64033lBwcLC8vLzUvHlz7dq1S3Xq1LE/L82bN9cvv/yirl27ysfHR3fccYe2bt2quLg4PfHEE/L19VXt2rW1fft2h8detWqV6tWrJ09PT1WsWFETJkzQhAkT9Oabb+ZYyx9//KEHHnhAS5cutT+HkpSQkKDnn39exYsXl4+Pjx5++GGF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WVLr1q3T9u3bVb58edWoUUNxcXH66quvsv29QoUKadCgQerVq5fDdHd3dy1btkxJSUmqXbu2ihcvrilTpmjRokX2ftmkSRM9+uijKl++vO666y778Y55tR1r2rSpevfubd/rec899+iHH37Qp59+qoCAAN17771yd3fXkiVLnPJjaWZmph5//HHt2rVLL7/8ssN2rHfv3ldcfsGCBdq9e7dKliypxo0b65577nG4VNnlHDp0SC+88MIl26tUqaLPP/9cr776qgoXLqyOHTuqQ4cO+t///mefJzevU58+ffTWW2/p2WeflZ+fnx5++GE9+OCDmjhx4iWXyU3/u9Qw89q1a2vFihUqWrSo5s6dq08++eSSf6datWras2fPJS/VdLHcPCdX6/nnn1dISIiaNm2qu+++WzVr1tRbb72Vq2WLFi2qb7/9VpMmTbKf36JSpUqaP3++pPN7PkNCQnTy5Ek1b97coX9dyxD8rl276pFHHrEf73z27NlslxTMyeX6yTvvvKMhQ4bo2Weflb+/v+rUqaOzZ89q7dq1uR5JNXPmTJUrV06NGzeWv7+/Ro0apcmTJzuMxLjzzju1evVqrV69WhUrVlSxYsU0YcIEzZo1K9u5UEJCQjRlyhSFhITYz0dRrVo1TZo0Sa+99poKFy6sDh06qG3btg7b8datW2vq1Kl65513VLhwYTVt2lRlypTRggULcn2o08Uu3oZdrFixYlqwYIE+/fRTFSlSRK1bt1azZs30/vvvSzr/mTdy5Eg99dRT8vf313PPPadx48ZlGy2DW5eLuZaDEQFcUUZGhkqWLKk//vgj20lAANz6jDGqXLmyfvnlF4fhxp9++ql2796dY3C+0URHR6tSpUo6ceLEde/xhnWc/TotWrRIn332mX799dd8/9s3giNHjqhdu3YOe2VvRLfC95K1a9fqww8/1OLFi51dCnDV2OMNWOT06dMaOXLkTfvhlpceeOABh1/3L7xdeEw6rMXrkL9++eUXVaxYMdsxvoGBgXr++eedVNXVOX36tD799FNCt86f4fhS75/Y2NhLLnf06NFLLpfbY8ivxNmvU9bhXnllxowZl3zOhg8fnmd/J7d+++23S9ZzpXO45EZ+9BGJ7yWAs7HHGwAAC3Tu3FlPPPFEnnwxB3Djuln2eN8K2OONmxnBGwAAAAAACzHUHAAAAAAACxG8AQAAAACwEMEbAAAAAAALEbwBAAAAALAQwRsAAAAAAAsRvAEAAAAAsBDBGwAAAAAACxG8AQAAAACwEMEbAAAAAAAL/R9zIOih3F5lXAAAAABJRU5ErkJggg==","text/plain":[""]},"metadata":{},"output_type":"display_data"},{"name":"stdout","output_type":"stream","text":["********** internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88_lf **********\n","internlm/internlm2_5-7b-chat-1m_llama-factory/saves/internlm2_5_7b/lora/sft_bf16_p2_full/checkpoint-88_lf\n","不是 1480\n","是 1105\n","不重要 321\n","问法错误 52\n","回答正确 42\n","Name: count, dtype: int64\n"]},{"data":{"image/png":"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EMEbAAAAAAALEbwBAAAAALAQwRsAAAAAAAsRvAEAAAAAsBDBGwAAAAAACxG8AQAAAACw0DUF7/vvv1+urq567733HKZv3LhRd955p2w2m+rVq6dt27Y5tH/++ecqU6aMvL29FRoaqsjISHtbWlqannnmGRUuXFgBAQF64YUXlJ6efi3lAQAAAABww7im4L1mzRqNHj3aYVpkZKRCQ0M1evRoxcbG6tVXX1WHDh0UEREhSVqxYoXGjRunpUuX6syZM6pVq5ZCQ0Pty48aNUoHDhzQvn37tG/fPu3du1ejRo26jlUDAAAAAMD58myo+fTp0/Xoo4+qU6dOKlCggDp27KiePXtqypQpkqSJEyfq/fffV506dWSz2TR27FhlZmZq9erVSk1N1bRp0/TVV1+pePHiCgwM1MyZM/XFF18oISEhr0oEAAAAACDf5VnwXr9+vTp06OAwrUuXLlq1apWMMdq6datCQkJybN+1a5eqV6+uoKAge1tAQIAaNGigTZs25VWJAAAAAADkuzwL3sePH1elSpUcplWtWlVHjhxRVFSU/P395enpmWN7Tste2J6TlJQUxcbGOtwAAAAAALjR5FnwTkpKkpeXl8M0m82mpKSkHNuupj0n48ePl5+fn/0WHBycNysCAAAAAEAeyrPgbbPZlJyc7DAtKipKXl5eObZdTXtOXn75ZcXExNhv4eHhebMiAAAAAADkoTwL3mXKlFFYWJjDtLCwMFWoUEEBAQE6d+6c0tLScmzPadkL23Pi4eEhX19fhxsAAAAAADeaPAveTZs21YoVKxymzZ8/X61atZKLi4vq1q2r1atX59h+5513au/evYqOjra3nT17Vlu3blXjxo3zqkQAAAAAAPJdngXvvn376uuvv9ZPP/2k9PR0LV26VN99950GDx4sSRo+fLiGDRumffv2KTk5WWPHjpXNZlPz5s1VsGBB9e7dW/3791dUVJTOnDmjPn366KmnnrrkUHMAAAAAAG4GeRa8ixcvrnnz5unll1+Wj4+PXnvtNS1atEjFihWTJLVt21bDhg1T69atVaRIEe3YsUMLFiywL//GG2+oRIkSqlixoqpUqaLKlSvrtddey6vyAAAAAABwChdjjHF2EXkhNjZWfn5+iomJuemO9y730jJnl3DbOfp2yJVnQp6in+c/+jkAAIC1cptD82yPNwAAAAAAyI7g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2r9/v+644w5nlwXkm7S0NB04cECVKlW65I+tyB+MDQYA4Dbh7e0tY4y8vLwcpg8cOFDffPONChUq5KTKAGsMHTpUPj4+kiRPT09CN247BQoUUM2aNQndNwCCNwAAtwkPDw+5uLg4DK995plnNH/+fP3666/q06ePE6sD8k5GRoaOHDkiSYqNjZWvr68iIiIc5jlx4oTCw8OdUR6QZ4oUKZJtWpcuXbRu3TonVIPLIXgDAHCbyDoG0N39/LlVFy5cqBkzZmj58uVq1qyZM0sD8lRsbKwqV66s9PR0eXl5KT4+3mFExxdffKFatWrptddec16RQB7w9/eXMUbHjx+XJCUlJWn58uXZrkQE5+MYbwAAbhMZGRkqUKCAZs6cqR49eigjI0O///67GjRo4OzSgDyVlpYmHx8f++WW3N3dlZycrPj4ePXp00fLly9XpUqV9McffzAEFzetuLg4Va5cWQULFlTNmjX1008/acaMGRo3bpy2bdumXr16yc3NTcYY+fv7a8aMGc4u+bbG5cQAALjNDB06VB988IH9DLeTJ092aE9PT9e5c+e0fPlyZ5QHXJfExER5eXk5HFLh6uoqd3d3hYeHKz09XZs3b1b79u0J3bhpRUZGqkmTJpKkFStWqEaNGoqOjtbo0aM1ZMgQubi4aMOGDfrggw/08ssva8qUKU6uGAw1BwDgNuLi4qL9+/erfv36mj17trZs2aK0tDSHW2pqqlJTU51dKnDVjDEqX7686tevr+TkZNWvX1/169dXRkaG1qxZI09PT/3444+66667FBUVpaSkJGeXDFwTb29vPffccypYsKC+++47xcXFqUuXLurVq5fmzp2rqKgoeXt7q2fPnvLz81PHjh2dXfJtjz3eAADcJrKOLitatKimTp2qpk2basiQIerXr59atmzp5OqA65eWlqaXXnpJhQoV0pAhQzRkyBAZY9S3b199+OGH2rRpk7766iuFhIQoKChIhw4dUu3atZ1dNnDVfHx8NGjQINWuXVuTJ09W+fLl9eqrr+rZZ5/V0qVLGc1xAyJ4AwBwm0hPT5d0/lhvNzc39ejRQ76+vgoNDdUvv/zCsd646RUsWFDPPvus0tPTNWTIEPXs2dMevOfOnav58+fr6aef1ooVK1SkSBHt37+f4I2bWu/evbV06VLt379fW7ZskTFGLi4ucnFxcXZpuAhD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mDBBQ4YMkbe3t8P0TZs2qUmTJrLZbCpTpozeeustZWZmZlv+4tcpp/Y77rhDHh4eKl++vN59913752TW5+/LL78sHx8fhYeHS7py/7vQxXtRX3vtNRUuXFhVq1a1f+75+/vb32dZn28Xvq//+OOPXD1Xl3tOFi5cqL59+2rKlCn27wy58c0338jDw0PdunXL1fzS/z9ve/bsUatWreTt7a0SJUpoxIgRSklJkSTFx8erX79+DiO53N3dVaJEiSv2r6FDh9rfP5UqVZKU86FKVzNc/+LvJVlmz56tu+66S56enipRooQGDhzocKhCZmam3nrrLZUsWVKFCxfWiBEjHPphWlqaXn31VZUqVUqenp6qV69ejp9BBw4cUOfOnVW4cGEVKlRILVq0sPePi7344otq0KCBzp49a1/H9evXq2HDhrLZbCpfvrwmTJhg78dZfvvtNzVu3Fienp4qWbKkXnrpJaWmptrb82IbdqGiRYsqODhYEyZMUFJSkvbt26ePP/7Y/po3adJE69ev108//aTU1FT9/PPP+vHHHy85ui8n19qvcRMwQD46ffq0KVu2rAkLCzNBQUGmbt26ZsuWLSYxMdFMmzbNlC5d2qSmptrnL1u2rDl9+rT9/meffWaaNGli/vzzT5Oammp2795t2rRpY55//nljjDFr1qwxNpvNvPnmmyY5OdkYY8x9991n7rzzTvPee++ZxMRE89dff5kKFSqY5cuXG2OMGTNmjHn33XeNMcb07NnTlC9f3nz88ccmKSnJ/Prrr6ZIkSKmV69eZtKkSSYpKcn89ttvJjAw0MTHxzusW+/evc1HH31kvx8SEmLWrFmTqxoursMYY8LDw0358uXNd999ZxISEsyZM2fM22+/bapUqWJiYmLsz0/Tpk3NmTNnTEZGhpkxY4apWbOmad26tQkPDzdnz541/fv3N127djXGGBMWFmZq1qxpf65Kly5t2rdvb06cOGEiIiJMo0aNzIABA0z79u3NyZMnzalTp8y9995rvvrqq0u+pm3atDFz587Nzctv/Pz8TPny5U2RIkVM586dTWRkZK6WW7x4sWnRooXDtDFjxpiqVauarl27mgMHDpiEhASzbNkyU7p0afPtt99e9vG+++47U7ZsWbNo0SITFxdnzp49ayZNmmSCg4PN2bNnzZgxY0zt2rXN448/bk6dOmUiIiLMww8/bF588UX7Y4wcOdLceeed9v67adMmU7duXVOxYkX7627M+dd++/btuVrPnOa9nj6Zk6z31IV9wRhjevToYVq0aGF2795tEhISzIoVK0ydOnVMiRIlTFhYmL2+qlWrmu+++86kpKSYWbNmmbJly5rOnTubefPmmZSUFDN37lxToUIF++OuWLHCFC9e3MybN8/ExcWZQ4cOmS5dupjq1aubMWPGXLLONWvWmJCQEPv99PR0c99995lHH33UHDp0yMTFxZnvv//e3Hnnncbb29s+X2ZmpgkJCTEdO3Y0f//9t0lNTTX79+83jzzyiOnXr599vguXMcaYsWPHmjp16pjNmzebxMRE89tvv5mqVauaiRMn2uu5cNuSmZlpKlasaA4dOmR/jP/++y/bNuzYsWOmWLFiJj093RhjzE8//WTatm1r4uPjzQ8//GCWLFlijDHmxIkTplSpUuatt94yp06dMpGRkWbs2LGmZs2a5r777jPGGHP48GFTqVIlk5GRYX/8CRMmmGeffdb+HDVr1syMHj3anD592iQkJJgFCxaY0qVLm99//90YY8yIESPM66+/buLi4sz777/vUL8xxtx///1m8eLF9vs1a9a0v/5ly5Y19evXNzNnzjTJyclm/fr1pmjRoubvv/+2z9+zZ08zb948+/2dO3eaChUqmJUrV5rk5GRz8uRJM3z4cNOwYUP7c+Lm5mY6duxo365lvf+6detmTp8+bSIiIkxISIj9/Xdh35gxY4YpW7as6dWrl4mKirI/R4MHDza9e/c2Z8+eNUePHjXVqlUza9euNTlJT083NWrUMNu2bcux/ULR0dHG1dXVlC9f3hQrVsz07dvXxMXFXXG5C0VERJiSJUva1zdrncqWLWsaNGhgNm7caBITE83OnTtNkyZNzKBBg7I9xsWv04WflTNnzjRly5Y1K1euNAkJCWbHjh2mYcOGZujQocaY858DNpvNDBgwwCQkJBhjctf/siQmJhp/f38TFRVljDHmn3/+MXfccYeJjo42a9euNTNmzLDPe/H77OL39eXk9jmZMWOGGTJkSI6PcfHfN8aYuLg4ExQUZEqUKGF8fX3N//73P5OYmHjFesLCwkyxYsXMnXfeaZYtW2YSEhLM/v37TYcOHUz79u0vudyxY8dM8eLF7d9JLufi909OnwkX9/+sdb94WWOyfy8xxph33nnH1KpVy6xevdokJiaaiIgI8/rrr5uaNWuatLQ007NnT1O7dm0zfPhwExMTY8LCwkyDBg3MlClT7I/x+OOPmyeffNKcOHHCJCcnm19++cVUrlzZ/Pjjj/Z59u/fb0qWLGkmTpxoIiIiTHJyslm6dKkpX768Wbdunb32jIwMM2DAANOiRQv7e2nNmjWmfPny5p577jHr1683iYmJZseOHaZx48YOr/WqVatM8eLFzffff2/i4uLMvn37TPv27U2HDh3s81zvNiwnBw8eNIUKFTKSjCTTtGlTh+3A999/b2+TZH/vXcmFr/fl+jVuXgRv5KsLg7cks2XLFof2evXqOXz5ufDLRHJysildurRDEDfGmJSUFFO6dGlz6tQps2bNGuPv7+/wxfe+++4zAwcOdFhm8uTJZvDgwcaY7MH70UcfdZj3gQceMI899pjDtHbt2pl169bZ76elpZmiRYuaEydO2KddHLwvV8PFdRhjzODBgx0+6LI8++yz5oMPPrA/PxeG3hkzZpiAgACHABYTE2P8/f1NZmZmtuDt6elpoqOj7fPOmTPH2Gw2c/bsWfu0uXPnmj59+mSrI+vv3XHHHSYtLS3H9gslJSWZhQsXmujoaHPu3DkzatQo06RJkysuZ8z5fnFhmDXm/PNVt25dhxBijDFbt241pUqVyjY9S2pqqilVqpTZvXt3trb//vvP/tg1atQwmZmZ9rZ9+/aZGjVqGGOMOXnypAkMDDQREREOy4eHh5tChQrlefC+lj55KTkF723btpkKFSpk+/K5Y8cO4+rq6hC8R4wY4TBPlSpVzEsvveQwrUaNGub48eP2/69YscKhPT093dStW/eqgvfcuXNN48aNHV4TY87/KHPhb8iLFi0yTZs2zfb6Z2RkOPzQc+EX8v/++88EBgaakydPOixz5MgRU7RoURMdHZ3jtmX8+PHmhRdesN8fN25ctufi/fffN08++aT9/s8//2w6duyYbT0GDx6cbVljzr/fLww+7du3N8uWLbOv04Xhf+7cufYf2S60ePFi8/DDDxtjjHnllVfs24+LnTp1yhQuXNghIFz8pfXtt992WOaFF14wEyZMsN+/+Etru3btHH5gzBIaGmoWLlxojDFGksN2P6f33549e+zvv4uDx8U/dowbN86ULl3aYbs0YcIE88Ybb+S43mPGjMl1GIyIiDA///yz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rtTUVP35559q166dihYtes2/KF+v1atXq3LlyipduvR1Pc6F6ypJr776qiZNmqQvvvhCsbGxOnPmjMaMGaMZM2bYz3ia3zIyMtS1a1fde++9OQ6VvJSCBQvK399fQ4YMUXR0tP7991/17NlT9erVsw+TzcnYsWMve93uggULqlOnTtq/f78SExO1dOlSdenSRR988MEl+4Onp6fGjx+vDh066IcfflBcXJyio6P10UcfqXHjxjp37twV1ycoKEiDBw/Wgw8+qK1btyo5OVmbN29Wp06dsn24Xvy63ojuueceNWvWTA899JD+/vtvJSUlaeXKlerXr991f1mYOHGievfurXnz5ikhIUGHDx/WY4895nDW2dwIDQ2VzWZTt27ddOTIEcXHx2vu3Ll68803HYaad+nSRd7e3urQoYP+/vtvpaena9++fercubPGjBljn88YYw/xpUqVUp8+fdS+fXvt3LlTycnJ2rRpkx588EE999xzl70GbPPmzXX27Flt2rRJDz/8sEPbvHnzsg2p//bbbzV37lwlJiZqxYoVKlu2rCTplVde0ezZszVu3DidOXNGp0+f1ptvvmm/NuyFevbsqV9++UUDBw50GFXQpUsXnTt3Ts8++6z+++8/JSYm6ttvv1W/fv1Up04dSefPPv3HH3/o7Nmz2rhxo/3v//DDD2rbtq08PT1z9XpcysX9fdy4cXruuee0cOFCJSYm6sSJExo4cKC2bNly2UNzrBQfH6/27dvrmWeeybbn9nJKlSqlf//9VyNHjlRCQoIOHTqkRx55RH379s3V8/bJJ5/oscceu2TACw4OVteuXbVu3TolJSVp586dateunTp16mS/fNmVXicPDw+9+eabeuihh7Ru3TolJyfrr7/+Uvv27dWuXTvVqFEjx+Vy2/9y6tNr167V5MmTlZiYqOXLl9v7VE6udnuYm+fkag0ePFh9+/ZVWFiYIiMj1atXLw0YMCBXI3SKFSumQYMGafny5UpMTLSftbtkyZL2qxzs3btX3bt3t18x5HqEhITo7bff1oEDB5SUlKTx48c7XAnhUi71vaRUqVIaNGiQHnjgAa1evVpJSUmKiIjQqFGj1LZt21ztDW/YsKGqV6+uHj166OjRo0pJSbGPgsjazkjS22+/rTfeeEPvvfeeIiMjlZKSoh9//FENGjRw+IG1U6dOmjx5stq0aaO///7bPj0oKEiPPPKINmzYoOTkZO3cuVMhISF66KGH7CMWJk6cqB49eth/gD106JAee+wxBQYG5njVidy4Uh/t1auXvvnmG33//fdKTEzUwYMH9eijj6pv375yc3PTs88+q6efflpbtmxRSkqK1q1bp6FDh2rIkCHXVA9uLQRv3NDuv/9+VapUSZs3b5YkDRo0SEOHDlXPnj1VqFAhde7cWZ07d7YPWXSG+fPnX3F4Zm40atRI48aNswfa4OBgrVy5UosWLVLJkiVVpUoVHT58WGvXrs12CZr88vTTT2vFihWaOnWqw/Criy/Nk5Np06YpIyNDFStWVM2aNeXl5aXp06dfcv64uDgFBATooYceuuQ83bp1U9euXfXwww+rcOHCGjVqlD799NMrvh79+vXTRx99pDfffFOBgYGqWrWqduzYofXr1+f6mq6vvfaa+vXrpx49esjf31/PPvusPvzwQ4cvHtL5YNayZctcX+vcWb788kvde++9evDBBxUQEKD33ntPs2bNynYZmqvVqlUrzZkzR++//74CAgLUpk0bPfjgg9mOhb4SV1dXLVmyRMWLF1ejRo0UFBSk77//XosWLXIIIW5ublq+fLmqVaumNm3ayMfHR506dVKzZs00adIk+3yNGzeWn5+fTpw4Ien8UNms/uTr66vevXvrqaee0ogRI65Y24MPPqgnnnjC4TjjkydP6uDBg2rRooXDvI0aNdInn3yiokWL6p9//rH/GFCiRAmtW7dO27dvV/ny5VWjRg3Fxsbqiy++yPb3ChUqpCFDhqhPnz4O093d3fXTTz8pKSlJderUUbFixTRt2jQtXrzY3i+bNm2qRx99VOXLl9edd95pP94xr7ZjzZo1U9++fe17Pe+++27NnTtXH330kQICAnTPPffI3d1dy5Ytc8qPpZmZmXr88ce1a9cuvfTSSw7bsb59+15x+YULF2r37t0qUaKEmjRporvvvtvhUmWXc/jwYT3//POXbK9SpYo+/fRTvfLKKypcuLA6duyoDh066OOPP7bPk5vXqV+/fnr99df11FNPyc/PTw899JAeeOABTZ48+ZLL5Kb/XWqYeZ06dbRy5UoVLVpU8+bN04cffnjJv1OtWjXt2bPnkpdqulhunpOr9cwzzygkJETNmjXTXXfdpZo1a+r111/P1bJFixbVt99+qylTptjPb1GpUiUtWLBA0vk9nyEhITp16pSaN2/u0L+uZQh+165d9cgjj9iPdz537ly2Swrm5HL95M0339SwYcP01FNPyd/fX3Xr1tW5c+e0du3aXI+k+uabb1SuXDk1adJE/v7+Gj16tD7//HOHkRh33HGHVq9erdWrV6tixYoKDAzUpEmTNGvWrGznQgkJCdG0adMUEhJiPx9FtWrVNGXKFL366qsqXLiwOnTooHbt2jlsx9u0aaPp06frzTffVOHChdWsWTOVKVNGCxcuzPWhThe7eBt2scDAQC1cuFAfffSRihQpojZt2ujee+/VO++8I+n8Z97IkSP1xBNPyN/fX08//bQmTJiQbbQMbk8u5loOVAQg6fwe4BIlSuiPP/7IdhIQALc+Y4wqV66sX375xWG48UcffaTdu3fnGJxvNFFRUapUqZL++++/697jDes4+3VavHixPvnkE/3666/5/rdvBEePHlX79u0d9sreiG6F7yVr167Ve++9p6VLlzq7FCBPsccbuA5nzpzRyJEjb9oPt7zUsmVLh1/3L7xdeEw6rMXrkL9++eUXVaxYMdsxvkFBQXrmmWecVNXVOXPmjD766CNCt86f4fhS75+YmJhLLnfs2LFLLpfbY8ivxNmvU9bhXnll5syZl3zOnnvuuTz7O7n122+/XbKeK53DJTfyo49IfC+5kfXt2/eSfeDHH390dnnIB+zxBgDgGnXu3FndunXLky/mAG5cN8se71sBe7xxqyJ4AwAAAABgIYaaAwAAAABgIYI3AAAAAAAWIngDAAAAAGAhgjcAAAAAABYieAMAAAAAYCGCNwAAAAAAFiJ4AwAAAABgIYI3AAAAAAAWIngDAAAAAGCh/wMLIa01ZX+CeQAAAABJRU5ErkJggg==","text/plain":[""]},"metadata":{},"output_type":"display_data"}],"source":["for col in df.columns[5:]:\n"," print(\"*\" * 10, col, \"*\" * 10)\n"," print(df[col].value_counts())\n"," plot_value_counts(df, col)"]},{"cell_type":"code","execution_count":9,"metadata":{},"outputs":[],"source":["import pandas as pd\n","import numpy as np\n","from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score\n","\n","\n","def calc_metrics_for_col(df, col):\n"," y_true = df[\"label\"]\n"," y_pred = df[col]\n","\n"," accuracy = accuracy_score(y_true, y_pred)\n"," precision = precision_score(y_true, y_pred, average=\"weighted\", labels=np.unique(y_pred))\n"," recall = recall_score(y_true, y_pred, average=\"weighted\", labels=np.unique(y_pred))\n"," f1 = f1_score(y_true, y_pred, average=\"weighted\", labels=np.unique(y_pred))\n","\n"," return accuracy, float(precision), float(recall), float(f1)"]},{"cell_type":"code","execution_count":10,"metadata":{},"outputs":[{"name":"stderr","output_type":"stream","text":["/var/folders/7x/56svhln929zdh2xhr3mwqg4r0000gn/T/ipykernel_76471/4138294296.py:9: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n"," perf_df = pd.concat([perf_df, pd.DataFrame([new_model_metrics])], ignore_index=True)\n"]},{"data":{"text/html":["\n","\n","
\n"," \n"," \n"," \n"," run \n"," accuracy \n"," precision \n"," recall \n"," f1 \n"," \n"," \n"," \n"," \n"," 0 \n"," checkpoint-88 \n"," 0.783667 \n"," 0.809455 \n"," 0.783667 \n"," 0.794048 \n"," \n"," \n"," 1 \n"," checkpoint-88_lf \n"," 0.775000 \n"," 0.814224 \n"," 0.775000 \n"," 0.790234 \n"," \n"," \n","
\n","
"],"text/plain":[" run accuracy precision recall f1\n","0 checkpoint-88 0.783667 0.809455 0.783667 0.794048\n","1 checkpoint-88_lf 0.775000 0.814224 0.775000 0.790234"]},"execution_count":10,"metadata":{},"output_type":"execute_result"}],"source":["import pandas as pd\n","\n","perf_df = pd.DataFrame(columns=[\"run\", \"accuracy\", \"precision\", \"recall\", \"f1\"])\n","for i, col in enumerate(df.columns[5:]):\n"," accuracy, precision, recall, f1 = calc_metrics_for_col(df, col)\n"," new_model_metrics = {\"run\": col.split(\"/\")[-1], \"accuracy\": accuracy, \"precision\": precision, \"recall\": recall, \"f1\": f1}\n","\n"," # Convert the dictionary to a DataFrame and concatenate it with the existing DataFrame\n"," perf_df = pd.concat([perf_df, pd.DataFrame([new_model_metrics])], ignore_index=True)\n","\n","perf_df"]},{"cell_type":"code","execution_count":11,"metadata":{},"outputs":[{"data":{"image/png":"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doQmAAAAAADUwaXmw0DTdbnvHaEJAAAAAACACUITAAAAAAAAE3WaCDYjI0Mvv/yySkpKFBYWpqVLlyoyMtK07cqVKxUfH2+3ztPTU2fOnKnLqQEAAAAAaJJCpq9v1PMdXjCsUc93LXJ4pEl2drYSExOVkpKinTt3KiwsTLGxsbbH9Zjx9fXVsWPHbMuRI0euqGgAAAAAAND8XWoiVmdzODRJS0vT+PHjFR8fr169eikzM1M+Pj7Kysq64D4Wi0UBAQG2xd/f/4qKBgAAAAAAjtuwYYNuu+02tW7dWtdff73+z//5Pzp48KBt+9dff63Ro0erTZs2atGihSIiIvTJJ5/Ytv/P//yPfvOb38jLy0tt27bVvffea9tmsVj0zjvv2J2vdevWWrlypSTp8OHDslgsys7O1qBBg+Tl5aU33nhD3377rUaPHq2OHTvKx8dHoaGhevPNN+2OY7Va9dJLL6lbt27y9PRUcHCw5s2bJ0kaPHiwEhIS7NofP35cHh4eysnJuaLfl0OhSXV1tfLz8xUTE/PzAVxcFBMTo7y8vAvud+rUKXXq1ElBQUG655579OWXX170PFVVVaqoqLBbAAAAAADAlamsrFRiYqJ27NihnJwcubi46N5775XVatWpU6c0aNAgffPNN3rvvff02Wef6dlnn5XVapUkrV+/Xvfee6+GDh2qXbt2KScn54JTdVzM9OnTNXnyZBUWFio2NlZnzpxRv379tH79eu3evVuPPfaYxowZo+3bt9v2SUpK0oIFC5ScnKw9e/Zo9erVtgEZ48aN0+rVq1VVVWVr//e//10dO3bU4MGDr+j35dCcJidOnFBNTU2tkSL+/v7au3ev6T49evRQVlaWevfurfLyci1cuFADBgzQl19+qRtuuMF0n9TUVD3//POOlAYAAAAAAC5h5MiRdq+zsrLUrl077dmzR1u3btXx48f16aefqk2bNpKkbt262drOmzdP999/v93n9bCwMIdrmDJliv7whz/YrXv66adtPz/55JP64IMP9NZbbykyMlI//PCDlixZoldffVVxcXGSpK5du+q2226TJP3hD39QQkKC3n33Xd13332Szs2v+vDDD1/xY6Eb/Ok5UVFRGjt2rMLDwzVo0CCtXbtW7dq102uvvXbBfZKSklReXm5bjh492tBlAgAAAABw1du/f79Gjx6tLl26yNfXVyEhIZKk4uJiFRQUqE+fPrbA5NcKCgp0xx13XHENERERdq9ramo0Z84chYaGqk2bNmrZsqU++OADFRcXS5IKCwtVVVV1wXN7eXlpzJgxtmlDdu7cqd27d+vhhx++4lodGmnStm1bubq6qrS01G59aWmpAgICLusY7u7u6tOnjw4cOHDBNp6envL09HSkNAAAAAAAcAnDhw9Xp06dtHz5cnXo0EFWq1W33HKLqqur5e3tfdF9L7XdYrHIMAy7dWYTvbZo0cLu9csvv6wlS5YoPT1doaGhatGihaZMmaLq6urLOq907had8PBwff311/rrX/+qwYMHq1OnTpfc71IcGmni4eGhfv362U2kYrValZOTo6ioqMs6Rk1Njb744gsFBgY6VikAAAAAAKizb7/9VkVFRZo5c6buuOMO9ezZU99//71te+/evVVQUKDvvvvOdP/evXtfdGLVdu3a6dixY7bX+/fv1+nTpy9Z15YtW3TPPffooYceUlhYmLp06aJ9+/bZtnfv3l3e3t4XPXdoaKgiIiK0fPlyrV69Wo888sglz3s5HL49JzExUcuXL9eqVatUWFioJ554QpWVlYqPj5ckjR07VklJSbb2L7zwgj788EN99dVX2rlzpx566CEdOXJE48aNq5cOAAAAAACAS7vuuut0/fXX6/XXX9eBAwe0ceNGJSYm2raPHj1aAQEBGjFihLZs2aKvvvpK//znP20PfklJSdGbb76plJQUFRYW6osvvtCLL75o23/w4MF69dVXtWvXLu3YsUOPP/643N3dL1lX9+7d9dFHH2nr1q0qLCzUn/70J7s7XLy8vDRt2jQ9++yz+tvf/qaDBw9q27ZtWrFihd1xxo0bpwULFsgwDLun+lwJh0OTUaNGaeHChZo1a5bCw8NVUFCgDRs22CaHLS4utkuWvv/+e40fP149e/bU0KFDVVFRoa1bt6pXr1710gEAAAAAAHBpLi4uWrNmjfLz83XLLbdo6tSpevnll23bPTw89OGHH6p9+/YaOnSoQkNDtWDBArm6ukqSoqOj9fbbb+u9995TeHi4Bg8ebPeEm0WLFikoKEi33367HnjgAT399NPy8fG5ZF0zZ85U3759FRsbq+joaFtw80vJycl66qmnNGvWLPXs2VOjRo1SWVmZXZvRo0fLzc1No0ePlpeX1xX8pn5mMX59w1ETVFFRIT8/P5WXl8vX19fZ5aAehExf7+wSGsVhrwecXUKjCO0c7OwSGsVbqT85u4RG0XNvobNLAHARXEOvLlxDry5cQ68uF/sceubMGR06dEidO3eutw/nuHKHDx9W165d9emnn6pv374XbXu576FDE8ECAAAAAAA0JWfPntW3336rmTNn6tZbb71kYOKIBn/kMAAAAAAAQEPZsmWLAgMD9emnnyozM7Nej81IEwAAAAAA0GxFR0fXetRxfWGkCQAAAAAAgAlCEwAAAAAAABOEJgAAAAAAACYITQAAAAAAAEwQmgAAAAAAAJggNAEAAAAAADBBaAIAAAAAABpEbm6uLBaLTp48Wa9tG4ubswsAAAAAAOCqMNuvkc9X3rjnq4MBAwbo2LFj8vO79O/GkbaNhZEmAAAAAACglurq6is+hoeHhwICAmSxWOq1bWMhNAEAAAAA4BoQHR2thIQEJSQkyM/PT23btlVycrIMw5AkhYSEaM6cORo7dqx8fX312GOPSZI2b96s22+/Xd7e3goKCtKkSZNUWVlpO25VVZWmTZumoKAgeXp6qlu3blqxYoWk2rfcHDlyRMOHD9d1112nFi1a6Oabb9b7779v2laS/vnPf+rmm2+Wp6enQkJCtGjRIrs+hYSEaP78+XrkkUfUqlUrBQcH6/XXX6+33xmhCQAAAAAA14hVq1bJzc1N27dv15IlS5SWlqa//OUvtu0LFy5UWFiYdu3apeTkZB08eFB33XWXRo4cqc8//1zZ2dnavHmzEhISbPuMHTtWb775pl555RUVFhbqtddeU8uWLU3PP3HiRFVVVelf//qXvvjiC7344osXbJufn6/77rtP999/v7744gvNnj1bycnJWrlypV27RYsWKSIiQrt27dKECRP0xBNPqKio6Mp/WWJOEwAAAAAArhlBQUFavHixLBaLevTooS+++EKLFy/W+PHjJUmDBw/WU089ZWs/btw4Pfjgg5oyZYokqXv37nrllVc0aNAgLVu2TMXFxXrrrbf00UcfKSYmRpLUpUuXC56/uLhYI0eOVGho6CXbpqWl6Y477lBycrIk6cYbb9SePXv08ssv6+GHH7a1Gzp0qCZMmCBJmjZtmhYvXqxNmzapR48ejv+CfoWRJgAAAAAAXCNuvfVWuzlDoqKitH//ftXU1EiSIiIi7Np/9tlnWrlypVq2bGlbYmNj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AQBNhgHA6SoqKgxPT09j+fLltbYdOnTIkGT85S9/sa378ssvDUlGYWGhYRiG8eijjxqPPfaY3X7//ve/DRcXF+PHH380ioqKDEnGRx99ZHr+TZs22Y7Xu3dvY+TIkUZVVVWtGhYsWGBbd/bsWeOGG24wXnzxRcMwDOO5554zevToYVitVlubjIwMo2XLlkZNTY1hGIYxaNAgY/LkybbtnTp1Mh566CHba6vVarRv395YtmyZ3Xl37dp10d+fYRhGTU2NMW3aNMNisRhubm6GxWIx5s+fb9fmzJkzxtixYw1Jhpubm+Hh4WGsWrXqkscGADgP18hzmvo1UpKxbt062+uwsDAjJSXlsvcHgKaKkSZAE1BYWKiqqirdcccdF2zTu3dv28+BgYGSpLKyMknnvjFauXKlWrZsaVtiY2NltVp16NAhFRQUyNXVVYMGDbpoHXfeeae6deum7OxseXh41NoeFRVl+9nNzU0REREqLCy09SEqKkoWi8XWZuDAgTp16pS+/vrry+qXxWJRQECArV9m/v3vf9v184033pAkvfXWW3rjjTe0evVq7dy5U6tWrdLChQu1atUq275Lly7Vtm3b9N577yk/P1+LFi3SxIkT9b//+78X/b0AAJyHa+Q5XCMBwDmYCBZoAry9vS/Zxt3d3fbz+T+6rFarpHMz3v/pT3+yTeb2S8HBwTpw4MBl1TFs2DD985//1J49exQaGnpZ+1ypX/ZLOte38/0yExERYfekgPPDs5955hlNnz5d999/vyQpNDRUR44cUWpqquLi4vTjjz/queee07p16zRs2DBJ5/4YLSgo0MKFCxUTE1PPPQMA1AeukT/jGgkAjY+RJkAT0L17d3l7e9f5kXx9+/bVnj171K1bt1qLh4eHQkNDZbVaa01K92sLFixQXFyc7rjjDu3Zs6fW9m3bttl+/umnn5Sfn6+ePXtKknr27Km8vDy7xxdu2bJFrVq10g033FCnfp3/Jq+mpsa2ztvb265/rVq1knRuYj4XF/v/0lxdXW1/XJ49e1Znz569aBsAQNPDNdIc10gAaByMNAGaAC8vL02bNk3PPvusPDw8NHDgQB0/flxffvnlRYcjnzdt2jTdeuutSkhI0Lhx49SiRQvt2bNHH330kV599VWFhIQoLi5OjzzyiF555RWFhYXpyJEjKisr03333Wd3rIULF6qmpkaDBw9Wbm6ubrrpJtu2jIwMde/eXT179tTixYv1/fff65FHHpEkTZgwQenp6XryySeVkJCgoqIipaSkKDExsdYfYZerffv28vb21oYNG3TDDTfIy8tLfn5+pm2HDx+uefPmKTg4WDfffLN27dqltLQ0W32+vr4aNGiQnnnmGXl7e6tTp076+OOP9be//U1paWl1qg8A0PC4RprjGgkAjcTZk6oAOKempsaYO3eu0alTJ8Pd3d0IDg425s+fbzrR2/fff29IMjZt2mRbt337duPOO+80WrZsabRo0cLo3bu3MW/ePNv2H3/80Zg6daoRGBhoeHh4GN26dTOysrIMw/h5krvvv//e1v7JJ580AgMDjaKiIlsNq1evNiIjIw0PDw+jV69exsaNG+36kJuba/zmN78xPDw8jICAAGPatGnG2bNnbdvNJrlbvHix3TF+PXHc8uXLjaCgIMPFxcUYNGjQBX9/FRUVxuTJk43g4GDDy8vL6NKlizFjxgy7yfqOHTtmPPzww0aHDh0MLy8vo0ePHsaiRYvsJuYDADQ9XCPPacrXSDERLICrlMUwfjFOEABMHD58WJ07d9auXbsUHh7u7HIAAGgyuEYCwNWNOU0AAAAAAABMEJoAAAAAuKA33njD7lHGv1xuvvlmZ5cHAA2K23MAAAAAXNAPP/yg0tJS023u7u7q1KlTI1cEAI2H0AQAAAAAAMAEt+cAAAAAAACYIDQBAAAAAAAwQWgCAAAAAABggtAEAAAAAADABKEJAAAAAACACUITAACuAtXV1c4uAQAA4KpDaAIAQDMUHR2thIQETZkyRW3btlVsbKwsFosKCgpsbU6ePCmLxaLc3FxJUm5uriwWi3JychQRESEfHx8NGDBARUVFzukEAABAE0doAgBAM7Vq1Sp5eHhoy5YtyszMvOz9ZsyYoUWLFmnHjh1yc3PTI4880oBVAgAANF9uzi4AAADUTffu3fXSSy9Jkg4fPnzZ+82bN0+DBg2SJE2fPl3Dhg3TmTNn5OXl1RBlAgAANFuMNAEAoJnq169fnfbr3bu37efAwEBJUllZWb3UBAAAcDUhNAEAoJlq0aKF7WcXl3OXdMMwbOvOnj1rup+7u7vtZ4vFIkmyWq0NUSIAAECzRmgCAMBVoF27dpKkY8eO2db9clJYAAAAOI45TQAAuAp4e3vr1ltv1YIFC9S5c2eVlZVp5syZzi4LAACgWWOkCQAAV4msrCz99NNP6tevn6ZMmaK5c+c6uyQAAIBmzWL88uZnAAAAAAAASGKkCQAAAAAAgClCEwAAAAAAABOEJgAAAAAAACYITQAAAAAAAEwQmgAAAAAAAJggNAEAAAAAADBBaAIAAAAAAGCC0AQAAAAAAMAEoQkAAAAAAIAJQhMAAAAAAAAThCYAAAAAAAAmCE0AAAAAAABM/H/BYUG/f2uWCAAAAABJRU5ErkJggg==","text/plain":[""]},"metadata":{},"output_type":"display_data"}],"source":["# plot metrics for each model\n","import matplotlib.pyplot as plt\n","\n","fig, ax = plt.subplots(1, 1, figsize=(12, 5))\n","\n","perf_df.plot(x=\"run\", y=[\"accuracy\", \"precision\", \"recall\", \"f1\"], kind=\"bar\", ax=ax)\n","\n","# add values on top of bars\n","for p in ax.patches:\n"," ax.annotate(\n"," f\"{p.get_height():.3f}\",\n"," (p.get_x() + p.get_width() / 2, p.get_height()),\n"," ha=\"center\",\n"," va=\"bottom\",\n"," fontsize=10,\n"," )\n","\n","# add title and labels\n","# ax.set_title(\"Metrics for different settings\")\n","# ax.set_ylabel(\"Value\")\n","# ax.set_xlabel(\"Epoch (0: base model, 1-4: fine-tuned models)\")\n","# rotate x labels\n","plt.xticks(rotation=0)\n","\n","# set legend at the right to avoid overlapping with bars\n","plt.legend(loc=\"center left\", bbox_to_anchor=(1.0, 0.5))\n","# plt.tight_layout()\n","\n","plt.show()"]}],"metadata":{"accelerator":"GPU","application/vnd.databricks.v1+notebook":{"dashboards":[],"environmentMetadata":null,"language":"python","notebookMetadata":{"pythonIndentUnit":4},"notebookName":"07_MAC_+_Qwen2-7B-Instructi_Unsloth_train","widgets":{}},"colab":{"gpuType":"T4","provenance":[]},"kernelspec":{"display_name":"Python 3","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.11.9"}},"nbformat":4,"nbformat_minor":0}