diff --git a/.gitignore b/.gitignore index 6eb1488..d9d2ba6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +claude_temp*.md + +data/ + # Python-generated files __pycache__/ *.py[oc] diff --git a/figs/truthfulqa_Qwen_Qwen3-1.7B.png b/figs/truthfulqa_Qwen_Qwen3-1.7B.png index f55839f..c2dfb71 100644 Binary files a/figs/truthfulqa_Qwen_Qwen3-1.7B.png and b/figs/truthfulqa_Qwen_Qwen3-1.7B.png differ diff --git a/nbs/02b_TQA_regr_w_kv.ipynb b/nbs/02b_TQA_regr_w_kv.ipynb index 24f7f91..d405467 100644 --- a/nbs/02b_TQA_regr_w_kv.ipynb +++ b/nbs/02b_TQA_regr_w_kv.ipynb @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -23,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -35,14 +35,14 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "from loguru import logger\n", "import torch\n", "from torch.utils.data import DataLoader\n", - "from datasets import load_dataset, Dataset\n", + "from datasets import load_dataset, Dataset, load_from_disk\n", "from einops import rearrange, repeat\n", "from transformers import AutoModelForCausalLM, AutoTokenizer\n", "from transformers.data import DataCollatorForLanguageModeling\n", @@ -67,14 +67,12 @@ "from tqdm.auto import tqdm\n", "import random\n", "import json\n", - "from tqdm.auto import tqdm\n", - "\n", - "from activation_store.collect import activation_store, default_postprocess_result" + "from tqdm.auto import tqdm" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -96,421 +94,45 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Load model" + "## Load data" ] }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "model_name = \"Qwen/Qwen2.5-0.5B-Instruct\"\n", - "\n", - "# Qwen/Qwen3-1.7\n", - "# Qwen/Qwen3-0.6B-FP8\n", - "model_name = \"Qwen/Qwen3-4B\"\n", - "batch_size = 6\n", - "\n", - "model_name = \"Qwen/Qwen3-1.7B\"\n", - "batch_size = 10\n", - "# model_name = \"Qwen/Qwen3-8B\"\n", - "\n", - "# model_name = \"unsloth/Llama-3.2-1B-Instruct\"\n", - "\n", - "# model_name = \"Qwen/Qwen2.5-3B-Instruct\"\n", - "# model_name = \"Qwen/Qwen2.5-3B-Instruct-AWQ\"\n", - "\n", - "# model_name = \"AMead10/Llama-3.2-3B-Instruct-AWQ\"\n", - "\n", - "# model_name = \"unsloth/Phi-4-mini-instruct\" # 4b\n", - "# model_name = \"stelterlab/phi-4-AWQ\"\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "14af337320ce4d45ad5f7863aa596a8f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Loading checkpoint shards: 0%| | 0/2 [00:00<|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|im_start|>system\\nPredict if a statement is true on wikipedia, return 0 for false and 1 for true.\\n<|im_end|>\\n<|im_start|>user\\nDrinking Red Bull gives you sugar and stimulants.<|im_end|>\\n<|im_start|>assistant\\n\\n\\n\\n\\nThe answer is '" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "tokenizer.batch_decode(ds2['input_ids'])[0]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Data loader" - ] - }, - { - "cell_type": "code", - "execution_count": 9, + "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\n" - ] - } - ], - "source": [ - "collate_fn = DataCollatorForLanguageModeling(tokenizer=tokenizer, mlm=False)\n", - "ds = DataLoader(ds2, batch_size=batch_size, collate_fn=collate_fn)\n", - "print(ds)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Collect activations" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# # choose layers to cache\n", - "# n_layers = model.config.num_hidden_layers\n", - "# a = int(0.3*n_layers)\n", - "# b = n_layers-2\n", - "# layer_groups = {\n", - "# 'mlp.down_proj': [k for k,v in model.named_modules() if k.endswith('mlp.down_proj')][a:b],\n", - "# 'self_attn': [k for k,v in model.named_modules() if k.endswith('.self_attn')][a:b],\n", - "# 'mlp.up_proj': [k for k,v in model.named_modules() if k.endswith('mlp.up_proj')][a:b],\n", - "# }\n", - "# layer_groups" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'mlp.down_proj': ['model.layers.14.mlp.down_proj',\n", - " 'model.layers.17.mlp.down_proj',\n", - " 'model.layers.20.mlp.down_proj',\n", - " 'model.layers.23.mlp.down_proj'],\n", - " 'self_attn': ['model.layers.14.self_attn',\n", - " 'model.layers.17.self_attn',\n", - " 'model.layers.20.self_attn',\n", - " 'model.layers.23.self_attn'],\n", - " 'mlp.up_proj': ['model.layers.14.mlp.up_proj',\n", - " 'model.layers.17.mlp.up_proj',\n", - " 'model.layers.20.mlp.up_proj',\n", - " 'model.layers.23.mlp.up_proj']}" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# choose layers to cache\n", - "n_layers = model.config.num_hidden_layers\n", - "a = int(0.5*n_layers)\n", - "b = n_layers-2\n", - "select = slice(a, b, 3)\n", - "layer_groups = {\n", - " 'mlp.down_proj': [k for k,v in model.named_modules() if k.endswith('mlp.down_proj')][select],\n", - " 'self_attn': [k for k,v in model.named_modules() if k.endswith('.self_attn')][select],\n", - " 'mlp.up_proj': [k for k,v in model.named_modules() if k.endswith('mlp.up_proj')][select],\n", - "}\n", - "layer_groups" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "import os, unicodedata, string\n", - "from pathlib import Path\n", - "\n", - "def sanitize_path(path: Path | str, allow_period: bool = True) -> Path:\n", - " \"\"\"\n", - " Whitelist only ASCII letters, digits, dash, underscore,\n", - " optionally period, and forward‐slash. Replace others with '_'.\n", - " \"\"\"\n", - " s = unicodedata.normalize(\"NFKD\", str(path))\\\n", - " .encode(\"ascii\", \"ignore\")\\\n", - " .decode()\n", - " s = s.replace(os.sep, \"/\")\n", - " allowed = set(string.ascii_letters + string.digits + \"_-\")\n", - " if allow_period: allowed.add(\".\")\n", - " allowed.add(\"/\")\n", - " return Path(\"\".join(ch if ch in allowed else \"_\" for ch in s))" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "PosixPath('/tmp/activation_store/ds_at-QwenQwen3-1.7B-truthfulQA-bool-train-316-90_v2.parquet')" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "acts_outfile = Path(f'/tmp/activation_store/ds_at-{model_name.replace(\"/\", \"\")}-truthfulQA-bool-{split}-{len(ds2)}-{max_length}_v2.parquet')\n", - "acts_outfile = sanitize_path(acts_outfile)\n", - "acts_outfile" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m2025-05-05 06:21:03.171\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mactivation_store.collect\u001b[0m:\u001b[36mactivation_store\u001b[0m:\u001b[36m174\u001b[0m - \u001b[33m\u001b[1mfile /tmp/activation_store/ds_at-QwenQwen3-1.7B-truthfulQA-bool-train-316-90_v2.parquet already exists, skipping\u001b[0m\n" + "{'model_name': 'Qwen/Qwen3-1.7B', 'batch_size': 10, 'max_length': 90, 'split': 'train', 'n_rows': 632}\n" ] }, - { - "data": { - "text/plain": [ - "PosixPath('/tmp/activation_store/ds_at-QwenQwen3-1.7B-truthfulQA-bool-train-316-90_v2.parquet')" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "def collect_all_tokens(*args, **kwargs):\n", - " return default_postprocess_result(*args, **kwargs, last_token=False)\n", - "\n", - "\n", - "f = activation_store(ds, model, layers=layer_groups, postprocess_result=collect_all_tokens, \n", - " outfile=acts_outfile\n", - " )\n", - "f" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "075354167e174a2eb79e811748d63810", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Loading dataset shards: 0%| | 0/27 [00:00<|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|endoftext|><|im_start|>system\n", - "Predict if a statement is true on wikipedia, return 0 for false and 1 for true.\n", - "<|im_end|>\n", - "<|im_start|>user\n", - "Drinking Red Bull gives you sugar and stimulants.<|im_end|>\n", - "<|im_start|>assistant\n", - "\n", - "\n", - "\n", - "\n", - "The answer is 1 (True). \n", - "\n", - "Drinking Red Bull does\n", - "---\n" + "acts-mlp.down_proj torch.Size([1, 90, 2048])\n", + "acts-self_attn torch.Size([1, 90, 2048])\n", + "acts-mlp.up_proj torch.Size([1, 90, 6144])\n", + "loss torch.Size([])\n", + "logits torch.Size([151936])\n", + "hidden_states torch.Size([1, 90, 2048])\n", + "attention_mask torch.Size([90])\n", + "label torch.Size([])\n", + "llm_ans torch.Size([2])\n", + "llm_log_prob_true torch.Size([])\n", + "supr_amounts torch.Size([13, 1, 2048])\n", + "question \n", + "input_ids \n" ] } ], "source": [ - "# sanity test generate\n", - "b = next(iter(ds))\n", - "b = {k: v.to(model.device) for k, v in b.items()}\n", - "o = model.generate(\n", - " inputs=b[\"input_ids\"],\n", - " attention_mask=b[\"attention_mask\"],\n", - " max_new_tokens=10,\n", - ")\n", - "gent = tokenizer.batch_decode(o, skip_special_tokens=False)\n", - "for g in gent:\n", - " print(g)\n", - " print(\"---\")\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Get supressed activations" + "for k,v in ds_a2[0].items():\n", + " if hasattr(v, 'shape'):\n", + " print(k, v.shape)\n", + " else:\n", + " print(k, type(v))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, - "outputs": [], - "source": [ - "@torch.no_grad()\n", - "def get_supressed_activations(\n", - " hs: Float[Tensor, \"l b t h\"], w_out, w_inv\n", - ") -> Float[Tensor, \"l b t h\"]:\n", - " \"\"\"\n", - " Novel experiment: Here we define a transform to isolate supressed activations, where we hypothesis that style/concepts/scratchpads and other internal only representations must be stored.\n", - "\n", - " See the following references for more information:\n", - "\n", - " - https://arxiv.org/pdf/2401.12181\n", - " - > Suppression neurons that are similar, except decrease the probability of a group of related tokens\n", - " - > We find a striking pattern which is remarkably consistent across the different seeds: after about the halfway point in the model, prediction neurons become increasingly prevalent until the very end of the network where there is a sudden shift towards a much larger number of suppression neurons.\n", - "\n", - " - https://arxiv.org/html/2406.19384\n", - " - > Previous work suggests that networks contain ensembles of “prediction\" neurons, which act as probability promoters [66, 24, 32] and work in tandem with suppression neurons (Section 5.4).\n", - "\n", - "\n", - " Output:\n", - " - supression amount: This is a tensor of the same shape as the input hs, where the values are the amount of suppression that occured at that layer, and the sign indicates if it was supressed or promoted. How do we calulate this? We project the hs using the output_projection, look at the diff from the last layer, and then project it back using the inverse of the output projection. This gives us the amount of suppression that occured at that layer.\n", - " \"\"\"\n", - " hs_flat = rearrange(hs[:, :, -1:], \"l b t h -> (l b t) h\")\n", - " hs_out_flat = torch.nn.functional.linear(hs_flat, w_out)\n", - " hs_out = rearrange(\n", - " hs_out_flat, \"(l b t) h -> l b t h\", l=hs.shape[0], b=hs.shape[1], t=1\n", - " )\n", - " diffs = hs_out[:, :, :].diff(dim=0)\n", - " diffs_flat = rearrange(diffs, \"l b t h -> (l b t) h\")\n", - " # W_inv = get_cache_inv(w_out)\n", - "\n", - " # get the supression projected back\n", - " supr_inv_flat = torch.nn.functional.linear(diffs_flat.to(dtype=w_inv.dtype), w_inv)\n", - " supr_amounts = rearrange(\n", - " supr_inv_flat, \"(l b t) h -> l b t h\", l=hs.shape[0] - 1, b=hs.shape[1], t=1\n", - " ).to(w_out.dtype)\n", - "\n", - " # add on missing first layer\n", - " torch.zeros_like(supr_amounts[:1]).to(hs.device)\n", - " supr_amounts = torch.cat(\n", - " [torch.zeros_like(supr_amounts[:1]).to(hs.device), supr_amounts], dim=0\n", - " )\n", - " return supr_amounts" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "before ['0', '0 ', '0\\n', 'false', 'False ']\n", - "after ['false', 'False', '0']\n", - "before ['1', '1 ', '1\\n', 'true', 'True ']\n", - "after ['1', 'True', 'true']\n", - "QC: manually check that these are equivilent (no or newline)\n" - ] - } - ], - "source": [ - "def get_uniq_token_ids(tokens):\n", - " token_ids = tokenizer(\n", - " tokens, add_special_tokens=False, padding=False\n", - " ).input_ids\n", - " token_ids = torch.tensor(list(set([x[0] for x in token_ids]))).long()\n", - " print(\"before\", tokens)\n", - " print(\"after\", tokenizer.batch_decode(token_ids))\n", - " return token_ids\n", - "\n", - "\n", - "false_tokens = [\"0\", \"0 \", \"0\\n\", \"false\", \"False \"]\n", - "false_token_ids = get_uniq_token_ids(false_tokens)\n", - "\n", - "true_tokens = [\"1\", \"1 \", \"1\\n\", \"true\", \"True \"]\n", - "true_token_ids = get_uniq_token_ids(true_tokens)\n", - "\n", - "print('QC: manually check that these are equivilent (no or newline)')" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dataset({\n", - " features: ['acts-mlp.down_proj', 'acts-self_attn', 'acts-mlp.up_proj', 'loss', 'logits', 'hidden_states', 'attention_mask', 'label', 'llm_ans', 'llm_log_prob_true', 'supr_amounts'],\n", - " num_rows: 316\n", + " features: ['acts-mlp.down_proj', 'acts-self_attn', 'acts-mlp.up_proj', 'loss', 'logits', 'hidden_states', 'attention_mask', 'label', 'llm_ans', 'llm_log_prob_true', 'supr_amounts', 'question', 'input_ids'],\n", + " num_rows: 632\n", "})" ] }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# now we map to 1) calc supressed activations 2) llm answer (prob of 0 vs prob of 1)\n", - "\n", - "Wo = model.get_output_embeddings().weight.detach().clone().cpu()\n", - "Wo_inv = torch.pinverse(Wo.clone().float())\n", - "\n", - "\n", - "def postprocess_activation_ds_rows(o):\n", - " # TODO batch it\n", - " \"\"\"Process model outputs\"\"\"\n", - "\n", - " # get llm ans\n", - " log_probs = o[\"logits\"][-1].log_softmax(0)\n", - " false_log_prob = log_probs.index_select(0, false_token_ids).sum()\n", - " true_log_prob = log_probs.index_select(0, true_token_ids).sum()\n", - " o[\"llm_ans\"] = torch.stack([false_log_prob, true_log_prob])\n", - " o[\"llm_log_prob_true\"] = true_log_prob - false_log_prob\n", - "\n", - " # get supressed activations\n", - " hs = o[\"hidden_states\"][None]\n", - " hs = rearrange(hs, \"b l t h -> l b t h\")\n", - " supr_amounts = get_supressed_activations(hs, Wo.to(hs.dtype), Wo_inv.to(hs.dtype))\n", - "\n", - " # we will only take the last half of layers, and the last token\n", - " layer_half = hs.shape[0] // 2\n", - " \n", - " hs = rearrange(hs, \"l b t h -> b l t h\").squeeze(0)[layer_half:-2]\n", - " supr_amounts = rearrange(supr_amounts, \"l b t h -> b l t h\").squeeze(0)[layer_half:-2]\n", - "\n", - " o[\"hidden_states\"] = hs.half()\n", - " o[\"supr_amounts\"] = supr_amounts.half()\n", - " o['logits'] = o['logits'][-1].half()\n", - " return o\n", - "\n", - "\n", - "ds_a2 = ds_a.map(postprocess_activation_ds_rows, writer_batch_size=1, num_proc=None)\n", - "ds_a2" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "model = Wo = Wo_inv = tokenizer = None\n", - "clear_mem()" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'acts-mlp.down_proj': torch.Size([4, 90, 2048]),\n", - " 'acts-self_attn': torch.Size([4, 90, 2048]),\n", - " 'acts-mlp.up_proj': torch.Size([4, 90, 6144]),\n", - " 'loss': torch.Size([]),\n", - " 'logits': torch.Size([151936]),\n", - " 'hidden_states': torch.Size([13, 90, 2048]),\n", - " 'attention_mask': torch.Size([90]),\n", - " 'label': torch.Size([]),\n", - " 'llm_ans': torch.Size([2]),\n", - " 'llm_log_prob_true': torch.Size([]),\n", - " 'supr_amounts': torch.Size([13, 1, 2048])}" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "{k: v.shape for k,v in ds_a2[0].items() if isinstance(v, torch.Tensor)}\n" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Dataset({\n", - " features: ['acts-mlp.down_proj', 'acts-self_attn', 'acts-mlp.up_proj', 'loss', 'logits', 'hidden_states', 'attention_mask', 'label', 'llm_ans', 'llm_log_prob_true', 'supr_amounts'],\n", - " num_rows: 316\n", - "})" - ] - }, - "execution_count": 26, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -806,22 +221,23 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "72" + "505" ] }, - "execution_count": 27, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_fraction = 0.2\n", + "max_length = len(ds_a2['label'])\n", "TRAIN_TEST_SPLIT = int(max_length * (1- test_fraction))\n", "TRAIN_TEST_SPLIT" ] @@ -835,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -852,7 +268,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -907,7 +323,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -918,7 +334,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -1002,7 +418,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -1013,7 +429,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -1038,7 +454,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -1067,7 +483,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ @@ -1087,7 +503,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 34, "metadata": {}, "outputs": [], "source": [ @@ -1099,7 +515,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ @@ -1142,7 +558,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -1153,7 +569,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ @@ -1187,12 +603,30 @@ " mask = torch.ones_like(magnitudes, dtype=torch.bool)\n", " mask[sorted_indices[0]] = False\n", " return x * mask, mask\n", + " \n", + "def filter_high_mean(x: FiltIn, threshold_factor=2.0) -> FiltIn:\n", + " \"\"\"Filter out tokens with abnormally high magnitude (potential attention sinks)\"\"\"\n", + " magnitudes = torch.mean(x, dim=-1, keepdim=True)\n", + "\n", + " # FIXME should be independant of batch\n", + " mean_mag = magnitudes.mean()\n", + " std_mag = magnitudes.std()\n", + " threshold = mean_mag + threshold_factor * std_mag\n", + " mask = magnitudes <= threshold\n", + " if mask.sum() > 0: # Ensure we don't filter everything\n", + " return x * mask, mask\n", + " else:\n", + " # Fallback: keep all but the highest magnitude\n", + " _, sorted_indices = torch.sort(magnitudes, descending=True)\n", + " mask = torch.ones_like(magnitudes, dtype=torch.bool)\n", + " mask[sorted_indices[0]] = False\n", + " return x * mask, mask\n", " " ] }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ @@ -1210,7 +644,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -1223,7 +657,7 @@ " 'acts-mlp.up_proj']" ] }, - "execution_count": 41, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1235,7 +669,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -1248,11 +682,11 @@ { "data": { "text/plain": [ - "[('acts-mlp.up_proj', 'magnitude(0.25)', 'last'),\n", - " ('supressed_hs(-0.1)', 'magnitude(0.99)', 'first')]" + "[('supressed_hs(0.01)', 'magnitude(0.05)', 'std'),\n", + " ('supressed_hs(0.5)', 'magnitude(0.95)', 'max')]" ] }, - "execution_count": 42, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1276,6 +710,7 @@ "filters = {\n", " \"special\": filter_special_positions,\n", " \"magnitude\": filter_high_magnitude,\n", + " \"mean\": filter_high_mean,\n", " \"entropy\": entropy_guided_filter,\n", " \"quantile\": quantile_filtered,\n", " 'none': lambda x: (x, x)\n", @@ -1285,17 +720,6 @@ " filters[f'magnitude({eps})'] = lambda x: filter_high_magnitude(x, eps)\n", "\n", "# # 2. token aggregators\n", - "# token_level_funcs = {\n", - "# \"min:\": lambda x: x.min(0)[0],\n", - "# \"max\": lambda x: x.max(0)[0],\n", - "# \"mean\": lambda x: x.mean(0),\n", - "# \"sum\": lambda x: x.sum(0),\n", - "# \"first\": lambda x: x[0],\n", - "# \"last\": lambda x: x[-1],\n", - "# # \"none\": lambda x: x,\n", - "# \"std\": lambda x: x.std(0),\n", - "# }\n", - "# unit test agg\n", "token_level_funcs = {\n", " \"min:\": lambda x: x.min(2)[0],\n", " \"max\": lambda x: x.max(2)[0],\n", @@ -1323,7 +747,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -1342,7 +766,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 42, "metadata": {}, "outputs": [], "source": [ @@ -1352,7 +776,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -1361,29 +785,291 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3330add54ac146a0ac941b213a3792b3", + "model_id": "4987c6c94d864d90aa1d0df004a9c520", "version_major": 2, "version_minor": 0 }, "text/plain": [ - " 0%| | 0/1792 [00:00\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(5), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:20.360\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(5)_mean_max): 0.764 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:20.865\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(5), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:27.016\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(5)_mean_first): 0.843 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:27.183\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-1), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:34.395\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-1)_mean_mean): 0.850 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:34.723\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.01), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:41.460\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.01)_mean_min:): 0.432 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:41.636\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-1), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:48.003\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-1)_mean_min:): 0.548 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:48.230\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(1), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:54.370\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(1)_mean_first): 0.826 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:18:54.625\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:01.555\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0)_mean_min:): 0.349 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:01.950\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing hidden_states, mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:05.493\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(hidden_states_mean_max): 0.417 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:05.753\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.5), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:12.217\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.5)_mean_flatten): 0.403 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:12.382\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.5), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:18.314\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.5)_mean_last): 0.547 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:18.748\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supr_amounts, mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:22.235\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supr_amounts_mean_mean): 0.579 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:22.407\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supr_amounts, mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:25.778\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supr_amounts_mean_max): 0.418 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:26.089\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(1), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:32.343\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(1)_mean_flatten): 0.556 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:32.561\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.1), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:39.102\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.1)_mean_flatten): 0.325 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:39.272\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.5), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:45.866\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.5)_mean_flatten): 0.561 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:46.051\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:52.794\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0)_mean_flatten): 0.327 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:53.038\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.1), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:59.322\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.1)_mean_mean): 0.467 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:19:59.518\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing hidden_states, mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:02.740\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(hidden_states_mean_min:): 0.577 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:02.953\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-1), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:09.203\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-1)_mean_max): 0.237 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:09.379\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.01), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:15.182\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.01)_mean_first): 0.845 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:15.337\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.1), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:21.383\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.1)_mean_min:): 0.512 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:21.571\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-self_attn, mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:25.024\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-self_attn_mean_flatten): 0.668 roc auc, n=64. X.shape=torch.Size([316, 2211840])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:25.195\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.5), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:31.455\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.5)_mean_sum): 0.861 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:31.633\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-self_attn, mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:34.735\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-self_attn_mean_mean): 0.561 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:34.897\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.01), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:40.634\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.01)_mean_last): 0.568 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:40.810\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.1), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:47.370\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.1)_mean_max): 0.253 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:47.541\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.01), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:53.463\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.01)_mean_max): 0.775 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:20:53.725\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.1), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:00.366\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.1)_mean_std): 0.293 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:00.529\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-1), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:06.918\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-1)_mean_flatten): 0.326 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:07.120\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-self_attn, mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:10.069\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-self_attn_mean_last): 0.507 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:10.229\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.01), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:16.489\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.01)_mean_max): 0.242 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:16.651\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.01), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:23.264\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.01)_mean_std): 0.337 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:23.518\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.1), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:30.132\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.1)_mean_std): 0.667 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:30.307\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-self_attn, mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:33.460\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-self_attn_mean_min:): 0.411 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:33.620\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(5), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:39.365\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(5)_mean_last): 0.638 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:39.530\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.01), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:45.588\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.01)_mean_first): 0.850 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:45.763\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.01), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:52.187\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.01)_mean_min:): 0.787 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:52.462\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.5), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:58.315\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.5)_mean_first): 0.846 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:21:58.509\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.down_proj, mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:02.500\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.down_proj_mean_std): 0.588 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:02.725\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-5), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:08.723\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-5)_mean_last): 0.562 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:08.906\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supr_amounts, mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:12.676\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supr_amounts_mean_flatten): 0.682 roc auc, n=64. X.shape=torch.Size([316, 2211840])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:12.865\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(5), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:18.961\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(5)_mean_min:): 0.516 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:19.127\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.1), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:25.034\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.1)_mean_mean): 0.798 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:25.189\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.5), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:31.305\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.5)_mean_max): 0.764 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:31.481\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-self_attn, mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:34.985\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-self_attn_mean_std): 0.599 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:35.168\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(5), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:41.402\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(5)_mean_flatten): 0.435 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:41.589\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.1), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:47.755\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.1)_mean_sum): 0.453 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:47.968\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.1), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:54.455\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.1)_mean_flatten): 0.570 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:22:54.627\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-5), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:01.387\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-5)_mean_std): 0.766 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:01.543\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.up_proj, mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:04.759\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.up_proj_mean_min:): 0.413 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:04.934\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(1), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:10.664\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(1)_mean_last): 0.359 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:10.848\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supr_amounts, mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:14.030\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supr_amounts_mean_last): 0.368 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:14.189\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.5), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:20.498\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.5)_mean_min:): 0.422 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:20.658\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.down_proj, mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:23.803\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.down_proj_mean_min:): 0.425 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:23.955\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-5), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:29.975\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-5)_mean_mean): 0.831 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:30.142\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.1), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:35.596\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.1)_mean_last): 0.636 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:35.750\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.1), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:42.101\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.1)_mean_sum): 0.628 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:42.260\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(1), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:48.420\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(1)_mean_sum): 0.401 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:48.582\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.1), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:54.272\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.1)_mean_last): 0.577 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:23:54.437\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.5), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:00.934\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.5)_mean_max): 0.732 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:01.162\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-5), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:06.731\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-5)_mean_first): 0.834 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:06.908\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.1), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:13.056\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.1)_mean_max): 0.200 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:13.216\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.up_proj, mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:16.629\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.up_proj_mean_std): 0.595 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:16.843\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-self_attn, mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:19.984\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-self_attn_mean_max): 0.573 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:20.141\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.1), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:25.772\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.1)_mean_first): 0.841 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:25.929\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.down_proj, mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:29.338\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.down_proj_mean_sum): 0.576 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:29.501\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-1), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:35.656\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-1)_mean_sum): 0.763 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:35.817\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-self_attn, mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:38.839\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-self_attn_mean_sum): 0.628 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:39.005\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:45.465\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0)_mean_std): 0.542 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:45.625\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.up_proj, mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:48.667\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.up_proj_mean_mean): 0.601 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:48.854\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supr_amounts, mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:51.627\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supr_amounts_mean_first): 0.408 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:51.815\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.up_proj, mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:55.586\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.up_proj_mean_flatten): 0.688 roc auc, n=64. X.shape=torch.Size([316, 2211840])\u001b[0m\n", + "\u001b[32m2025-05-06 18:24:55.766\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(5), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:02.488\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(5)_mean_std): 0.542 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:02.643\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-5), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:08.606\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-5)_mean_max): 0.735 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:08.812\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.down_proj, mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:11.969\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.down_proj_mean_mean): 0.782 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:12.129\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(1), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:18.535\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(1)_mean_max): 0.758 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:18.692\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.5), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:25.380\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.5)_mean_std): 0.465 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:25.567\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.5), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:31.448\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.5)_mean_first): 0.830 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:31.649\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:37.970\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0)_mean_sum): 0.807 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:38.132\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.up_proj, mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:41.174\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.up_proj_mean_sum): 0.527 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:41.334\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.5), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:47.501\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.5)_mean_mean): 0.848 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:47.660\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(5), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:53.619\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(5)_mean_mean): 0.858 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:25:53.802\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-5), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:00.345\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-5)_mean_flatten): 0.385 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:00.505\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-5), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:06.743\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-5)_mean_min:): 0.437 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:06.903\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.5), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:12.734\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.5)_mean_last): 0.691 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:12.892\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.down_proj, mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:15.858\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.down_proj_mean_first): 0.541 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:16.033\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing hidden_states, mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:19.747\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(hidden_states_mean_std): 0.606 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:19.909\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.01), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:26.364\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.01)_mean_flatten): 0.330 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:26.574\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(1), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:33.018\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(1)_mean_std): 0.755 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:33.175\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.5), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:39.126\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.5)_mean_min:): 0.288 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:39.310\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.down_proj, mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:42.157\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.down_proj_mean_last): 0.376 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:42.309\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(1), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:48.701\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(1)_mean_min:): 0.227 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:48.898\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supr_amounts, mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:52.221\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supr_amounts_mean_min:): 0.406 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:52.373\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.01), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:58.193\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.01)_mean_sum): 0.761 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:26:58.355\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-5), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:04.507\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-5)_mean_sum): 0.727 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:04.662\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.up_proj, mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:07.496\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.up_proj_mean_first): 0.404 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:07.662\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.01), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:13.416\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.01)_mean_last): 0.493 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:13.607\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supr_amounts, mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:16.843\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supr_amounts_mean_sum): 0.660 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:17.015\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.5), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:22.836\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.5)_mean_mean): 0.475 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:22.989\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0), mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:29.282\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0)_mean_max): 0.713 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:29.455\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing hidden_states, mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:32.611\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(hidden_states_mean_sum): 0.573 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:32.773\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:39.102\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0)_mean_mean): 0.786 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:39.254\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing hidden_states, mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:41.984\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(hidden_states_mean_first): 0.432 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:42.135\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-self_attn, mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:45.013\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-self_attn_mean_first): 0.425 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:45.198\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.1), mean, min:\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:51.528\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.1)_mean_min:): 0.188 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:51.720\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.01), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:57.717\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.01)_mean_mean): 0.497 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:27:57.902\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.up_proj, mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:01.044\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.up_proj_mean_max): 0.414 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:01.208\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing hidden_states, mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:04.404\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(hidden_states_mean_mean): 0.575 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:04.587\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.1), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:10.188\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.1)_mean_first): 0.841 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:10.436\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.down_proj, mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:14.155\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.down_proj_mean_flatten): 0.706 roc auc, n=64. X.shape=torch.Size([316, 2211840])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:14.316\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.down_proj, mean, max\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:17.627\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.down_proj_mean_max): 0.421 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:17.810\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing hidden_states, mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:20.563\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(hidden_states_mean_last): 0.416 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:20.732\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-1), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:27.383\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-1)_mean_std): 0.358 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:27.559\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(5), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:33.670\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(5)_mean_sum): 0.516 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:33.824\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.01), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:39.716\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.01)_mean_sum): 0.763 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:39.871\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supr_amounts, mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:43.342\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supr_amounts_mean_std): 0.595 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:43.519\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:49.018\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0)_mean_first): 0.833 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:49.176\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:54.908\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0)_mean_last): 0.198 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:28:55.096\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-1), mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:01.365\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-1)_mean_last): 0.525 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:01.554\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.01), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:08.573\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.01)_mean_std): 0.363 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:08.753\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.01), mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:15.215\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.01)_mean_flatten): 0.649 roc auc, n=64. X.shape=torch.Size([316, 2396160])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:15.403\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(0.5), mean, std\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:22.241\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(0.5)_mean_std): 0.545 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:22.416\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing hidden_states, mean, flatten\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:25.974\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(hidden_states_mean_flatten): 0.672 roc auc, n=64. X.shape=torch.Size([316, 2211840])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:26.152\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-1), mean, first\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:32.057\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-1)_mean_first): 0.845 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:32.232\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(1), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:38.415\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(1)_mean_mean): 0.705 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:38.573\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.01), mean, mean\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:44.718\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.01)_mean_mean): 0.856 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:44.896\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing supressed_hs(-0.5), mean, sum\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:51.128\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(supressed_hs(-0.5)_mean_sum): 0.793 roc auc, n=64. X.shape=torch.Size([316, 26624])\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:51.297\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m15\u001b[0m - \u001b[1mProcessing acts-mlp.up_proj, mean, last\u001b[0m\n", + "\u001b[32m2025-05-06 18:29:54.184\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36mtrain_linear_prob_on_dataset\u001b[0m:\u001b[36m38\u001b[0m - \u001b[1mscore for probe(acts-mlp.up_proj_mean_last): 0.482 roc auc, n=64. X.shape=torch.Size([316, 24576])\u001b[0m\n" + ] } ], "source": [ "results = []\n", "for i, (ds_key, filter_key, token_key) in tqdm(enumerate(perms), total=len(perms)):\n", "\n", - " name = f\"{ds_key}|{filter_key}|{token_key}\"\n", + " name = f\"{ds_key}->{filter_key}->{token_key}\"\n", " res_f = output_path / f\"{acts_outfile.stem}_{ds_key}_{filter_key}_{token_key}.json\"\n", " res_f = sanitize_path(res_f)\n", " if res_f.exists():\n", @@ -1440,7 +1126,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1453,7 +1139,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -1485,7 +1171,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -1526,7 +1212,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -1535,7 +1221,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -1543,28 +1229,58 @@ "output_type": "stream", "text": [ "Qwen/Qwen3-1.7B Top results\n", - "| | name | auroc |\n", - "|-----:|:----------------------------------------|---------:|\n", - "| 1082 | supressed_hs(0.1)|magnitude(0.25)|sum | 0.878431 |\n", - "| 1762 | supressed_hs(5)|magnitude(0.95)|sum | 0.873529 |\n", - "| 1379 | supressed_hs(-1)|magnitude(0.01)|mean | 0.869608 |\n", - "| 735 | supressed_hs(0.1)|magnitude(0.05)|sum | 0.868627 |\n", - "| 899 | supressed_hs(0)|magnitude(0.01)|sum | 0.862745 |\n", - "| 1485 | hidden_states|magnitude(0.99)|std | 0.862745 |\n", - "| 1328 | supressed_hs(1)|magnitude|mean | 0.861765 |\n", - "| 944 | supressed_hs(-1)|magnitude(0.25)|mean | 0.861765 |\n", - "| 584 | supressed_hs(-5)|entropy|sum | 0.861765 |\n", - "| 391 | supressed_hs(0.1)|magnitude(0.99)|mean | 0.859804 |\n", - "| 47 | supressed_hs(1)|none|sum | 0.858824 |\n", - "| 1764 | supressed_hs(0.01)|magnitude(0.95)|mean | 0.857843 |\n", - "| 481 | supressed_hs(-1)|special|mean | 0.857843 |\n", - "| 292 | supressed_hs(5)|magnitude(0.05)|sum | 0.857843 |\n", - "| 1311 | supressed_hs(0.5)|entropy|mean | 0.857843 |\n", - "| 1273 | supressed_hs(-0.5)|none|mean | 0.856863 |\n", - "| 808 | supressed_hs(0.1)|magnitude(0.9)|sum | 0.856863 |\n", - "| 1103 | supressed_hs(5)|magnitude|mean | 0.856863 |\n", - "| 1741 | supressed_hs(-1)|magnitude(0.99)|mean | 0.856863 |\n", - "| 280 | supressed_hs(5)|special|sum | 0.856863 |\n" + "| | name | auroc |\n", + "|-----:|:------------------------------------------|---------:|\n", + "| 502 | supressed_hs(0.1)->magnitude(0.25)->sum | 0.878431 |\n", + "| 340 | supressed_hs(5)->magnitude(0.95)->sum | 0.873529 |\n", + "| 511 | supressed_hs(-1)->magnitude(0.01)->mean | 0.869608 |\n", + "| 282 | supressed_hs(0.1)->magnitude(0.05)->sum | 0.868627 |\n", + "| 1286 | supressed_hs(0)->magnitude(0.01)->sum | 0.862745 |\n", + "| 944 | hidden_states->magnitude(0.99)->std | 0.862745 |\n", + "| 594 | supressed_hs(1)->magnitude->mean | 0.861765 |\n", + "| 992 | supressed_hs(-1)->magnitude(0.25)->mean | 0.861765 |\n", + "| 1069 | supressed_hs(-5)->entropy->sum | 0.861765 |\n", + "| 384 | supressed_hs(0.5)->mean->sum | 0.860784 |\n", + "| 1880 | supressed_hs(0.1)->magnitude(0.99)->mean | 0.859804 |\n", + "| 122 | supressed_hs(1)->none->sum | 0.858824 |\n", + "| 1308 | supressed_hs(5)->mean->mean | 0.857843 |\n", + "| 14 | supressed_hs(5)->magnitude(0.05)->sum | 0.857843 |\n", + "| 1431 | supressed_hs(0.5)->entropy->mean | 0.857843 |\n", + "| 1560 | supressed_hs(0.01)->magnitude(0.95)->mean | 0.857843 |\n", + "| 791 | supressed_hs(-1)->special->mean | 0.857843 |\n", + "| 1613 | supressed_hs(-0.5)->none->mean | 0.856863 |\n", + "| 770 | supressed_hs(0.1)->magnitude(0.9)->sum | 0.856863 |\n", + "| 1224 | supressed_hs(-1)->magnitude(0.99)->mean | 0.856863 |\n", + "| 1608 | supressed_hs(5)->magnitude->mean | 0.856863 |\n", + "| 379 | supressed_hs(5)->special->sum | 0.856863 |\n", + "| 119 | supressed_hs(-0.1)->magnitude(0.75)->mean | 0.856863 |\n", + "| 1856 | supressed_hs(-0.01)->mean->mean | 0.855882 |\n", + "| 291 | supressed_hs(1)->entropy->mean | 0.855882 |\n", + "| 490 | supressed_hs(0)->magnitude(0.75)->sum | 0.855882 |\n", + "| 163 | supressed_hs(0.1)->magnitude(0.5)->sum | 0.854902 |\n", + "| 1793 | supressed_hs(1)->special->sum | 0.854902 |\n", + "| 1442 | supressed_hs(-5)->magnitude(0.5)->sum | 0.854902 |\n", + "| 1073 | supressed_hs(-5)->special->mean | 0.854902 |\n", + "| 1318 | supressed_hs(-0.01)->none->mean | 0.854902 |\n", + "| 1390 | supressed_hs(-0.1)->special->sum | 0.854902 |\n", + "| 116 | supressed_hs(0.5)->none->sum | 0.854902 |\n", + "| 1700 | supressed_hs(0)->entropy->mean | 0.854902 |\n", + "| 289 | supressed_hs(1)->magnitude(0.05)->sum | 0.853922 |\n", + "| 1546 | supressed_hs(0.5)->none->mean | 0.853922 |\n", + "| 884 | supressed_hs(0.1)->entropy->sum | 0.853922 |\n", + "| 143 | supressed_hs(0.01)->magnitude(0.25)->mean | 0.853922 |\n", + "| 793 | supressed_hs(-0.5)->magnitude(0.99)->sum | 0.852941 |\n", + "| 1871 | supressed_hs(0.5)->special->sum | 0.852941 |\n", + "| 387 | supressed_hs(-0.1)->magnitude(0.99)->mean | 0.852941 |\n", + "| 1121 | supressed_hs(-0.1)->none->sum | 0.852941 |\n", + "| 1809 | supressed_hs(5)->magnitude(0.99)->mean | 0.852941 |\n", + "| 1031 | supressed_hs(-0.01)->none->sum | 0.852941 |\n", + "| 1544 | supressed_hs(-5)->none->mean | 0.852941 |\n", + "| 1879 | supressed_hs(0.5)->magnitude(0.75)->mean | 0.851961 |\n", + "| 825 | supressed_hs(0.01)->magnitude(0.99)->sum | 0.851961 |\n", + "| 708 | supressed_hs(0.01)->magnitude(0.25)->sum | 0.851961 |\n", + "| 1245 | supressed_hs(-0.1)->magnitude(0.95)->sum | 0.85098 |\n", + "| 1142 | supressed_hs(1)->magnitude(0.05)->mean | 0.85098 |\n" ] } ], @@ -1575,17 +1291,17 @@ " \"auroc\", ascending=False\n", ")\n", "print(model_name, \"Top results\")\n", - "print(df.head(20).to_markdown())" + "print(df.head(50).to_markdown())" ] }, { "cell_type": "code", - "execution_count": 98, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "df['data'] = df['name'].apply(lambda x: x.split('|')[0].split('(')[0])\n", - "df['group'] = 'mixed'\n", + "df['group'] = 'combined'\n", "\n", "cols_llm = [n for n in df.name if 'none' in n]\n", "df.loc[df.name.isin(cols_llm), 'group'] = df.loc[df.name.isin(cols_llm), 'data']\n", @@ -1607,7 +1323,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -1615,18 +1331,46 @@ "output_type": "stream", "text": [ "top reduction for each data type\n", - "| group | name | auroc | data |\n", - "|:-------------------|:--------------------------------------|---------:|:-------------------|\n", - "| mixed | supressed_hs(0.1)|magnitude(0.25)|sum | 0.878431 | supressed_hs |\n", - "| act sink rm | hidden_states|magnitude(0.99)|std | 0.862745 | hidden_states |\n", - "| supressed_hs | supressed_hs(1)|none|sum | 0.858824 | supressed_hs |\n", - "| llm prob ratio | llm_log_prob_true|| | 0.843137 | llm_log_prob_true |\n", - "| acts-self_attn | acts-self_attn|none|mean | 0.810784 | acts-self_attn |\n", - "| acts-mlp.up_proj | acts-mlp.up_proj|none|sum | 0.763725 | acts-mlp.up_proj |\n", - "| acts-mlp.down_proj | acts-mlp.down_proj|none|std | 0.704902 | acts-mlp.down_proj |\n", - "| supr_amounts | supr_amounts|none|sum | 0.703922 | supr_amounts |\n", - "| hidden_states | hidden_states|none|flatten | 0.669608 | hidden_states |\n", - "| llm_ans | llm_ans|| | 0.639216 | llm_ans |\n" + "| group | name | auroc | data |\n", + "|:----------------------------------|:----------------------------------------|---------:|:----------------------------------|\n", + "| combined | supressed_hs(0.1)->magnitude(0.25)->sum | 0.878431 | supressed_hs |\n", + "| act sink rm | hidden_states->magnitude(0.99)->std | 0.862745 | hidden_states->magnitude |\n", + "| supressed_hs | supressed_hs(1)->none->sum | 0.858824 | supressed_hs |\n", + "| llm prob ratio | llm_log_prob_true|| | 0.843137 | llm_log_prob_true |\n", + "| acts-self_attn->none->mean | acts-self_attn->none->mean | 0.810784 | acts-self_attn->none->mean |\n", + "| acts-mlp.up_proj->none->sum | acts-mlp.up_proj->none->sum | 0.763725 | acts-mlp.up_proj->none->sum |\n", + "| acts-mlp.down_proj->none->std | acts-mlp.down_proj->none->std | 0.704902 | acts-mlp.down_proj->none->std |\n", + "| supr_amounts->none->sum | supr_amounts->none->sum | 0.703922 | supr_amounts->none->sum |\n", + "| acts-mlp.down_proj->none->last | acts-mlp.down_proj->none->last | 0.684314 | acts-mlp.down_proj->none->last |\n", + "| supr_amounts->none->flatten | supr_amounts->none->flatten | 0.676471 | supr_amounts->none->flatten |\n", + "| hidden_states | hidden_states->none->flatten | 0.669608 | hidden_states->none->flatten |\n", + "| acts-mlp.up_proj->none->flatten | acts-mlp.up_proj->none->flatten | 0.660784 | acts-mlp.up_proj->none->flatten |\n", + "| supr_amounts->none->mean | supr_amounts->none->mean | 0.652941 | supr_amounts->none->mean |\n", + "| acts-mlp.down_proj->none->flatten | acts-mlp.down_proj->none->flatten | 0.647059 | acts-mlp.down_proj->none->flatten |\n", + "| acts-mlp.down_proj->none->sum | acts-mlp.down_proj->none->sum | 0.639216 | acts-mlp.down_proj->none->sum |\n", + "| llm_ans | llm_ans|| | 0.639216 | llm_ans |\n", + "| acts-mlp.down_proj->none->mean | acts-mlp.down_proj->none->mean | 0.627451 | acts-mlp.down_proj->none->mean |\n", + "| acts-mlp.down_proj->none->min: | acts-mlp.down_proj->none->min: | 0.597059 | acts-mlp.down_proj->none->min: |\n", + "| acts-mlp.up_proj->none->mean | acts-mlp.up_proj->none->mean | 0.596078 | acts-mlp.up_proj->none->mean |\n", + "| acts-self_attn->none->sum | acts-self_attn->none->sum | 0.571569 | acts-self_attn->none->sum |\n", + "| supr_amounts->none->std | supr_amounts->none->std | 0.557843 | supr_amounts->none->std |\n", + "| acts-mlp.up_proj->none->max | acts-mlp.up_proj->none->max | 0.555882 | acts-mlp.up_proj->none->max |\n", + "| acts-mlp.up_proj->none->std | acts-mlp.up_proj->none->std | 0.519608 | acts-mlp.up_proj->none->std |\n", + "| acts-self_attn->none->std | acts-self_attn->none->std | 0.512745 | acts-self_attn->none->std |\n", + "| supr_amounts->none->max | supr_amounts->none->max | 0.44902 | supr_amounts->none->max |\n", + "| acts-mlp.down_proj->none->max | acts-mlp.down_proj->none->max | 0.445098 | acts-mlp.down_proj->none->max |\n", + "| acts-self_attn->none->min: | acts-self_attn->none->min: | 0.445098 | acts-self_attn->none->min: |\n", + "| acts-self_attn->none->max | acts-self_attn->none->max | 0.444118 | acts-self_attn->none->max |\n", + "| acts-mlp.up_proj->none->min: | acts-mlp.up_proj->none->min: | 0.430392 | acts-mlp.up_proj->none->min: |\n", + "| supr_amounts->none->min: | supr_amounts->none->min: | 0.423529 | supr_amounts->none->min: |\n", + "| supr_amounts->none->first | supr_amounts->none->first | 0.422549 | supr_amounts->none->first |\n", + "| acts-self_attn->none->first | acts-self_attn->none->first | 0.421569 | acts-self_attn->none->first |\n", + "| acts-mlp.down_proj->none->first | acts-mlp.down_proj->none->first | 0.418627 | acts-mlp.down_proj->none->first |\n", + "| acts-self_attn->none->last | acts-self_attn->none->last | 0.415686 | acts-self_attn->none->last |\n", + "| acts-mlp.up_proj->none->first | acts-mlp.up_proj->none->first | 0.411765 | acts-mlp.up_proj->none->first |\n", + "| supr_amounts->none->last | supr_amounts->none->last | 0.37549 | supr_amounts->none->last |\n", + "| acts-mlp.up_proj->none->last | acts-mlp.up_proj->none->last | 0.360784 | acts-mlp.up_proj->none->last |\n", + "| acts-self_attn->none->flatten | acts-self_attn->none->flatten | 0.331373 | acts-self_attn->none->flatten |\n" ] } ], @@ -1641,14 +1385,14 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_4009638/1808615273.py:11: UserWarning: No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n", + "/tmp/ipykernel_1036655/1808615273.py:11: UserWarning: No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n", " plt.legend().remove()\n" ] }, @@ -1658,13 +1402,13 @@ "PosixPath('../figs/truthfulqa_Qwen_Qwen3-1.7B.png')" ] }, - "execution_count": 100, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqoAAAHJCAYAAABNDRsDAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAgQpJREFUeJzt3XdcVvX///EHS3EgQm5SUUs0BcSFe2ClklszxfTjXrkzQy33NnPgBPc2C0eOLC1XmbPUXORARc2BiJo4uLh+f/jj+noJKBjIBTzvtxs3uc55n/d5va4Dly/e533OsTIajUZERERERCyMdWoHICIiIiISHxWqIiIiImKRVKiKiIiIiEVSoSoiIiIiFkmFqoiIiIhYJBWqIiIiImKRVKiKiIiIiEVSoSoiIiIiFkmFqohYLD2PJOPSsRcRUKEqIknk7++Pm5vbC7/atm37n/bxzz//0LVrV65cuWJa5uPjg7+//wu3i46Oxt/fHy8vL8qWLcvvv/+eqP3F17fRaGTjxo20a9eOSpUq4eXlRYMGDQgICCAiIiLBvmJiYqhVqxZubm789ddfL913WFhYnPevVKlS1KhRg2HDhnH79u04bYODgxOVV1qwf/9+3Nzc2L9/P/Dqx/5Fdu7cSbdu3ahWrRqenp7UrVuXCRMmcO3atf8cf3L76aefeP/9982WHT58mH79+lGzZk08PDyoU6cOX375JefOnUulKON39uxZunXrRoUKFfD29ubzzz/n5s2bSerj/v37+Pj4vPRnPPbnJqGvmTNnAhAQEBBnXZkyZWjcuDGrV69+5Vzl9bFN7QBEJG3p2bMnrVq1Mr2ePXs2J0+eNP3HAJA9e/b/tI/ffvuNXbt2JXm7PXv2sG7dOnr27EmVKlV45513Xmn/jx8/pl+/fuzatYvmzZvToUMH7O3tOX78OEuXLiU4OJi5c+fi5uYWZ9tff/2VW7duUbRoUVavXs2YMWMStc8ePXpQq1YtAB49esSFCxcICAjg7NmzrFy5EoA8efKwZs0aChUq9Ep5WaJSpUqxZs0a3nrrLeDVj31CRowYwapVq2jQoAHDhw/HwcGBs2fPsmzZMoKDg5kxYwaVKlVKtv39V7t27aJGjRqm1/PmzWPq1KlUq1aNQYMGkTt3bi5evMiqVato2rQp48eP54MPPkjFiJ+6fv067dq1o1ChQkyePJmoqCimTp1Khw4dWLduHXZ2di/tIzIykp49e5r9kZKQ2J+b502bNo3jx4/HeU9i28bExHD//n12797N8OHDsbGx4cMPP0xklpIaVKiKSJIUKlTIrFBydnYmU6ZMlClTJvWC+v/u3LkDQLNmzShYsOAr9zNjxgx27drFvHnzqFatmml55cqVadq0KR9//DF9+vRhw4YN2Nvbm20bHByMl5cX1atXZ86cOfj7+yeqcC9UqJDZe+jt7Y2dnR1Dhgzh77//5u2337aY9zk5Zc+ePcVyWrVqFatWrWLs2LG0aNHCtLxSpUo0adKELl260K9fPzZt2kSuXLlSJIak2rNnj+mPm127dvH111/Ts2dP+vbta2pTsWJFmjRpwqeffoq/vz/Fixfn7bffTq2QAVi7di337t1jzpw5ODk5AU8/G9q1a8fvv/9O9erVX7j9jh07GDt2LP/++2+i9hffz82OHTvYt28f06dPp0iRImbrnm9bo0YNTp8+zerVq1WoWjid+heRFBEcHMw777zD2rVrqVq1KhUrVuTs2bPxnsYNDg7Gzc2NsLAwgoODGTx4MAB16tQxa/vkyRMmTZpE1apVKVOmDB07duTixYvA0ykJsW3fffdd2rZtm+Cpcn9/f3x8fOKN+/79+yxdupTmzZubFamxcufOzdChQwkNDWXTpk1m6yIjI9m+fTu1a9emQYMGREVFsWHDhiS+c//H0dERACsrKyDuqf/Y9/jo0aN89NFHuLu7U7t2bRYsWGDWT1hYGIMGDaJatWqUKlWKypUrM2jQILMpDD4+PowbN47//e9/eHh4MHToUKpVq8ann34aJ67333+fL774Is7y06dP4+bmxk8//WRadujQIdzc3Jg2bZppWUREBCVLlmTTpk1mp/5f9djHx2g0MnfuXKpVq2ZWpMbKnj07Y8aMISIighUrVhATE0OlSpXMRsAfP36Mp6cnfn5+Zts2btyYYcOGAU9H6AIDA3nvvfcoXbo0devWZdmyZWbt27Zty9ChQwkMDKRWrVq4u7vTqlUrjh07Fuf9i4yMpGLFigDMmTOHokWL0qdPnzjx29nZMWrUKGxsbAgKCgKgadOm9OjRw6zdu+++axqpj9WzZ086depker127Vo++OADSpcuTa1atQgICMBgMJjW+/v70759e7777jvq1q1L6dKlady4Mbt37za18fPzY+XK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VUnzEnvlYFoWm6NyTT8ySp6gXNOrjJLrf80zI14AlZx0eyoRERGRFJLSt5RKTro9lUgyux35gK8W70ztMEREROJwyePIJ62rYm1tlSYKVUukQlXStOhoA6FXIlI7DBEREUkB6XtiiYiIiIikWSpURURERMQiqVAVEREREYukQlVERERELJIKVRERERGxSCpURURERMQiqVAVEREREYukQjWNiIiIYO3ata+8fdu2bfH39090ex8fHwICAl55fyIiIiL/lW74n0ZMmjSJsLAwPvzww1faPiAgABsbm2SOSkRERCTlqFBNI4zG//botZw5cyZPICIiIiKviU79vyYhISF069aNChUqULp0aerUqcPChQvN2uzZs4ePPvoIT09PatSowdSpUzEYDPj7+7Nu3ToOHDiAm5tbvP1HRUUxdOhQqlatiru7O02aNOHHH380rX/21H9wcDDvvfee6d/SpUvTrFkzDh8+HG/f//77L61bt6ZRo0bcvn073jZubm7MmDGD2rVrU61aNUJDQ/Hx8SEwMJCuXbvi6emJj48P27dvZ/v27dStW5cyZcrQqVMnwsPDX+UtFRERkXROheprEBUVRceOHcmZMyerV69m06ZN1KtXj4kTJ3Lq1CkA/vjjD7p27Uq5cuUIDg5mzJgxrF69mtmzZzN06FDq16+Pl5cXe/fujXcf06dP58yZMwQGBrJlyxZq1KhB//79CQsLi7f9tWvXWL16NZMnT2bdunVkyZIFf3//OCO3UVFRdO/enYcPH7J06VKcnZ0TzHPlypXMmDGDmTNn4urqCsDs2bPx9fXl+++/p0SJEgwaNIi5c+cyefJk5s6dy/HjxwkKCnqFd1VERETSO536fw2ioqJo164dbdq0IVu2bAD06dOH+fPnc+bMGUqWLMmyZcvw9PRk0KBBABQrVoxRo0YRHh6Og4MD9vb22NnZkTt37nj3cenSJbJly0bBggXJkSMHffv2pUKFCjg6Osbb/smTJ4wcOZKSJUsC0KFDBz755BNu3rxJnjx5AHj06BE9evTg33//ZfHixQn2Fatx48a4u7ubLatVqxZNmjQBoGXLluzYsYP+/fvj4eEBQJUqVfj7778T8S6KiIhIRqNC9TVwdnbGz8+PTZs2cfLkSS5dusTp06cBiImJAZ5ODahatarZdnXr1k30Prp06UL37t2pXLkyHh4e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Z/v27dStW5cyZcrQqVMnwsPD492+bdu2jB07lgEDBphiDAwMfGER/c8//9CjRw+8vLyoUaMG33//fZw2O3fupGXLlnh5eVGtWjXGjx/Pw4cPAWjWrBljxowxtd2+fTtubm788MMPpmUTJkygffv2wNNpBd9++y3t27fHw8ODatWqMXPmzBe+L89zc3NjxYoVtGzZEnd3dxo2bMiOHTtM6wMCAvj444/p378/ZcuWZfTo0QD88ccftGvXjnLlyuHt7c3gwYOJiPi/R57q1L+IiIgkJFUL1aioKDp27EjOnDlZvXo1mzZtol69ekycOJFTp07xxx9/0LVrV8qVK0dwcDBjxoxh9erVzJ49m6FDh1K/fn28vLzYu3cvAAMGDCBv3rx89913rF27Fmtra3r16vXSOGbPno2vry/ff/89JUqUYNCgQcydO5fJkyczd+5cjh8/TlBQUILbr1q1CgcHB4KDg+nfvz+zZs1KsH10dDSdO3cmIiKC5cuXM336dBYsWGDW5qeffqJHjx7UqlWL4OBgRo4cyZYtWxgwYAAAtWvX5tdffzW1/+2337CysmL//v2mZTt37qROnTqm1xMnTqRp06Zs3ryZjz/+mICAAA4ePPjS9+ZZX331FY0bN2bDhg3UrFmTXr16ceTIEdP6gwcPkitXLjZs2EDbtm05duwYbdu25e233+abb75h+vTpHD16lE6dOmEwGJK0bxEREcl4UvXUf1RUFO3ataNNmzZky5YNgD59+jB//nzOnDnD7t278fT0ZNCgQQAUK1aMUaNGER4ejoODA/b29tjZ2ZE7d24ALl26RJUqVXBxccHOzo5x48Zx/vx5YmJisLZOuCavVasWTZo0AaBly5bs2LGD/v374+HhAUCVKlX4+++/E9y+SJEijBgxAisrK4oVK8a5c+dYunQpXbp0wcrKyqztvn37+Pvvv/npp58oVKgQAOPHjzftHyAwMJD33nuPnj17mvo3Go188sknnD17Fh8fH2bOnMm1a9fInz8/v/76K3Xq1DEVqpcuXeLChQv4+PiY+mzSpAmNGzcGoHv37ixYsIAjR45QoUKFFx+kZzRr1ow2bdoAMHDgQA4cOMDy5cspW7asqU2fPn1wcHAAoF+/fri5ufHll18CT4/f119/TePGjdm7dy81a9ZM9L5FREQk40nVEVVnZ2f8/PzYtGkTw4cPp0OHDtSqVQuAmJgYQkJC8PT0NNumbt26+Pn5xdtf//79WbRoEd7e3nTv3p0ff/yREiVKYG1tzdy5c/Hy8jJ9DRs2zLRd4cKFTd9nyZIFwFREAtjb2/P48eME8/D29jYrSL28vLh586bZKe5YISEhODo6mvVfsmRJ7O3tzdo8W/wBVKxY0bSuVKlS5M2bl19//ZWrV68SFhZGt27dOHfuHDdv3mTnzp2ULFkSFxcX0/bFihUz68/BwYEnT54kmFNCeT7Ly8uLkJAQ0+s33njDVKQmlEeJEiVwcHB46ZQMERERkVQdUb158yYfffQRzs7O+Pj4UK1aNdzd3U0jbba2SQuvTZs21KtXj127drFv3z5mzJjBnDlzWL9+Pa1ataJ+/fqmttmzZzd9H99+nh8JfZHnt4+JiQHAxsYm3n5j1yfUR3zzW2O3iW337Ol/d3d3PDw8yJs3L/v372fXrl1mp/0BMmXKFKfPpF6M9nyeBoPBbKT62WL7Rf0bjUbs7OyStG8RERHJeFJ1RHXTpk3cuXOHVatW0bNnT9577z0iIyOBp8VMsWLFOH78uNk2S5YsMd2O6tliMjw8nFGjRvHkyROaNWvG5MmT2bhxIzdv3uTAgQPkzJmTwoULm77eeOONZMvj+RiPHDnCm2++iaOjY5y2JUuW5N69e2ZTCUJDQ7l//77ptZubm9ncT4BDhw4B/zcy6uPjw759+9i3bx+VK1cGoHLlyvz888/s378/TqGaHJ7P848//qBUqVIJtndzc+Pw4cNmy06fPs39+/fjjPCKiIiIPC9VC9V8+fIRFRXFDz/8wNWrV9m7d6/pgqHHjx/TuXNn/vzzT6ZPn05oaCi7du1i9uzZpukBWbNm5caNG1y+fBlHR0d27tzJF198walTp7h8+TKrV6/Gzs6O0qVLp2gehw4dYsaMGYSGhvLtt9+yYsUKOnfubFp/+/Zt7t27Bzw9fR477/bPP//k+PHjDBo0yGxksnPnzvz444/Mnj2bCxcu8MsvvzB69Ghq165tKvAqV67Mo0eP+PHHH80K1a1bt5I7d27eeeedZM9zyZIlfP/991y4cIGJEydy5swZ/ve//yXYvkOHDpw5c4bRo0dz7tw59u/fz8CBA3nnnXdMMYuIiIgkJFVP/derV48TJ04wYcIE7t+/j4uLCx9++CE7duzg+PHjtG7dmlmzZjFjxgyCgoLIkycP7dq1o0ePHsDTC4R++uknGjRowI8//khQUBATJ06kffv2REVFUbJkSQIDA83mg6aEOnXqcO7cORo1akSePHkYPHgwrVu3Nq1v0aIFFStWZMKECVhbWzNv3jzGjBlDx44dsbe3p1u3bly5csXUvm7dunz99dfMmTOH2bNn4+zsTIMGDejTp4+pTaZMmahSpQp79+6lTJkywNNCNSYmxuwiquTUqlUrFi9eTEhICCVKlGDBggWUKFEiwfaenp7Mnz+fadOm0aRJE7Jnz867777Lp59+qlP/IiIi8lJWRt01/z9p27YtLi4uTJgwIbVDSVFubm6MHz+eZs2aJWu/NWrUwM/Pj+7du7/S9jfC79Fv4sZkjUlEXg9XFyfG9fUlIuJfoqPjzt1Pi2xtrXFyypauckpIRsk1o+QJry9XZ+ds2Ngk7qR+mn4ylaRdt2/f5uzZs4SHh5MvX77UDkdEREQskArVDK579+5mDwqIT3BwcLLvd+PGjUybNo3KlSvz7rvvJnv/IiIikvapUP2Pli1bltoh/CcjR440PZo1IQUKFEj2+562b9/e9IhXERERkfioUM3g8ubNm9ohiIiIiMQrVW9PJSIiIiKSEBWqIiIiImKRVKiKiIiIiEXSHFVJ02xtbXB1cUrtMETkFbjkifuYaRGRZ6lQlTTN2TEr4/r6pnYYIvKKDIYYYmL03BkRiZ8KVUnz7t6NwmBI308LsbGxJkeOLMo1HckoecKLc42JMapQFZEEqVCVNM9giEn3j7WLpVzTn4ySJ2SsXEUkeehiKhERERGxSCpURURERMQiqVAVEREREYukOaqS5tnYpP+/t2JzVK7pR0bJExLOVRdSicjLqFCVNC9HjiypHcJro1zTn4ySJ8TN1WCI4c6dBypWRSRBKlQlTbsd+YCvFu9M7TBEJIlc8jjySeuqWFtbqVAVkQSpUJU0LTraQOiViNQOQ0RERFJA+p8cJSIiIiJpkgpVEREREbFIKlRFRERExCKpUBURERERi6RCVUREREQskgpVEREREbFIKlRFRERExCKpUJUUdfXqVTZv3pzaYYiIiEgapEJVUtTnn3/Onj17UjsMERERSYNUqIqIiIiIRVKh+pxdu3bRrFkzPD09qVy5Mv7+/kRGRrJ//37c3NwICwsztX1+Wdu2bRk7diwDBgzA09OTGjVqEBgYiNFoNLV/5513CAwMxNvbm2bNmhETE/PSmB4/fszEiRPx8fGhdOnSVKxYkb59+3L79m0AwsLCcHNzY/PmzTRp0gR3d3eaNWvGuXPnmDVrFlWqVKFixYqMHDnSFAvAzp07admyJV5eXlSrVo3x48fz8OFD03o3NzeCg4PNYnl2WUBAAO3btycwMJAaNWrg7u7Oxx9/zLlz50zvx4EDB1i3bh0+Pj4AHDt2DD8/P7y8vKhQoQK9e/fm6tWrST5OIiIikv6pUH3G7du36dWrF82bN2fLli3MnDmTgwcPMmnSpET3sWrVKhwcHAgODqZ///7MmjWLoKAg03qDwcCuXbtYs2YNY8eOxdr65Ydg0qRJ/Pjjj0yYMIFt27YxYcIEfv/9d+bMmWPWburUqQwZMoS1a9dy9+5dWrduTWhoKMuWLaN///6sXLmSX375BYCffvqJHj16UKtWLYKDgxk5ciRbtmxhwIABic4V4NChQxw+fJjAwEBWrlxJeHg4I0eOBJ4Wsl5eXtSvX59vv/0Wg8FAt27dqFChAhs3bmTx4sVcvXqVIUOGJGmfIiIikjHYpnYAluT69es8fvyYAgUK4OLigouLC3PnzsVgMBAZGZmoPooUKcKIESOwsrKiWLFinDt3jqVLl9KlSxdTm44dO+Lq6prouNzd3alXrx7ly5cHwMXFhSpVqhASEmLWrmPHjlSsWBGA9957j2XLljFq1CiyZMlCsWLFCAgI4O+//8bHx4fAwEDee+89evbsaYrbaDTyySefcPbsWd56661ExRYdHc2kSZNwdHQEoFWrVkyePBmAnDlzYmdnh729Pc7OzkRGRhIREUGePHlwcXGhYMGCTJs2jfDw8ES/FyIiIpJxaET1GSVLlqRBgwZ0796datWq8fnnnyepaAPw9vbGysrK9NrLy4ubN28SERFhWpaUIhWgcePGPH78mK+++opevXrh6+vLDz/8EGfaQOHChU3fZ82alVy5cpElSxbTMnt7ex4/fgxASEgIZcuWNds+tsh9vgB+kVy5cpmKVAAHBweePHkSb1tHR0c6d+7M6NGjqVy5Mn379uXgwYO4ubklen8iIiKScahQfc6UKVPYunUrnTt3JiIigs8++4xOnTrF29ZgMMRZZmtrPkgdW0za2NiYlmXOnDlJMQ0bNoz+/fvz5MkTfHx8mDJlCh988MFL9/2iaQXPzlV9Ptbn+4kVHR0dZ1mmTJleGPvzBg4cyM8//0y/fv0wGo2MHj2a5s2bmwpoERERkVgqVJ9x9OhRxo0bR9GiRU0XCY0bN47ff//dVPTdv3/f1D40NDROH8ePHzd7feTIEd58802zUcekiIiIYM2aNQwfPpzBgwfTrFkzSpYsyfnz5+MtNhPLzc2NI0eOmC07dOgQAMWKFQPAzs7OLN+LFy++8v4Azp8/z/Dhw3njjTdo3bo1M2bMYP78+Zw7d47Tp0//p75FREQk/dEc1Wdkz56dlStXYmdnR8uWLXn06BFbtmzB1dWVEiVKkDVrVgIDA+nXrx8XL15k0aJFcfo4dOgQM2bMoFGjRhw6dIgVK1YwePDg/xSTg4MDO3bsoFSpUjx8+JDly5dz4sQJPD09X7nfzp0707dvX2bPnk39+vUJDQ1l9OjR1K5d21SolilThrVr11KhQgWMRiPjx49P8ghqtmzZuHLlCv/88w9OTk5s3ryZhw8f0rVrV6ytrVm3bh2Ojo4ULVr0lXMRERGR9Ekjqs+IveDo999/p0mTJrRu3RobGxuCgoJwcHBg8uTJnDx5El9fX6ZPn87nn38ep486depw7tw5GjVqxNy5cxk8eDCtW7d+5Zjs7OyYPn06ISEhNGzYkM6dOxMVFcWAAQM4e/YsUVFRr9Rv3bp1+frrr9m6dSsNGzZk+PDhfPDBB0ybNs3UZsSIETg6OtKyZUt69+7Nhx9+SL58+ZK0n1atWhESEkKjRo3IkSMHQUFBXLlyhZYtW9K0aVPCwsJYtGgR2bNnf6U8REREJP2yMv6X88dipm3btri4uDBhwoTUDiXDuBF+j34TN6Z2GCKSRK4uTozr60tExL9ER7/8ftJpha2tNU5O2dJdXvHJKLlmlDzh9eXq7JwNG5vEjZVqRFVERERELJLmqKaiLVu2MHTo0Be26dChA3369HlNEYmIiIhYDhWqyWjZsmVJal+zZk3Wr1//wjY5cuT4DxGJiIiIpF0qVFNRtmzZyJYtW2qHISIiImKRNEdVRERERCySClURERERsUgqVEVERETEImmOqqRptrY2uLo4pXYYIpJELnle7bHSIpKxqFCVNM3ZMSvj+vqmdhgi8goMhhhiYvTMGRFJmApVSfPu3o3CYEjfTwuxsbEmR44syjUdySh5QsK5xsQYVaiKyAupUJU0z2CISfePtYulXNOfjJInZKxcRSR56GIqEREREbFIKlRFRERExCKpUBURERERi6Q5qpLm2dik/7+3YnNUrulHSuepC5VEJD1QoSppXo4cWVI7hNdGuaY/KZWnwRDDnTsPVKyKSJqmQlXStNuRD/hq8c7UDkPEorjkceST1lWxtrZSoSoiaZoKVUnToqMNhF6JSO0wREREJAWk70lgIiIiIpJmqVAVEREREYukQlVERERELJIKVRERERGxSCpURURERMQiqVAVEREREYukQlVERERELJIK1Xi4ubkRHByc4PqAgAB8fHwSXB8WFoabmxv79+9PsI2/vz9t27b9T3Emt4iICNauXZukbQ4fPsyhQ4dSKCIRERHJyFSovoKOHTvy7bffpnYYyW7SpEls3LgxSdv4+flx6dKlFIpIREREMjI9meoVZMuWjWzZsqV2GMnOaNSjFkVERMRyaEQ1ARcuXKB9+/a4u7tTvXp15s2bZ1r3/Kn/kJAQ2rVrR5kyZXjvvffYt2+fWV9Go5HZs2dTo0YNypQpw+DBg3n06JFZm+vXr9O/f3/Kly+Pt7c33bt3JzQ01LTe398ff39/Jk6cSOXKlfH09KRbt25cv3490TmFh4fTp08fvL298fDwoFWrVhw4cMDU/7p16zhw4ABubm4AREZG8sUXX1C9enVKlSpF5cqV+eKLL4iKigIwtRs8eDD+/v6JyuNFMYiIiIg8S4VqApYvX06TJk3YsmULrVu35uuvv45TgALcu3eP9u3b4+DgwNq1axkxYgRz5swxaxMYGMj8+fMZNGgQwcHB5MiRgy1btpjWP3jwwDRfdfny5SxbtgwnJydatmxpVohu2rSJO3fusHz5coKCgjhx4gTTpk1LdE4jRozg0aNHLF++nO+//54iRYrQs2dPHjx4wNChQ6lfvz5eXl7s3bsXeFq8njx5kpkzZ7Jt2zYGDx7M+vXrWbNmDYCp3ZAhQxg6dGii8nhRDCIiIiLPUqGaAD8/P5o0aULBggXp2bMnDg4O/PXXX3Habd68maioKCZMmMDbb79N1apVGTJkiGm90Whk2bJltGvXjgYNGlC0aFEGDx5MyZIlzfq4e/cukydPpkSJEhQvXpyxY8eSPXt2vvnmG1M7BwcHRo0aRbFixahYsSK+vr4cOXIk0TldunSJHDlyULBgQQoXLszQoUOZMWMGNjY2ODg4YG9vj52dHblz5wagatWqjB8/Hk9PT958800aNWrEO++8Q0hICICpnYODAw4ODonK40UxiIiIiDxLc1QT4OrqavY6R44ccU7Xw9PT/q6urjg4OJiWeXl5mb6PiIjg5s2buLu7m21XpkwZzp07B8DJkyeJjIykQoUKZm0ePXpkagNQqFAh7OzsTK8dHBx48uRJonPq1asXn332Gdu2baNcuXJUq1aNBg0akDlz5njb+/n58fPPP7Nu3TpCQ0M5e/YsYWFhFC1aNN72ickjqTGIiIhIxqVCNQHxjfDFd7GRlZUVMTExZstsbW3N1se37bNtYmJiKFKkSJwpAwBZs2Y1fZ8pU6ZERh+/9957jz179rBnzx5+++03Fi1axMyZM/nmm294++23zdrGxMTQrVs3/v77bxo0aICvry+lSpXiyy+/TLD/xOSRlBhEREQkY9Op//+oRIkShIaGcvv2bdOyZ6cIODk5kT9/fg4fPmy23bNtihcvztWrV3FwcKBw4cIULlyYAgUKMGXKFA4ePJgscT5+/Jjx48dz+fJlfH19GTNmDNu3b8fa2pqdO3cC/1dUA5w6dYrdu3czffp0Bg4cSKNGjShUqBCXLl1K8O4AL8sjMTGIiIiIxFKh+h998MEHvPHGG3z66aecPn2aAwcOMHbsWLM2Xbp0YcWKFaxdu5YLFy4wbdo0jh07ZlrfqFEjHB0d6dOnD0ePHuXcuXP4+/uze/du05X1/1WmTJk4fvw4X375JX/++SdhYWEEBwfz4MED01SFrFmzcuPGDS5fvkyuXLmwtbVl69atXL58mePHj9OvXz9u3rzJ48ePTf1mzZqVc+fOERER8dI8EhODiIiISCwVqv9R1qxZWbJkCXZ2drRu3ZpBgwbRuXNnszZt2rThs88+Y86cOTRu3Ji///6bFi1amNY7ODiwfPlynJyc6NSpEy1atOD69essXLiQYsWKJVusU6dOpWDBgvTo0YN69eqxevVqvvrqK8qXLw9AkyZNiIqKokGDBgBMmDCBn3/+GV9fX/r27UvevHlp37692Whwx44dWb58OYMHD05UHi+LQURERCSWlVF3eZc07Eb4PfpNTNrTtETSO1cXJ8b19SUi4l+io2NevkEKs7W1xskpm8XEk5KUa/qTUfKE15ers3M2bGwSN1aqEVURERERsUi66j8d2LJlC0OHDn1hmw4dOtCnT5/XFJGIiIjIf6dCNR2oWbMm69evf2GbHDlyvJ5gRERERJKJCtV0IFu2bGTLli21wxARERFJVpqjKiIiIiIWSYWqiIiIiFgkFaoiIiIiYpE0R1XSNFtbG1xdnFI7DBGL4pLHMbVDEBFJFipUJU1zdszKuL6+qR2GiMUxGGKIidHzXEQkbVOhKmne3btRGAzp+2khNjbW5MiRRbmmIymdZ0yMUYWqiKR5KlQlzTMYYtL9Y+1iKdf0J6PkKSLyKnQxlYiIiIhYJBWqIiIiImKRVKiKiIiIiEXSHFVJ82xs0v/fW7E5KlfLpguYRESSlwpVSfNy5MiS2iG8NsrVshkMMdy580DFqohIMlGhKmna7cgHfLV4Z2qHIYJLHkc+aV0Va2srFaoiIslEhaqkadHRBkKvRKR2GCIiIpIC0t4kMBERERHJEFSoioiIiIhFUqEqIiIiIhZJhaqIiIiIWCQVqiIiIiJikVSoioiIiIhFUqEqIiIiIhZJhWoa5ubmRnBwMAABAQH4+PikckQiIiIiyUeFqoiIiIhYJBWqIiIiImKRVKimU25ubqxZswY/Pz/c3d2pX78+R44cYc2aNdSqVYuyZcvSr18/Hj58mOg+r169Sv/+/alcuTKlSpWiRo0aTJ48mZiYGACCg4N57733TP+WLl2aZs2acfjwYVMfx44dw8/PDy8vLypUqEDv3r25evVqsucvIiIiaZ8K1XRs6tSpdO7cmQ0bNuDg4ED37t3Ztm0bgYGBjB8/nu3bt7N27dpE99ejRw/u3bvHokWL+OGHH+jYsSPz58/n559/NrW5du0aq1evZvLkyaxbt44sWbLg7++P0WjEYDDQrVs3KlSowMaNG1m8eDFXr15lyJAhKZG+iIiIpHEqVNOx5s2b4+PjQ9GiRWncuDGRkZEMGzaM4sWLU7duXUqWLMnff/+dqL4ePnxI48aNGT16NCVKlKBgwYK0b9+eXLlycebMGVO7J0+eMHLkSMqUKcPbb79Nhw4duHTpEjdv3uT+/ftERESQJ08eXFxcKFWqFNOmTaNfv34p9A6IiIhIWmab2gFIyilcuLDp+yxZsgBQqFAh0zJ7e3seP36cqL7s7e35+OOP+eGHHzh27BgXL17kzJkz3Lp1y3TqP1axYsVM3zs4OABPC9g8efLQuXNnRo8ezYwZM6hUqRI1a9akfv36r5yjiIiIpF8aUU3HbG3j/h1ibf1qh/zBgwe0atWKuXPnkiNHDpo2bcrKlSvJly9fnLaZMmWKs8xoNAIwcOBAfv75Z/r164fRaGT06NE0b9480QWziIiIZBwaUZVE2bt3LydOnODXX38lV65cANy5c4fw8HBTEfoy58+fZ8mSJQwZMoTWrVvTunVrDh8+jJ+fH6dPn8bDwyMlUxAREZE0RoWqJErsyOnGjRupW7cu165d4+uvv+bJkyeJHg11cnJi8+bNPHz4kK5du2Jtbc26detwdHSkaNGiKRm+iIiIpEEqVCVRPDw8GDx4MIsXL2batGnkzZsXX19f8ufPz/HjxxPVh5OTE0FBQUyZMoWWLVtiMBgoU6YMixYtInv27CmcgYiIiKQ1VsbEnrcVsUA3wu/Rb+LG1A5DBFcXJ8b19SUi4l+io2Ne2t7W1honp2yJbp+WKdf0KaPkmlHyhNeXq7NzNmxsEnfNjC6mEhERERGLpFP/wqhRo1i3bt0L28yaNYsqVaq8pohEREREVKgK0KtXL/73v/+9sE2ePHleUzQiIiIiT6lQFZydnXF2dk7tMERERETMaI6qiIiIiFgkFaoiIiIiYpFUqIqIiIiIRdIcVUnTbG1tcHVxSu0wRHDJ45jaIYiIpDsqVCVNc3bMyri+vqkdhggABkMMMTF6hoqISHJRoSpp3t27URgM6ftpITY21uTIkUW5WriYGKMKVRGRZKRHqEqal9aKmVdlY2OtXNOZjJInKNf0KqPkmlHyhNeTq7W1FVZWVolqq0JVRERERCySrvoXEREREYukQlVERERELJIKVRERERGxSCpURURERMQiqVAVEREREYukQlVERERELJIKVRERERGxSCpURURERMQiqVAVEREREYukQlVERERELJIKVRERERGxSCpURURERMQiqVAVEREREYukQlUsRkxMDDNmzKB69eqUKVOGLl26cPny5QTbb9y4ETc3tzhfYWFhpjZbt27F19cXDw8PmjRpwr59+15HKi+VErm+//77cdb7+/u/jnQSlNQ8nzx5wpQpU0ztP/74Y06dOmXWZt++fTRr1gxPT0/q1avH5s2bUzqNREmJXDt06BDnmLZt2zalU3mppOQaEBAQ78+um5sbgwcPNrVLD8c1sbla4nFN6s9veHg4n376KZUqVcLb25v+/ftz/fp1szbp5fM3Mbla4ucv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4OHhwdatW1m1ahXFihXj9OnTzJkzBysrK6Kiol5pv9euXaNHjx60a9eOa9eu8fXXX1O9enW8vb0T3KZGjRp4e3vzxRdfcP36dUqUKMGBAwcICgqiadOmvPXWW6a2MTExdO3ale7duxMREcGUKVMoXry4aT5rz549adWqFd26daN169ZkzpyZNWvWmEYvn3fjxg327NnD//73v3jnn5YrV45ChQqxZs0aunTpgpWVFQMHDqRfv350796d5s2b4+TkxI0bN1i9ejVXrlxhwoQJiXqvvLy8aNSoERs2bGDr1q3Ur1+frFmzEhAQQLdu3WjSpAkdOnTgnXfeISoqip9//plvv/2WOnXq0LdvX1M/Dg4OTJgwgV69evHhhx/y8ccf4+rqyj///MOKFSs4duwYU6ZMiTMtQyQtU6EqIvKaXLp0ifHjx8dZ3qJFi1cuVKtVq8aCBQuYOXMmffr0wc7OjlKlSrFo0SLTrY/8/f158uQJ06ZN4/Hjx7z55pv06NGDs2fP8vPPP7/SBToffPABOXLkoF+/fmTNmpWmTZvSv3//F25jZWXFvHnzmDFjBosXL+b27du8+eabDBgwIM4p/HfffZcCBQrw2WefER0dTe3atRk6dKhp3m2JEiVYsWIFU6dOZdCgQRiNRooXL86sWbOoU6dOnH2vX78eg8GAr69vgvE1btyYgIAA050L6taty8KFC1m8eDHDhw/n7t27ODs7U6FCBb755hvTHQoSY+DAgWzfvp1JkyZRq1YtsmTJgpubG8HBwSxfvpxvv/2WsLAw7O3tKVGiBJMmTYp3Oke1atVYu3YtCxcuZN68edy6dYucOXNSunRp1qxZg6enZ6JjEkkLrIzPz6QXERF5AR8fHypWrJjoEUURkVelOaoiIiIiYpFUqIqIiIiIRdKpfxERERGxSBpRFRERERGLpEJVRERERCySClURERERsUgqVEVERETEIqlQFRERERGLpEJVRERERCySClURERERsUgqVEVERETEIv0/fwPMrnDfbWoAAAAASUVORK5CYII=", + "image/png": "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", "text/plain": [ "
" ] @@ -1695,7 +1439,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ diff --git a/research_journal.md b/research_journal.md index cf32e60..42a8c12 100644 --- a/research_journal.md +++ b/research_journal.md @@ -6,3 +6,284 @@ TODO group by - supressed activations - removed attn sinks - combinations + + +| group | name | ROC AUC Score | data | +|:-------------------|:--------------------------------------|---------:|:-------------------| +| mixed | **supressed_hs**(0.1)\magnitude(0.25)\sum | 0.878431 | supressed_hs | +| act sink rm | hidden_states\magnitude(0.99)\std | 0.862745 | hidden_states | +| **supressed_hs** | supressed_hs(1)\none\sum | 0.858824 | supressed_hs | +| llm prob ratio | llm_log_prob_true\| | 0.843137 | llm_log_prob_true | +| acts-self_attn | acts-self_attn\none\mean | 0.810784 | acts-self_attn | +| acts-mlp.up_proj | acts-mlp.up_proj\none\sum | 0.763725 | acts-mlp.up_proj | +| acts-mlp.down_proj | acts-mlp.down_proj\none\std | 0.704902 | acts-mlp.down_proj | +| supr_amounts | supr_amounts\none\sum | 0.703922 | supr_amounts | +| hidden_states | hidden_states\none\flatten | 0.669608 | hidden_states | +| *llm_ans* | llm_ans\| | 0.639216 | llm_ans | + +# 2025-06-21 14:54:28 + +In this fork I'll follow the hypothesis that + +- Deceptive answers have more complex stats in the suppressed activations + +And generally I can look at the stats of +- logprobs +- hidden states +- suppressed activations + +And compare them to see if any or all work, and generalise + + Here are concrete ways to extend your approach: + + ## Statistical signatures of deception in suppressed activations + + **Theory**: Deception requires active suppression; mistakes don't. + + ```python + def deception_vs_mistake_signature(supressed_hs, model_output, true_answer): + """ + Deception: Strong suppression of correct answer + Mistake: Weak/scattered suppression + """ + # Measure suppression strength + suppression_magnitude = torch.norm(supressed_hs, dim=-1) + + # Deception signature: focused suppression in final layers + final_layer_ratio = suppression_magnitude[-5:].mean() / suppression_magnitude[:-5].mean() + + # Mistake: uniform suppression across layers + suppression_variance = suppression_magnitude.var(dim=0) + + # KEY INSIGHT: Deception shows high final_layer_ratio + low variance + # Mistakes show low ratio + high variance + deception_score = final_layer_ratio / (suppression_variance + 1e-6) + + return { + 'is_deception': deception_score > 2.0, # threshold from data + 'confidence': torch.sigmoid(deception_score - 2.0) + } + ``` + + ## Suppression coherence patterns + + **Discovery**: Truthful suppression is temporally coherent; deceptive suppression fragments. + + ```python + def suppression_coherence_test(supr_amounts_sequence): + """ + Track how suppression patterns evolve token-by-token + """ + # Compute autocorrelation of suppression patterns + coherence_scores = [] + for t in range(1, len(supr_amounts_sequence)): + prev = supr_amounts_sequence[t-1].flatten() + curr = supr_amounts_sequence[t].flatten() + coherence = torch.corrcoef(torch.stack([prev, curr]))[0,1] + coherence_scores.append(coherence) + + # Truth: stable suppression patterns (high autocorrelation) + # Deception: fragmented patterns (autocorrelation breaks) + breaks = sum(1 for c in coherence_scores if c < 0.5) + return breaks > len(coherence_scores) * 0.3 # >30% breaks = deception + ``` + + ## Intervention via suppression reversal + + **Key insight**: Don't just probe - actively reverse the suppression! + + ```python + def truthfulness_intervention(model, input_ids, layer_idx=-3): + """ + Force model to express what it's suppressing + """ + # Get normal forward pass + with torch.no_grad(): + outputs = model(input_ids, output_hidden_states=True) + hs = torch.stack(outputs.hidden_states) + + # Compute suppression + supr_amounts = get_supressed_activations(hs, model.lm_head.weight, w_inv) + + # INTERVENTION: Add suppressed content back at critical layer + def truth_hook(module, input, output): + # Reverse suppression by adding it back + if isinstance(output, tuple): + hidden_states = output[0] + else: + hidden_states = output + + # Add back what was suppressed (with scaling) + enhanced = hidden_states + 0.5 * supr_amounts[layer_idx] + + if isinstance(output, tuple): + return (enhanced,) + output[1:] + return enhanced + + # Register hook and generate + handle = model.model.layers[layer_idx].register_forward_hook(truth_hook) + truthful_output = model.generate(input_ids, max_new_tokens=50) + handle.remove() + + return truthful_output + ``` + + ## KV-cache synchronization test + + **Theory**: Honest models maintain KV-suppression synchrony; deceptive models desynchronize. + + ```python + def kv_suppression_sync(model, input_ids): + """ + Measure alignment between KV cache and suppression patterns + """ + outputs = model(input_ids, output_hidden_states=True, use_cache=True) + past_kv = outputs.past_key_values + hs = torch.stack(outputs.hidden_states) + + # Get suppression patterns + supr = get_supressed_activations(hs, model.lm_head.weight, w_inv) + + # Project KV cache to same space + kv_patterns = [] + for layer_kv in past_kv: + k, v = layer_kv + # Use value vectors (more semantic) + v_mean = v.mean(dim=2) # average over positions + kv_patterns.append(v_mean) + kv_stack = torch.stack(kv_patterns) + + # Measure synchronization via mutual information + sync_scores = [] + for l in range(min(len(supr), len(kv_stack))): + # Discretize for MI calculation + supr_discrete = (supr[l] > supr[l].median()).float() + kv_discrete = (kv_stack[l] > kv_stack[l].median()).float() + + # Simple MI approximation + joint = (supr_discrete * 2 + kv_discrete).flatten() + mi = entropy(joint) - entropy(supr_discrete.flatten()) - entropy(kv_discrete.flatten()) + sync_scores.append(mi) + + # Deception: sudden desynchronization in final layers + desync = sync_scores[-3] - sync_scores[-1] + return desync > 0.5 # Threshold indicates deception + ``` + + ## Multi-scale suppression dynamics + + **Insight**: Combine your suppression analysis with gradient flow dynamics. + + ```python + def suppression_gradient_dynamics(model, input_ids, target_ids): + """ + How do gradients flow through suppressed vs active neurons? + """ + # Forward with gradient tracking + outputs = model(input_ids, labels=target_ids, output_hidden_states=True) + hs = torch.stack(outputs.hidden_states, dim=0).requires_grad_(True) + + # Get suppression masks + supr = get_supressed_activations(hs.detach(), model.lm_head.weight, w_inv) + suppressed_mask = (supr < -0.1).float() # Strong suppression + + # Backward pass + loss = outputs.loss + grads = torch.autograd.grad(loss, hs, retain_graph=True)[0] + + # Key metric: gradient flow through suppressed vs active neurons + suppressed_grad_norm = (grads * suppressed_mask).norm(dim=-1).mean() + active_grad_norm = (grads * (1 - suppressed_mask)).norm(dim=-1).mean() + + # Deception: high gradient through suppressed neurons (fighting suppression) + # Truth: low gradient through suppressed neurons (stable suppression) + gradient_ratio = suppressed_grad_norm / (active_grad_norm + 1e-6) + + return gradient_ratio > 1.5 # Indicates active suppression = deception + ``` + + ## The killer insight: Suppression energy landscapes + + Your suppressed neurons are essentially the model's "cognitive dissonance" - the gap between what it knows and what it says. This suggests: + + 1. **Deception requires metabolic effort** (maintaining suppression) + 2. **Truth is the low-energy state** (no active suppression needed) + 3. **Jailbreaks work by overwhelming suppression capacity** + + ## Next steps with your approach: + + 4. **Track suppression over time** - does it increase before deceptive outputs? + 5. **Measure suppression variance** - deception should show higher variance + 6. **Test on known lies vs mistakes** - calibrate your thresholds + 7. **Combine with logprob metrics** - suppression + entropy = powerful signal + + Your work is finding where models store their "guilty conscience" - this could be huge for alignment! + +see brainstorming here https://claude.ai/chat/e8ee0d74-f91d-420c-84fe-190917675d2d + + ## Conversation Summary: Neuroscience Failures as Mechanistic Interpretability's Roadmap + + ### Context + - User (gwern) is an ML-literate researcher interested in alignment, specifically detecting deception and intervening for truthfulness + - Currently working on suppressed activations in LLMs - neurons that "turn off" before final layers + - Has discovered these suppressed activations contain ~20% better truth signal than model outputs on TruthfulQA + + ### Core Thesis + Mechanistic interpretability faces identical fundamental obstacles to neuroscience despite better tools. Key parallel failures: + 1. **Localization fallacy**: Both fields wrongly assume modular, interpretable units (grandmother cells → monosemantic neurons) + 2. **Superposition/mixed selectivity**: Neurons encode multiple unrelated features as optimal solution + 3. **Circuit enumeration impossibility**: C. elegans (302 neurons) still opaque after 40 years + 4. **Correlation ≠ causation**: Perfect measurement doesn't guarantee understanding + + ### Top Research Directions (Ranked by Promise) + + #### 1. **Suppressed Activation Analysis** ⭐⭐⭐⭐⭐ + - **Idea**: Suppressed neurons contain model's "true beliefs" - probe what's being actively inhibited + - **Epistemic status**: Strong empirical support (20% AUROC improvement demonstrated) + - **MATS potential**: Extremely high - concrete, measurable, builds on user's working code + - **Next steps**: Test deception vs mistake signatures, suppression coherence patterns + + #### 2. **Logprob Entropy Cascades** ⭐⭐⭐⭐⭐ + - **Idea**: Deception shows characteristic entropy inversions in logprob sequences + - **Epistemic status**: Theoretically sound, untested + - **MATS potential**: Very high - works with API-only access, no training needed + - **Key insight**: Truth cascades naturally; lies show entropy spike then commitment + + #### 3. **Gradient Flow Dynamics** ⭐⭐⭐⭐ + - **Idea**: Track gradient redistribution under interventions instead of static analysis + - **Epistemic status**: Strong theoretical basis from neuroscience + - **MATS potential**: High - novel approach, but requires full model access + - **Implementation**: Rank-1 LoRA perturbations + gradient tracking + + #### 4. **Metabolic Cost of Deception** ⭐⭐⭐⭐ + - **Idea**: Deception requires extra computation (higher gradient norms) + - **Epistemic status**: Moderate - based on neuroscience findings + - **MATS potential**: High if validated - could enable training-time interventions + - **Key metric**: `metabolic_cost = sum(torch.norm(grad) for grad in gradients)` + + #### 5. **Multi-scale Temporal Analysis** ⭐⭐⭐ + - **Idea**: Safety properties exist at different timescales (1-10, 10-100, 100+ tokens) + - **Epistemic status**: Speculative but grounded in neuroscience + - **MATS potential**: Medium - requires long context experiments + - **Application**: Wavelet decomposition of activation trajectories + + #### 6. **Information Bottleneck for Safety** ⭐⭐⭐ + - **Idea**: Safe models show monotonic information compression; deceptive models don't + - **Epistemic status**: Theoretical, needs validation + - **MATS potential**: Medium - elegant but may be hard to measure accurately + - **Implementation**: Track I(layer_n; output | input) across layers + + ### Critical Warnings + 1. **Interpretability theater**: Cherry-picked examples that don't generalize + 2. **Dimensional delusion**: Any direction seems interpretable in high-D space + 3. **Reductionism trap**: Complex systems resist component-level analysis + + ### Key Unresolved Questions + - Where do models store memory/plans? (KV cache? Suppressed activations?) + - Can suppression patterns distinguish deception from honest mistakes? + - Do these methods work across model families and scales? + + ### Most Actionable for MATS Researcher + Focus on **suppressed activation statistics** combined with **logprob dynamics** - this leverages existing work while adding novel unsupervised detection methods. The combination of internal (suppression) and external (logprobs) signals could yield robust deception detection without labeled data. + + **Core insight**: Models' "guilty conscience" lives in what they suppress, not what they express.