File size: 3,417 Bytes
a0d592c
 
 
 
 
 
 
 
 
 
 
 
 
 
09181b4
 
a0d592c
 
 
 
09181b4
 
a0d592c
 
 
 
 
09181b4
 
 
a0d592c
 
 
 
09181b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a0d592c
 
 
 
09181b4
a0d592c
 
09181b4
 
 
a0d592c
 
e9e9311
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a321cf0
 
 
 
 
 
 
 
 
 
a0d592c
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---

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`