critiq-v2-models / README.md
CipherSmit's picture
update model card
a321cf0 verified
|
Raw History Blame Contribute Delete
3.42 kB
---
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`