{
  "mode": "hook",
  "metadata": {
    "created_unix": 1781909556.239039,
    "created_utc": "2026-06-19T22:52:36Z",
    "python": "3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0]",
    "platform": "Linux-6.8.0-62-generic-x86_64-with-glibc2.39",
    "torch_version": "2.8.0+cu128",
    "transformers_version": "5.12.1",
    "bitsandbytes_version": "0.49.2",
    "cuda": {
      "available": true,
      "torch_cuda": "12.8",
      "device_count": 1,
      "devices": [
        {
          "index": 0,
          "name": "NVIDIA RTX 6000 Ada Generation",
          "total_memory_gb": 47.38275146484375,
          "major": 8,
          "minor": 9
        }
      ]
    },
    "loader_name": "AutoModelForMultimodalLM",
    "script": "/workspace/latent_qwen_fastweight_experiment.py",
    "script_sha256": "4b46a19f2b91b7acd9d1849dfbf0962822faf615aba712a449b93cf241013392",
    "args": {
      "model_id": "Qwen/Qwen3.5-4B",
      "text_model_fallback": "Qwen/Qwen3-4B",
      "model_class": "auto",
      "mode": "hook",
      "load_in_4bit": true,
      "torch_dtype": "bf16",
      "device_map": "auto",
      "seed": 7,
      "verbose": false,
      "modulus": 97,
      "num_choices": 5,
      "min_steps": 3,
      "max_steps": 8,
      "max_length": 384,
      "hook_layer": -4,
      "runtime_dim": 256,
      "workspace_tokens": 8,
      "runtime_heads": 4,
      "num_bases": 12,
      "adapter_rank": 16,
      "mem_dim": 128,
      "dropout": 0.05,
      "init_scale": 0.05,
      "disable_fast_memory": false,
      "disable_dynamic_lowrank": false,
      "train_steps": 3,
      "batch_size": 4,
      "grad_accum": 1,
      "lr": 0.0002,
      "weight_decay": 0.01,
      "max_grad_norm": 1.0,
      "train_k": "1,2,4",
      "eval_k": "0,1,2,4,8",
      "gate_entropy_bonus": 0.0,
      "log_every": 1,
      "eval_every": 3,
      "eval_batches": 2,
      "eval_batch_size": 4,
      "candidate_batch_size": 20,
      "skip_initial_eval": false,
      "output_dir": "runs/pilot_qwen35_hook_batch4"
    }
  },
  "architecture": {
    "layer_path": "model.language_model.layers",
    "num_layers": 32,
    "hook_layer_index": 28,
    "hidden_dim": 2560,
    "runtime_dim": 256,
    "workspace_tokens": 8,
    "runtime_heads": 4,
    "num_bases": 12,
    "adapter_rank": 16,
    "mem_dim": 128,
    "disable_fast_memory": false,
    "disable_dynamic_lowrank": false
  },
  "train": [
    {
      "step": 1,
      "loss": 4.1179070472717285,
      "delta_rms": 1.3955565918877255e-05,
      "scale": 0.05000000074505806,
      "gate_entropy": 2.461815357208252,
      "mem_rms": 0.431740403175354
    },
    {
      "step": 2,
      "loss": 4.368180751800537,
      "delta_rms": 0.00019872123084496707,
      "scale": 0.05001028999686241,
      "gate_entropy": 2.464625835418701,
      "mem_rms": 0.221856489777565
    },
    {
      "step": 3,
      "loss": 4.290732383728027,
      "delta_rms": 0.0007678752299398184,
      "scale": 0.05001803860068321,
      "gate_entropy": 2.471782922744751,
      "mem_rms": 0.38503319025039673
    }
  ],
  "eval": [
    {
      "step": 0,
      "base_val": 0.375,
      "base_hard": 0.0,
      "val": {
        "0": 0.5,
        "1": 0.375,
        "2": 0.375,
        "4": 0.375,
        "8": 0.375
      },
      "hard": {
        "0": 0.0,
        "1": 0.0,
        "2": 0.0,
        "4": 0.125,
        "8": 0.125
      }
    },
    {
      "step": 3,
      "val": {
        "0": 0.375,
        "1": 0.375,
        "2": 0.375,
        "4": 0.375,
        "8": 0.375
      },
      "hard": {
        "0": 0.25,
        "1": 0.25,
        "2": 0.25,
        "4": 0.25,
        "8": 0.25
      }
    }
  ]
}