{
  "run_id": "20261011-lora01",
  "record_type": "completed_run",
  "run": {
    "started_utc": "2026-10-11T17:52:38.352240+00:00",
    "complete": true,
    "method": "supervised_lora",
    "base_weights_updated": false,
    "adapter_weights_updated": true,
    "source_dataset_sha256": "040663a230d5ce89f1d08b0c6a986b5afd66973787e4e63a00c1f16b69d7927f",
    "supervised_dataset_sha256": "f2fcfc3a1db61af1be4dc0cbb6cda55113e47abb636ae3b2effac55ef888a8d0",
    "split_counts": {
      "validation": 50,
      "train": 350,
      "test": 100
    },
    "scenario_counts": {
      "train": 70,
      "validation": 10,
      "test": 20
    },
    "template_disjoint": false,
    "config": {
      "seed": 1701,
      "epochs": 3,
      "learning_rate": 0.0001,
      "batch_size": 4,
      "gradient_accumulation_steps": 4,
      "max_length": 512,
      "lora_rank": 16,
      "lora_alpha": 32,
      "lora_dropout": 0.05,
      "target_modules": [
        "q_proj",
        "k_proj",
        "v_proj",
        "o_proj",
        "gate_proj",
        "up_proj",
        "down_proj"
      ],
      "warmup_ratio": 0.1,
      "weight_decay": 0.01,
      "max_grad_norm": 1.0,
      "checkpoint_selection": "validation_loss",
      "original_test_split_used_for_training": false
    },
    "cuda_device": "NVIDIA A40",
    "runtime": {
      "torch": "2.8.0+cu128",
      "transformers": "4.57.6",
      "peft": "0.17.1",
      "accelerate": "1.15.0",
      "safetensors": "0.8.0"
    },
    "max_encoded_length": 216,
    "loss_scope": "assistant completion and EOS; prompt and padding masked",
    "trainable_parameters": 43646976,
    "total_parameters": 8234382336,
    "completed_utc": "2026-10-11T17:57:01.027387+00:00",
    "elapsed_seconds": 263.6095310630044,
    "optimizer_steps": 66,
    "selected_checkpoint": "checkpoint-66",
    "best_validation_loss": 0.551576554775238,
    "before_validation": {
      "before_validation_loss": 7.550947189331055,
      "before_validation_model_preparation_time": 0.0201,
      "before_validation_runtime": 3.4727,
      "before_validation_samples_per_second": 14.398,
      "before_validation_steps_per_second": 3.743
    },
    "after_validation": {
      "validation_loss": 0.551576554775238,
      "validation_model_preparation_time": 0.0201,
      "validation_runtime": 3.0387,
      "validation_samples_per_second": 16.454,
      "validation_steps_per_second": 4.278,
      "epoch": 3.0
    },
    "test": {
      "test_loss": 0.5406731367111206,
      "test_model_preparation_time": 0.0201,
      "test_runtime": 6.0583,
      "test_samples_per_second": 16.506,
      "test_steps_per_second": 4.127,
      "epoch": 3.0
    },
    "train": {
      "train_runtime": 244.7474,
      "train_samples_per_second": 4.29,
      "train_steps_per_second": 0.27,
      "train_loss": 1.7596044395909165,
      "epoch": 3.0
    },
    "peak_cuda_memory_mib": 18067
  },
  "metrics": [
    {
      "utc": "2026-10-11T17:52:46.401841+00:00",
      "step": 0,
      "epoch": null,
      "gpu_memory_allocated_mib": 15799,
      "before_validation_loss": 7.550947189331055
    },
    {
      "utc": "2026-10-11T17:52:50.320055+00:00",
      "step": 1,
      "epoch": 0.045454545454545456,
      "gpu_memory_allocated_mib": 16140,
      "loss": 7.4453,
      "grad_norm": 23.705791473388672,
      "learning_rate": 0.0
    },
    {
      "utc": "2026-10-11T17:53:04.401673+00:00",
      "step": 5,
      "epoch": 0.22727272727272727,
      "gpu_memory_allocated_mib": 16140,
      "loss": 7.186,
      "grad_norm": 23.803009033203125,
      "learning_rate": 5.714285714285714e-05
    },
    {
      "utc": "2026-10-11T17:53:21.909327+00:00",
      "step": 10,
      "epoch": 0.45454545454545453,
      "gpu_memory_allocated_mib": 16140,
      "loss": 3.8125,
      "grad_norm": 1.5442029237747192,
      "learning_rate": 9.971674001050686e-05
    },
    {
      "utc": "2026-10-11T17:53:39.722220+00:00",
      "step": 15,
      "epoch": 0.6818181818181818,
      "gpu_memory_allocated_mib": 16140,
      "loss": 2.4267,
      "grad_norm": 1.2105629444122314,
      "learning_rate": 9.656680887261693e-05
    },
    {
      "utc": "2026-10-11T17:53:57.418071+00:00",
      "step": 20,
      "epoch": 0.9090909090909091,
      "gpu_memory_allocated_mib": 16140,
      "loss": 2.0068,
      "grad_norm": 1.536387324333191,
      "learning_rate": 9.013558189654819e-05
    },
    {
      "utc": "2026-10-11T17:54:07.234309+00:00",
      "step": 22,
      "epoch": 1.0,
      "gpu_memory_allocated_mib": 16140,
      "eval_loss": 1.5695651769638062
    },
    {
      "utc": "2026-10-11T17:54:18.516931+00:00",
      "step": 25,
      "epoch": 1.1363636363636362,
      "gpu_memory_allocated_mib": 16140,
      "loss": 1.5654,
      "grad_norm": 1.739941120147705,
      "learning_rate": 8.08762307473096e-05
    },
    {
      "utc": "2026-10-11T17:54:36.243946+00:00",
      "step": 30,
      "epoch": 1.3636363636363638,
      "gpu_memory_allocated_mib": 16140,
      "loss": 1.2562,
      "grad_norm": 2.2528350353240967,
      "learning_rate": 6.944120877366604e-05
    },
    {
      "utc": "2026-10-11T17:54:53.906958+00:00",
      "step": 35,
      "epoch": 1.5909090909090908,
      "gpu_memory_allocated_mib": 16140,
      "loss": 1.049,
      "grad_norm": 1.9116196632385254,
      "learning_rate": 5.6636276364186105e-05
    },
    {
      "utc": "2026-10-11T17:55:11.869040+00:00",
      "step": 40,
      "epoch": 1.8181818181818183,
      "gpu_memory_allocated_mib": 16140,
      "loss": 0.9044,
      "grad_norm": 1.718168020248413,
      "learning_rate": 4.336372363581391e-05
    },
    {
      "utc": "2026-10-11T17:55:28.890237+00:00",
      "step": 44,
      "epoch": 2.0,
      "gpu_memory_allocated_mib": 16140,
      "eval_loss": 0.7346872091293335
    },
    {
      "utc": "2026-10-11T17:55:33.056823+00:00",
      "step": 45,
      "epoch": 2.0454545454545454,
      "gpu_memory_allocated_mib": 16140,
      "loss": 0.7595,
      "grad_norm": 1.87587308883667,
      "learning_rate": 3.055879122633397e-05
    },
    {
      "utc": "2026-10-11T17:55:50.895301+00:00",
      "step": 50,
      "epoch": 2.2727272727272725,
      "gpu_memory_allocated_mib": 16140,
      "loss": 0.6314,
      "grad_norm": 2.0444180965423584,
      "learning_rate": 1.912376925269041e-05
    },
    {
      "utc": "2026-10-11T17:56:08.771662+00:00",
      "step": 55,
      "epoch": 2.5,
      "gpu_memory_allocated_mib": 16140,
      "loss": 0.5102,
      "grad_norm": 1.96471107006073,
      "learning_rate": 9.864418103451828e-06
    },
    {
      "utc": "2026-10-11T17:56:26.641940+00:00",
      "step": 60,
      "epoch": 2.7272727272727275,
      "gpu_memory_allocated_mib": 16140,
      "loss": 0.4988,
      "grad_norm": 2.2158920764923096,
      "learning_rate": 3.4331911273830784e-06
    },
    {
      "utc": "2026-10-11T17:56:44.438078+00:00",
      "step": 65,
      "epoch": 2.9545454545454546,
      "gpu_memory_allocated_mib": 16140,
      "loss": 0.4798,
      "grad_norm": 1.9685684442520142,
      "learning_rate": 2.8325998949314536e-07
    },
    {
      "utc": "2026-10-11T17:56:50.692999+00:00",
      "step": 66,
      "epoch": 3.0,
      "gpu_memory_allocated_mib": 16140,
      "eval_loss": 0.551576554775238
    },
    {
      "utc": "2026-10-11T17:56:51.423226+00:00",
      "step": 66,
      "epoch": 3.0,
      "gpu_memory_allocated_mib": 16140,
      "train_loss": 1.7596044395909165
    },
    {
      "utc": "2026-10-11T17:56:54.483422+00:00",
      "step": 66,
      "epoch": 3.0,
      "gpu_memory_allocated_mib": 16140,
      "validation_loss": 0.551576554775238
    },
    {
      "utc": "2026-10-11T17:57:00.563315+00:00",
      "step": 66,
      "epoch": 3.0,
      "gpu_memory_allocated_mib": 16140,
      "test_loss": 0.5406731367111206
    }
  ]
}