{ "model": "intraspannet", "version": "0.1.0", "task": "security product identification with open-set rejection", "input": { "flow_bytes": 1600, "packets": 5, "bytes_per_packet": 320, "header_bytes": 80, "payload_bytes": 240, "ip_masking": true }, "classes": [ "windows_defender", "clamav_freshclam_win", "clamav_freshclam", "velociraptor", "velociraptor_win", "osquery", "wazuh_agent", "wireguard", "openvpn", "stunnel", "squid_proxy", "ntopng", "guacamole_mgmt", "waf_modsecurity", "suricata_update", "web_http", "ssh", "ftp" ], "cls": [ "b_s0", "a_lda", "b_lda", "a_s0" ], "gate": [ "a_lda", "b_lda" ], "threshold": 0.1041, "threshold_note": "Calibrated on the dev half of the validation split; not tuned on the test half.", "metrics": { "test_flow_count": 503, "all_val_flow_count": 1006, "product_accuracy_test": 0.8787, "product_accuracy_all_val": 0.8817, "tier_accuracy_test": 0.9245, "tier_accuracy_all_val": 0.9334, "macro_f1_supported_test": 0.7621, "macro_f1_supported_all_val": 0.824, "gate_auroc_test": 0.9784, "gate_auroc_dev": 0.982, "malicious_macro_f1_dedup_ustc": 0.9702, "unknown_rejection_demo": 1 }, "hardware": { "inference": "NVIDIA GPU with CUDA", "reference_gpu": "RTX 4090 24GB", "minimum_vram_gb": 4, "recommended_vram_gb": 8, "cpu_inference": false, "cpu_note": "The GDN backbone uses Triton kernels. CPU fallback is not supported in v0.1.0.", "single_arm_throughput_flows_s": 1017, "four_arm_throughput_flows_s": 253, "latency_ms_bs1": { "single_arm": 10.7, "four_arm": 43.1 } }, "training": { "pretraining": "contrastive self-supervised on 33,184 training-only flows", "sft": "multi-task supervised fine-tuning, 60 epochs", "rl": "REINFORCE with reward shaping, 300 episodes", "seeds": [ 0, 1, 2 ] }, "license": "Apache-2.0", "citation": "See CITATION.cff in the code repository.", "arms": { "A_S0": { "run": "A", "variant": "standard multi-task", "role": "classifier", "checkpoint": "stage3_a_s0.pth", "prototypes": "prototypes_a_s0_k3.pth" }, "A_LDA": { "run": "A", "variant": "logit adjustment by class prior", "role": "classifier and gate", "checkpoint": "stage3_a_lda.pth", "prototypes": "prototypes_a_lda_k3.pth" }, "B_LDA": { "run": "B", "variant": "logit adjustment by class prior", "role": "classifier and gate", "checkpoint": "stage3_b_lda.pth", "prototypes": "prototypes_b_lda_k3.pth" }, "B_S0": { "run": "B", "variant": "standard multi-task", "role": "classifier", "checkpoint": "stage3_b_s0.pth", "prototypes": "prototypes_b_s0_k3.pth" }, "A_HN": { "run": "A", "variant": "hard-negative weighting", "role": "dropped", "checkpoint": "stage3_a_hn.pth", "prototypes": "prototypes_a_hn_k3.pth" }, "B_HN": { "run": "B", "variant": "hard-negative weighting", "role": "dropped", "checkpoint": "stage3_b_hn.pth", "prototypes": "prototypes_b_hn_k3.pth" } }, "arm_naming": "Letter = pre-training run (A or B). Suffix = training variant: s0 standard multi-task objective, lda logit adjustment by class prior, hn hard-negative weighting." }