Ariadne Laya Moderation

Classifies English comments as toxic or safe using the Civil Comments majority threshold. 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:

pip install ./ariadne_specialists-0.2.0a1-py3-none-any.whl
import ariadne
from ariadne.specialists import Moderation

model = ariadne.load_specialist(Moderation, model=".")
result = model('Thanks for explaining your point of view.')
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:

import ariadne
from ariadne.specialists import Moderation

model = ariadne.load_specialist(Moderation, model="GoatHerder/Ariadne-Laya-Moderation")

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 2,996 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 93.49% 81.19%
Ariadne Moderation 94.66% 79.05%
opus-research/opus-moderation-2 94.43% 79.65%
TF-IDF + logistic regression 93.02% 59.33%

Experimental checkpoint: macro-F1 is 79.05%, compared with 81.19% for base Laya. Accuracy increases, but class-balanced performance decreases. Further tuning is planned.

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 google/civil_comments, revision f2970eb3a55777454c94069077cc8d9b5866312d. Prepared train/validation/test sizes: 11,949 / 1,497 / 2,996. Overlength exclusions: {'train': 0, 'validation': 0, 'test': 0}.

One seed (0); epoch 1 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.

  • Binary toxicity: annotator fraction >=0.5. Fixed random 12,000/1,500/3,000 source-row samples before duplicate removal; natural class prevalence.
  • Source export has no article IDs, so article-level independence cannot be checked. Identity subgroup fairness is not measured.

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.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for GoatHerder/Ariadne-Laya-Moderation

Adapter
(26)
this model

Dataset used to train GoatHerder/Ariadne-Laya-Moderation

Collection including GoatHerder/Ariadne-Laya-Moderation