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