--- license: other tags: [storage, io-scheduling, random-forest, beta-vae, tabular-classification] library_name: pytorch --- # CritiQ v2 models Models for **CritiQ v2**, a seven-tier learned disk I/O prioritisation system (final-year major project, SIT Tumakuru, ISE, 2025–26). They are trained in Google Colab from the private dataset repo `CipherSmit/critiq-v2-data` and served by the CritiQ Space. | Folder | Model | Role (tier) | Format | |---|---|---|---| | `seq/` | Trace Transformer: causal Transformer over request tokens, pre-trained to predict the next request | Tier 2: actor class from its recent requests | safetensors | | `rf/` | Random Forest (scikit-learn) on 12 hand-made features | baseline classifier (ablation only) | skops | | `vae/` | beta-VAE, 60→…→32 latent + aux P99 head | Tier 3: workload fingerprint, OOD scores | safetensors + JSON | | `vae_plain/` | same architecture, β = 0, no aux loss | ablation only | safetensors + JSON | | `mlp/` | Policy MLP 38→64→32→4 | Tier 5: priority P0–P3 per actor | safetensors | Training is sequential (classifier → beta-VAE → MLP): the VAE's input includes the classifier's class mix, and the MLP's input includes the class, its confidence and the VAE fingerprint. Architectures and feature order live in `critiq-colab/critiq_models/` of the project repository. ## Intended use and limits Research use in trace-driven simulation (MSR Cambridge, FIU, Alibaba block traces). Not validated on live systems. Class labels come from transparent behaviour rules over actor features (or a hand-built FIU process→class map); priority labels come from counterfactual simulation of an approximate mq-deadline scheduler with priority classes. Results depend on the simulator's fidelity (see the calibration report in the project's `research/` folder). ## Metrics ### seq/ | metric | value | |---|---| | inference_ms_500_actors | 40.9555 | | label_source | msr_behavior_rules | | latency_critical_recall | 0.8923 | | linear_probe_val_macro_f1 | 0.7794 | | macro_f1 | 0.9267 | | macro_f1_holdout_traces | 0.9249 | | model | trace_transformer | | parameters | 74345 | | train_dataset | msr | | val_macro_f1 | 0.9028 | ### rf/ | metric | value | |---|---| | inference_ms_500_actors | 37.2847 | | label_source | msr_behavior_rules | | latency_critical_recall | 0.9997 | | macro_f1 | 0.9997 | | macro_f1_holdout_traces | 0.9998 | | model | random_forest_baseline | | train_dataset | msr | ### vae/ | metric | value | |---|---| | active_units | 7 | | aux_lambda | 1.0000 | | aux_r2_test | 0.0112 | | beta_max | 0.5000 | | clf_revision | 09181b4d28bec331c5f5af651dd44dd075047ee6 | | epochs | 57 | | ood_flag_rate_holdout | 0.0073 | | ood_flag_rate_test | 0.0083 | | silhouette | 0.6449 | | variant | vae | ### vae_plain/ | metric | value | |---|---| | active_units | 32 | | aux_lambda | 0.0000 | | beta_max | 0.0000 | | clf_revision | 09181b4d28bec331c5f5af651dd44dd075047ee6 | | epochs | 40 | | ood_flag_rate_holdout | 0.0093 | | ood_flag_rate_test | 0.0100 | | silhouette | 0.1958 | | variant | vae_plain | ### mlp/ | metric | value | |---|---| | accuracy | 0.9226 | | clf_revision | 09181b4d28bec331c5f5af651dd44dd075047ee6 | | epochs | 38 | | eval_split | val | | macro_f1 | 0.8517 | Repository: `CipherSmit/critiq-v2-models`