)]}'
{
  "commit": "35048a96bbeda5c4f4d281e274c1ae458c1f7e61",
  "tree": "2fc4c2b90d4edb963bf2f10e6d8cf06212395f29",
  "parents": [
    "f9e05a4a44d5eb7ffb343add549158a73377c4b8"
  ],
  "author": {
    "name": "Gewu",
    "email": "89496957+RkGrit@users.noreply.github.com",
    "time": "Tue Mar 17 11:09:22 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 17 11:09:22 2026 +0800"
  },
  "message": " model training with air (#17303)\n\n* system design for air-replication\n\n* model training with air\n\n* end-to-end model training with air",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "edb77346759b6e5fa8e766dd8d279f6ee2362296",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fb86db8f01b8326cb7a6159d8a306c38502d895d",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/__main__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5f25a41a36e788a4895df0965f1ab89c72eaba65",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/cli.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4522cefce41defd9d2255eebbcdeb695daea5501",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/config.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ed5bee608f82b70f434085830b88c0dee5e552dd",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/data_factory.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8b137891791fe96927ad78e64b0aad7bded08bdc",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/datasets/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b7c7bdc4aac666e30b533c099b24b61c6c4c36b5",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/datasets/base_dataset.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1a4ec0e0966357eafd0d503b459986da9fbe159",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/datasets/csv_dataset.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a5e5022534a81e3e1de91536e8f03eb3442c809a",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/datasets/iotdb_tree_dataset.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "efbd9923b854d60d673616df8e47f45ed395d7e6",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/datasets/tsfile_tree_dataset.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8b137891791fe96927ad78e64b0aad7bded08bdc",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/processor/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "039fcf952ed0d7e8c26f4a3a73b2de8c2ae59e58",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/data_provider/processor/data_scaler.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1f3318bba8e49e7880fc0522e36067e8d8fb72f",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/device/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f6a46f3fdd50c6e3dfde2c7014bc4afed5fa34bc",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/device/backend.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/adapter/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3b72fb92f639e2f4d21f50323641b111a30d44e8",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/adapter/adapter.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/adapter/weaver/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e35f12f9210a43bb3e93da2d6dfabb019025fb88",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/adapter/weaver/base_weaver.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2731120131484e0a69c2d888a7e1cfa08cc17b71",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/adapter/weaver/dual_weaver.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "731e2c40ed2c902bf7fc55230d57a3ad07b80a79",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/adapter/weaver/weaver_cnn.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1e5695b11b77e605ae024b70bd1be4ea1a07dbe",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/adapter/weaver/weaver_mlp.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "80feb9f6624e9864d1efd2473ab305f163d4df9c",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/chronos2_full.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "23d3c4e133d68833bb65cd4dbd7f9ca5eb5f1b1b",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/chronos2_lora.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bb324c533004174ac0dfd4d35f0919324cf27af4",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/chronos2_weaver_cnn.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b4828ed10a45a5324f3b146acb183290a076dc3f",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/moirai2_full.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "14e3cf26708a3068f4dcac92d7f559685c24fec4",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/moirai2_lora.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d6f946ec95da4ed1dd35d5bfb6c440933a17230e",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/sundial_full.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d847a601a915b563b97db6c4cfb682110e8e5fa4",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/sundial_full_iotdb.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "61ae7ec341ae07d94095dc954b95651b411e12e5",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/sundial_lora.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6f9fa077532f66775ad45a7c650a8b7195ebd52c",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/sundial_weaver_cnn.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "abb86ce846bb7f34ae25814248dd13a181390a29",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/timer_xl_full.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "835f87aa1a1674f428a5c86c83b7b9d890442972",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/timer_xl_full_tsfile.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f975a87a8a64632fb14f535ef2e7adc7c151051",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/timer_xl_lora.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "72189332f5924b2f252f0d40355744491258e4fb",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/examples/timer_xl_weaver_cnn.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/task/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "be1e4956505db8303ae1135bedc39b17c22d2c48",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/task/task_constants.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e86c434a31981929792f79c6bd74ba6ab45b4082",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/task/task_executor.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "07cfa161351aa6edab6fc0af8355d585434a53a9",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/task/task_info.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/train/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "009fe3acdd4d2387aaa99032fe47fd7066119dec",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/finetune/train/trainer.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/hparams/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c0b5877489e5c014a870dfbac5c0322d3a5becb",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/hparams/data_args.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bfac622581da81288ceab1009de3a7068fd97740",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/hparams/finetune_args.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "025a96baa89fa58d03ff420c001496b4d9dbae38",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/hparams/model_args.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4f0c47e53c99504c60349d809cc2d5cad665b183",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/hparams/parser.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3578da80706a0bd3ca7b3210e2bb2731855b7474",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/hparams/training_args.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a0366725bb0db3f37b5617b6ea99d16c0ed6ef60",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/manager/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5252cf54f15b3d5b9f4718926e2caf49c3f22cff",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/manager/model_manager.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f62ff5282363c013f2cd645f5148c06ea4f99d4",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/model/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1f0698bc2e09802c00b2a1e1095cc3fba7767dd3",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/model/model_constants.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "88be4f3999df625d52b511e88b258768a2d8048b",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/model/model_info.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "670346d73b8524d37c231082e956619f16886201",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/model/model_loader.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "82eec2fd8b4db425a21fd839ef81e6ea054c6fa6",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/model/model_storage.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "867a67679773001bab527ad2d3f3f0b7388a3402",
      "new_mode": 33188,
      "new_path": "iotdb-core/ainode/standalone_finetune/model/utils.py"
    }
  ]
}
