--- 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=""` 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.