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