UTSCybeR/Edge-Computing-JEV-classifiers
1
1---2license: apache-2.03language:4- en5library_name: transformers6pipeline_tag: text-classification7base_model: distilbert/distilbert-base-uncased8datasets:9- OniReimu/Edge-Computing-JEV10tags:11- edge-computing12- service-orchestration13- intent-classification14---15 16# Edge-Computing-JEV service classifiers17 18Four DistilBERT service classifiers used as reference interpreters in RQ4 (dynamic service catalog) of the paper19 20> **Replacing Large Language Models with Jev Decision Models for Low-Latency Edge Service Orchestration**21> Delong Li, Xu Wang, Haochen Gong, Rui Lang, and Guangsheng Yu. University of Technology Sydney.22 23Each classifier maps a natural-language edge-service request to one service of a fixed catalog (or `unsupported`).24They show what a trained classifier needs when the catalog changes, in contrast to decision models and LLMs that25receive the catalog with each request.26 27Code: [github.com/OniReimu/Edge-Computing-JEV](https://github.com/OniReimu/Edge-Computing-JEV) ·28Benchmark and run records: [datasets/OniReimu/Edge-Computing-JEV](https://huggingface.co/datasets/OniReimu/Edge-Computing-JEV)29 30## Models31 32Every classifier is trained from `distilbert/distilbert-base-uncased` at revision `12040accade4e8a0f71eabdb258fecc2e7e948be`.33 34| Folder | Paper name | Labels | Training examples | Used for |35|---|---|---|---|---|36| `clf_all` | DistilBERT-Clf-All | 255 (254 services + `unsupported`) | 554: one description per service + 300 development cases of the catalog-size conditions | RQ4 catalog-size conditions (K = 4 to 254) |37| `clf_frozen` | DistilBERT-Clf-Frozen | 65 (64 services of catalog v0 + `unsupported`) | 322: one description per service + 258 development cases | RQ4 churn conditions, without adaptation |38| `clf_retrained_25` | DistilBERT-Clf-Retrained (25% churn) | 65 (catalog v1) | 339, of which 76 are new labelled examples (16 descriptions of new services + 60 churn development cases) | RQ4 25% churn |39| `clf_retrained_50` | DistilBERT-Clf-Retrained (50% churn) | 65 (catalog v2) | 278, of which 92 are new labelled examples (32 descriptions of new services + 60 churn development cases) | RQ4 50% churn |40 41Training examples come only from the EdgeIntent v1 development split and the catalog descriptions; no test case is42used. Hyperparameters are fixed, with no search: max length 128, learning rate 5e-5, batch size 16, 10 epochs,43weight decay 0.01, seed 20260924, trained on Apple M4 Max (MPS). Each folder's `training.json` records the label space,44example counts, and training wall time. `scripts/eb_rq4_train.py` in the GitHub repository rebuilds all four.45 46## Results on the churn conditions47 48Service top-1 accuracy on the EdgeIntent v1 test split, from `experiments/rq1-rq4-interpretation/results/h5_classifier_reference.csv`:49 50| Condition | Classifier | Seen services | Unseen services |51|---|---|---|---|52| 25% churn | Frozen | 0.653 | 0.000 |53| 25% churn | Retrained | 0.708 | 0.147 |54| 50% churn | Frozen | 0.522 | 0.000 |55| 50% churn | Retrained | 0.441 | 0.142 |56 57Results on the catalog-size conditions are in `experiments/rq1-rq4-interpretation/results/cells.csv`58(model `DistilBERT-Clf-All`).59 60## Usage61 62```python63from transformers import AutoTokenizer, AutoModelForSequenceClassification64 65repo = "OniReimu/Edge-Computing-JEV-classifiers"66tok = AutoTokenizer.from_pretrained(repo, subfolder="clf_all")67model = AutoModelForSequenceClassification.from_pretrained(repo, subfolder="clf_all")68inputs = tok("Please read the licence plate on the gate camera frame, keep it on site.",69 return_tensors="pt", truncation=True, max_length=128)70print(model.config.id2label[model(**inputs).logits.argmax(-1).item()])71```72 73## Limitations74 75These are reference baselines trained with a small, fixed recipe on synthetic requests. They are not tuned and are not76intended for deployment.77 78## License79 80Apache-2.0, as the base model.81 