CLEST-TCRdist / config.json
20eddibae's picture
Upload config.json with huggingface_hub
052bab0 verified
Raw History Blame Contribute Delete
3.86 kB
{
"comment": "HYP-36: Champion enhancement test. Hyp-32 (soft_800k_20ep, bs=512) is the current best at AUROC@50=0.7901 (+0.005 vs Hyp-14, +0.011 vs TCRdist) but the marginal lift over Hyp-14 says the 'more epochs' axis is essentially saturated. The remaining cheap knob inside the InBatchTcrdistSoftCollator pipeline is BATCH SIZE: doubling bs from 512 to 1024 doubles each anchor's pool of in-batch candidates (and the soft-positive set scales with that pool). This sharpens the contrastive signal per gradient step in a way that more epochs cannot. Single-variable change from Hyp-32: batch_size 512 -> 1024. Step count halves (827k/1024 ~= 808 steps/epoch * 20 = ~16,200 steps, comparable to Hyp-14's compute budget) but each step sees 4x more pairwise relations. Distinct save name 'SCEPTR6L_AC_soft_800k_20ep_bs1024' so we can compare directly against Hyp-32 in the same benchmark sweep.",
"training_delegate": {
"class": "ClTrainingDelegate",
"initargs": {}
},
"model": {
"name": "SCEPTR6L_AC_soft_800k_20ep_bs1024",
"path_to_pretrained_state_dict": null,
"token_embedder": {
"class": "CdrSimpleEmbedder",
"initargs": {}
},
"self_attention_stack": {
"class": "ScaledSceptrEncoderWithProjection",
"initargs": {
"embedding_dim": 29,
"num_layers": 6,
"embed_dim": 128,
"num_heads": 8,
"dropout": 0.1
}
},
"mlm_token_prediction_projector": {
"class": "AminoAcidTokenProjector",
"initargs": {
"d_model": 128
}
},
"vector_representation_delegate": {
"class": "ClsVectorRepresentationDelegate",
"initargs": {}
},
"trainable_model": {
"class": "ClTrainableModel",
"initargs": {}
}
},
"data": {
"training_data": {
"dataset": {
"class": "TcrDataset",
"initargs": {}
},
"dataloader": {
"class": "SingleDatasetDataLoader",
"initargs": {
"batch_size": 1024,
"num_workers": 4
}
},
"csv_paths": [
"tcr_data/preprocessed/tanno/train.csv"
]
},
"validation_data": {
"dataset": {
"class": "TcrDataset",
"initargs": {}
},
"dataloader": {
"class": "SingleDatasetDataLoader",
"initargs": {
"batch_size": 1024,
"num_workers": 4
}
},
"csv_paths": [
"tcr_data/preprocessed/tanno/test.csv"
]
},
"tokeniser": {
"class": "CdrTokeniser",
"initargs": {}
},
"batch_collator": {
"class": "InBatchTcrdistSoftCollator",
"initargs": {
"frac_dropped_tokens": 0.2,
"prob_drop_chain": 0.5,
"training_csv_path": "tcr_data/preprocessed/tanno/train.csv",
"tau_tcrdist": 50.0,
"tcrdist_threshold": 200.0
}
}
},
"loss": {
"cross_entropy_loss": {
"class": "AdjustedCrossEntropyLoss",
"initargs": {
"label_smoothing": 0.1
}
},
"contrastive_loss": {
"class": "DotProductLoss",
"initargs": {
"temp": 0.05
}
}
},
"optimiser": {
"initargs": {
"n_warmup_steps": 2000,
"d_model": 128
}
},
"num_epochs": 20
}