GoatHerder's picture
Publish verified Ariadne Banking interface
3b1ff55 verified
|
Raw History Blame Contribute Delete
3.83 kB
---
license: apache-2.0
language:
- en
pipeline_tag: text-classification
base_model: convaiinnovations/laya
base_model_relation: adapter
datasets:
- PolyAI/banking77
tags:
- ariadne
- laya
- adapter
- custom-code
---
# Ariadne Laya Banking
Routes banking requests across all 77 Banking77 intents. This **4.2 MB specialist interface** runs on a shared frozen Laya base. Switching between compatible Ariadne specialists replaces about **1 million parameters**, while the **421 million parameter base** stays in memory. Each specialist uses its own small interface.
## Use
Install the included Python wheel from this downloaded model folder:
```bash
pip install ./ariadne_specialists-0.2.0a1-py3-none-any.whl
```
```python
import ariadne
from ariadne.specialists import Banking
model = ariadne.load_specialist(Banking, model=".")
result = model('My replacement card has not arrived.')
print(result.label, result.score)
```
The base downloads automatically and is cached. Choose a device with `device="cpu"` or `device="cuda:1"`. A list of inputs returns a list of results. Scores have not been recalibrated for this task.
## Load from Hugging Face
After installing the included wheel, you can load this repository directly:
```python
import ariadne
from ariadne.specialists import Banking
model = ariadne.load_specialist(Banking, model="GoatHerder/Ariadne-Laya-BankingIntent")
```
Use the explicit `model=` argument with this preview wheel. The interface and pinned base are downloaded automatically and cached. Pass `revision="<commit hash>"` to pin a particular interface version.
## Interface
The interface is a 1,024 × 1,024 linear projection plus a 1,024-element bias: **1,049,600 trainable parameters**. It sits after the base's native embeddings and before encoder block 0. It starts as the identity; training updates only this projection. The shared base has 421,293,827 parameters. Compatible specialists share one resident base in the same Python process and on the same device.
## Results
Local evaluation uses the same **3,076 inputs** for every model. Accuracy is per decision; macro-F1 averages the task's classes (and flag namespaces for Privacy).
| Model | Accuracy | Macro-F1 |
|---|---:|---:|
| Base Laya | 36.05% | 36.19% |
| Ariadne Banking | 87.84% | 87.90% |
| [functionX86/banking77-intent-classifier](https://huggingface.co/functionX86/banking77-intent-classifier) | 92.46% | 92.45% |
| TF-IDF + logistic regression | 87.03% | 87.00% |
Same source dataset; exact training row overlap with our test is unverified. This table does not establish a common unseen-test ranking. `metrics.json` records model revisions, comparison methods, per-class results and existing-task retention.
## Training and scope
Trained on [PolyAI/banking77](https://huggingface.co/datasets/PolyAI/banking77), revision `90d4e2ee5521c04fc1488f065b8b083658768c57`. Prepared train/validation/test sizes: **7,847 / 970 / 3,076**. Overlength exclusions: `{'train': 0, 'validation': 0, 'test': 0}`.
One seed (0); epoch 4 selected by validation loss, training stopped after epoch 10. LR 1e-4, minimum 10 epochs, patience 3. Only the 1,049,600 exact-identity-initialized interface parameters were trained. The original embeddings, 28 encoder blocks and decision heads stayed frozen and in evaluation mode. Deterministic GPU settings were enabled.
- Label-independent lexical groups at cosine >=0.90; excluded 1167 training rows related to official test. Semantic independence is unverified.
English only. Unsupported or ambiguous inputs still receive a prediction. Source datasets retain their own licences. This checkpoint is one training run; it does not establish across-seed variance.
Base revision: `55cf4c4ebb4ebe31b2550e8bdf3bd21b99753851`. Independent adaptation; no affiliation with the original Laya authors.