Promote v2.5 augmented + calibrated production checkpoint
Browse filesCanonical v2.5 with verified NLTK synonym augmentation (780 essays), isotonic calibration, and essay-only inference format. Supersedes no-aug ablation commit.
- README.md +57 -8
- ielts_v2.5_base_en_10ep.weights.h5 +1 -1
- ielts_v2.5_base_en_10ep_calibration.pkl +2 -2
- ielts_v2.5_base_en_10ep_config.json +18 -18
README.md
CHANGED
|
@@ -1,18 +1,67 @@
|
|
| 1 |
---
|
| 2 |
license: mit
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
---
|
| 5 |
|
| 6 |
-
# EvalGuide IELTS AES v2.5
|
| 7 |
|
| 8 |
-
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
| Field | Value |
|
| 13 |
|-------|-------|
|
| 14 |
-
| Variant |
|
| 15 |
-
|
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
-
See
|
|
|
|
| 1 |
---
|
| 2 |
license: mit
|
| 3 |
+
library_name: keras-nlp
|
| 4 |
+
tags:
|
| 5 |
+
- ielts
|
| 6 |
+
- automated-essay-scoring
|
| 7 |
+
- deberta-v3
|
| 8 |
+
- ordinal-regression
|
| 9 |
+
- evalguide
|
| 10 |
---
|
| 11 |
|
| 12 |
+
# EvalGuide IELTS AES v2.5
|
| 13 |
|
| 14 |
+
DeBERTa-v3-base ordinal regression model for IELTS Writing Task 2 scoring across four criteria:
|
| 15 |
|
| 16 |
+
- Task Response
|
| 17 |
+
- Coherence and Cohesion
|
| 18 |
+
- Lexical Resource
|
| 19 |
+
- Grammatical Range and Accuracy
|
| 20 |
+
|
| 21 |
+
## Production checkpoint (current)
|
| 22 |
|
| 23 |
| Field | Value |
|
| 24 |
|-------|-------|
|
| 25 |
+
| Variant | **Augmented + calibrated** |
|
| 26 |
+
| Weights | `ielts_v2.5_base_en_10ep.weights.h5` |
|
| 27 |
+
| Calibration | `ielts_v2.5_base_en_10ep_calibration.pkl` |
|
| 28 |
+
| Backbone | `deberta_v3_base_en` |
|
| 29 |
+
| Input format | Essay body only (`full_text`) — no question prefix |
|
| 30 |
+
| Gold harness QWK | 0.7989 calibrated / 0.8505 raw (1,952-essay holdout) |
|
| 31 |
+
|
| 32 |
+
### Why this checkpoint is served
|
| 33 |
+
|
| 34 |
+
1. **Calibrated serving** — Isotonic calibration plus bias correction improves mean-score alignment (SMD −0.07 vs v2.4 +0.08) and lowers RMSE, which matters more for production UX than the higher raw QWK ablation.
|
| 35 |
+
2. **Augmented training** — Synonym augmentation (10% of train essays) is part of the documented v2.5 strategy and was verified active in the final run. The no-aug ablation checkpoint is preserved in repo history (first commit).
|
| 36 |
+
|
| 37 |
+
## Files
|
| 38 |
+
|
| 39 |
+
| File | Description |
|
| 40 |
+
|------|-------------|
|
| 41 |
+
| `ielts_v2.5_base_en_10ep.weights.h5` | Model weights (~3.5 GB) |
|
| 42 |
+
| `ielts_v2.5_base_en_10ep_calibration.pkl` | Isotonic calibration layer |
|
| 43 |
+
| `ielts_v2.5_base_en_10ep_config.json` | Training metadata and metrics |
|
| 44 |
+
| `model_config.json` | Production serving config for EvalGuide backend |
|
| 45 |
+
|
| 46 |
+
## Download
|
| 47 |
+
|
| 48 |
+
```bash
|
| 49 |
+
hf download koecheup/evalguide-ielts-v2.5 --local-dir backend/model
|
| 50 |
+
```
|
| 51 |
+
|
| 52 |
+
Place artifacts under `evalguide_client/backend/model/` alongside `model_config.json`.
|
| 53 |
+
|
| 54 |
+
## Inference notes
|
| 55 |
+
|
| 56 |
+
- Tokenize **essay content only**. Do not prepend `Question: …` — training and offline eval use essay-only input.
|
| 57 |
+
- Apply the calibration artifact after forward pass when serving the production config.
|
| 58 |
+
- Rollback to v2.4: set `IELTS_MODEL_NAME=ielts_v2.4_base_en_10ep.weights.h5`.
|
| 59 |
+
|
| 60 |
+
## Training summary
|
| 61 |
+
|
| 62 |
+
- Real data: 9,760 cleaned essays (`ielts_cleaned.csv`)
|
| 63 |
+
- Synthetic mix: 15% from 284 cleaned Task 2 essays (`koecheup/ielts-synthetic`)
|
| 64 |
+
- Augmentation: 10% synonym replacement (780 train essays)
|
| 65 |
+
- Epochs: 10, batch size 8, variance target 2.0 → 2.7
|
| 66 |
|
| 67 |
+
See `docs/backend/v2.5_upgrade_report.md` in the EvalGuide repo for full evaluation tables.
|
ielts_v2.5_base_en_10ep.weights.h5
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 3696208736
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e8d34ac1ff8e71b976a26251dabf8670dd1d028c4607317a1bf5ce54ff016a0d
|
| 3 |
size 3696208736
|
ielts_v2.5_base_en_10ep_calibration.pkl
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d8ea0c41fc9f2af98880a467df126c18c4e3b34eacf7c4ba0aa4023e9db03d29
|
| 3 |
+
size 1718
|
ielts_v2.5_base_en_10ep_config.json
CHANGED
|
@@ -23,27 +23,27 @@
|
|
| 23 |
"bias_correction_enabled": true
|
| 24 |
},
|
| 25 |
"bias_correction_offsets": [
|
| 26 |
-
|
| 27 |
-
1.
|
| 28 |
-
1.
|
| 29 |
-
|
| 30 |
],
|
| 31 |
"final_metrics": {
|
| 32 |
-
"train_loss": 0.
|
| 33 |
-
"val_loss": 0.
|
| 34 |
-
"binary_acc": 0.
|
| 35 |
-
"mae": 2.
|
| 36 |
"val_binary_acc": 0.0,
|
| 37 |
-
"val_mae": 2.
|
| 38 |
-
"val_qwk": 0.
|
| 39 |
-
"val_qwk_Task_Response": 0.
|
| 40 |
-
"pred_variance_Task_Response":
|
| 41 |
-
"val_qwk_Coherence_and_Cohesion": 0.
|
| 42 |
-
"pred_variance_Coherence_and_Cohesion":
|
| 43 |
-
"val_qwk_Lexical_Resource": 0.
|
| 44 |
-
"pred_variance_Lexical_Resource":
|
| 45 |
-
"val_qwk_Grammatical_Range_and_Accuracy": 0.
|
| 46 |
-
"pred_variance_Grammatical_Range_and_Accuracy":
|
| 47 |
},
|
| 48 |
"baseline_reference": {
|
| 49 |
"v2_4_overall_qwk": 0.7501,
|
|
|
|
| 23 |
"bias_correction_enabled": true
|
| 24 |
},
|
| 25 |
"bias_correction_offsets": [
|
| 26 |
+
9.464196275493137e-17,
|
| 27 |
+
-1.116289817109447e-16,
|
| 28 |
+
1.6501675557270087e-16,
|
| 29 |
+
-1.5045645361040372e-16
|
| 30 |
],
|
| 31 |
"final_metrics": {
|
| 32 |
+
"train_loss": 0.26518937945365906,
|
| 33 |
+
"val_loss": 0.42846453189849854,
|
| 34 |
+
"binary_acc": 0.1284601092338562,
|
| 35 |
+
"mae": 2.6349937915802,
|
| 36 |
"val_binary_acc": 0.0,
|
| 37 |
+
"val_mae": 2.4425299167633057,
|
| 38 |
+
"val_qwk": 0.5943281650543213,
|
| 39 |
+
"val_qwk_Task_Response": 0.6033041477203369,
|
| 40 |
+
"pred_variance_Task_Response": 7.185,
|
| 41 |
+
"val_qwk_Coherence_and_Cohesion": 0.5927532911300659,
|
| 42 |
+
"pred_variance_Coherence_and_Cohesion": 8.375,
|
| 43 |
+
"val_qwk_Lexical_Resource": 0.5842580795288086,
|
| 44 |
+
"pred_variance_Lexical_Resource": 7.354843749999999,
|
| 45 |
+
"val_qwk_Grammatical_Range_and_Accuracy": 0.5854252576828003,
|
| 46 |
+
"pred_variance_Grammatical_Range_and_Accuracy": 7.602500000000001
|
| 47 |
},
|
| 48 |
"baseline_reference": {
|
| 49 |
"v2_4_overall_qwk": 0.7501,
|