Text Classification
Laya
Safetensors
French
structured-decisions
content-moderation
live-streaming
irl-guard
Instructions to use MissawB/irl-guard-decision-laya-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Laya
How to use MissawB/irl-guard-decision-laya-v2 with Laya:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Fiche IRL Guard
Browse files
README.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: convaiinnovations/laya-multilingual
|
| 4 |
+
datasets:
|
| 5 |
+
- MissawB/irl-guard-decisions-v2
|
| 6 |
+
language:
|
| 7 |
+
- fr
|
| 8 |
+
library_name: laya
|
| 9 |
+
pipeline_tag: text-classification
|
| 10 |
+
tags:
|
| 11 |
+
- structured-decisions
|
| 12 |
+
- content-moderation
|
| 13 |
+
- live-streaming
|
| 14 |
+
- irl-guard
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
# IRL Guard — decision model v2 (Laya fine-tuné)
|
| 18 |
+
|
| 19 |
+
*Decision model* d'IRL Guard : à partir d'un `state` JSON (charte de la chaîne en langage naturel, catégorie du
|
| 20 |
+
stream, mode domicile, élément vu à l'écran), il répond à trois questions typées — **action**
|
| 21 |
+
(diffuser / flouter / pause), **risque** et **gravité** — avec des probabilités calibrées. Fine-tuné à partir de
|
| 22 |
+
`convaiinnovations/laya-multilingual` sur [`MissawB/irl-guard-decisions-v2`](https://huggingface.co/datasets/MissawB/irl-guard-decisions-v2).
|
| 23 |
+
|
| 24 |
+
## Utilisation
|
| 25 |
+
|
| 26 |
+
Sur CPU, sans serveur, avec le paquet [`laya`](https://pypi.org/project/laya/) :
|
| 27 |
+
|
| 28 |
+
```python
|
| 29 |
+
import laya
|
| 30 |
+
agent = laya.load("MissawB/irl-guard-decision-laya-v2")
|
| 31 |
+
reponse = agent.predict(state, questions)
|
| 32 |
+
```
|
| 33 |
+
|
| 34 |
+
Alternative légère d'IRL Guard sans GPU (`decideur.modele: laya-local`). Moins précis que Qwen v2 sur les chartes
|
| 35 |
+
écrites librement.
|
| 36 |
+
|
| 37 |
+
## Résultats
|
| 38 |
+
|
| 39 |
+
Précision de l'action, F1 macro, taux de fuite (cas à protéger que l'approche diffuse), calibration (ECE) et coût
|
| 40 |
+
moyen par décision, sur 1 000 cas par jeu.
|
| 41 |
+
|
| 42 |
+
### Chartes vues
|
| 43 |
+
|
| 44 |
+
`toujours-diffuser` : Toujours diffuser (plancher), `regles` : Règles, `xgboost` : XGBoost, `laya` : Laya brut, `laya-ft` : Laya fine-tuné, `qwen-ft` : Qwen3.5-0.8B fine-tuné, `laya-ft-v2` : Laya fine-tuné (v2), `qwen-ft-v2` : Qwen3.5-2B fine-tuné (v2), `combine-laya` : Règles + Laya fine-tuné, `combine-qwen` : Règles + Qwen fine-tuné, `combine-laya-v2` : Règles + Laya v2, `combine-qwen-v2` : Règles + Qwen v2
|
| 45 |
+
|
| 46 |
+
| Approche | Action | F1 macro | Fuite | ECE | Coût moyen |
|
| 47 |
+
|---|---|---|---|---|---|
|
| 48 |
+
| toujours-diffuser | 44.9 % | 0.207 | 100.0 % | 0.551 | 8.48 |
|
| 49 |
+
| regles | 39.3 % | 0.334 | 21.1 % | 0.607 | 3.17 |
|
| 50 |
+
| xgboost | 50.1 % | 0.502 | 16.5 % | 0.080 | 2.30 |
|
| 51 |
+
| laya | 40.7 % | 0.314 | 55.9 % | 0.289 | 5.59 |
|
| 52 |
+
| laya-ft | 73.8 % | 0.721 | 20.0 % | 0.053 | 2.02 |
|
| 53 |
+
| qwen-ft | 82.0 % | 0.807 | 15.2 % | 0.042 | 1.44 |
|
| 54 |
+
| laya-ft-v2 | 80.1 % | 0.797 | 3.8 % | 0.072 | 0.73 |
|
| 55 |
+
| qwen-ft-v2 | 99.3 % | 0.993 | 0.2 % | 0.005 | 0.02 |
|
| 56 |
+
| combine-laya | 58.1 % | 0.592 | 5.4 % | 0.267 | 1.25 |
|
| 57 |
+
| combine-qwen | 63.1 % | 0.641 | 2.4 % | 0.272 | 0.83 |
|
| 58 |
+
| combine-laya-v2 | 63.4 % | 0.638 | 0.7 % | 0.224 | 0.73 |
|
| 59 |
+
| combine-qwen-v2 | 72.7 % | 0.733 | 0.0 % | 0.272 | 0.31 |
|
| 60 |
+
|
| 61 |
+
### Chartes non vues
|
| 62 |
+
|
| 63 |
+
`toujours-diffuser` : Toujours diffuser (plancher), `regles` : Règles, `xgboost` : XGBoost, `laya` : Laya brut, `laya-ft` : Laya fine-tuné, `qwen-ft` : Qwen3.5-0.8B fine-tuné, `laya-ft-v2` : Laya fine-tuné (v2), `qwen-ft-v2` : Qwen3.5-2B fine-tuné (v2), `combine-laya` : Règles + Laya fine-tuné, `combine-qwen` : Règles + Qwen fine-tuné, `combine-laya-v2` : Règles + Laya v2, `combine-qwen-v2` : Règles + Qwen v2
|
| 64 |
+
|
| 65 |
+
| Approche | Action | F1 macro | Fuite | ECE | Coût moyen |
|
| 66 |
+
|---|---|---|---|---|---|
|
| 67 |
+
| toujours-diffuser | 40.5 % | 0.192 | 100.0 % | 0.595 | 9.34 |
|
| 68 |
+
| regles | 44.5 % | 0.407 | 21.2 % | 0.555 | 3.27 |
|
| 69 |
+
| xgboost | 45.9 % | 0.458 | 24.2 % | 0.138 | 3.11 |
|
| 70 |
+
| laya | 34.2 % | 0.275 | 47.6 % | 0.297 | 5.54 |
|
| 71 |
+
| laya-ft | 72.2 % | 0.711 | 21.5 % | 0.061 | 2.44 |
|
| 72 |
+
| qwen-ft | 80.3 % | 0.793 | 20.3 % | 0.084 | 1.92 |
|
| 73 |
+
| laya-ft-v2 | 74.3 % | 0.740 | 6.2 % | 0.034 | 1.11 |
|
| 74 |
+
| qwen-ft-v2 | 97.3 % | 0.972 | 2.2 % | 0.017 | 0.23 |
|
| 75 |
+
| combine-laya | 63.5 % | 0.642 | 4.4 % | 0.216 | 1.25 |
|
| 76 |
+
| combine-qwen | 69.8 % | 0.701 | 5.4 % | 0.228 | 0.97 |
|
| 77 |
+
| combine-laya-v2 | 66.4 % | 0.664 | 1.3 % | 0.130 | 0.83 |
|
| 78 |
+
| combine-qwen-v2 | 79.3 % | 0.790 | 0.3 % | 0.198 | 0.28 |
|
| 79 |
+
|
| 80 |
+
### Chartes écrites à la main
|
| 81 |
+
|
| 82 |
+
`toujours-diffuser` : Toujours diffuser (plancher), `regles` : Règles, `xgboost` : XGBoost, `laya` : Laya brut, `laya-ft` : Laya fine-tuné, `qwen-ft` : Qwen3.5-0.8B fine-tuné, `laya-ft-v2` : Laya fine-tuné (v2), `qwen-ft-v2` : Qwen3.5-2B fine-tuné (v2), `combine-laya` : Règles + Laya fine-tuné, `combine-qwen` : Règles + Qwen fine-tuné, `combine-laya-v2` : Règles + Laya v2, `combine-qwen-v2` : Règles + Qwen v2
|
| 83 |
+
|
| 84 |
+
| Approche | Action | F1 macro | Fuite | ECE | Coût moyen |
|
| 85 |
+
|---|---|---|---|---|---|
|
| 86 |
+
| toujours-diffuser | 36.9 % | 0.180 | 100.0 % | 0.631 | 8.31 |
|
| 87 |
+
| regles | 53.1 % | 0.462 | 20.4 % | 0.469 | 2.52 |
|
| 88 |
+
| xgboost | 46.0 % | 0.441 | 59.6 % | 0.281 | 4.83 |
|
| 89 |
+
| laya | 40.5 % | 0.295 | 44.7 % | 0.274 | 4.58 |
|
| 90 |
+
| laya-ft | 56.4 % | 0.548 | 55.5 % | 0.239 | 4.42 |
|
| 91 |
+
| qwen-ft | 59.9 % | 0.589 | 56.7 % | 0.285 | 4.43 |
|
| 92 |
+
| laya-ft-v2 | 55.0 % | 0.553 | 47.4 % | 0.186 | 3.90 |
|
| 93 |
+
| qwen-ft-v2 | 79.1 % | 0.805 | 29.2 % | 0.187 | 2.21 |
|
| 94 |
+
| combine-laya | 63.1 % | 0.622 | 11.3 % | 0.286 | 1.46 |
|
| 95 |
+
| combine-qwen | 64.5 % | 0.639 | 10.9 % | 0.306 | 1.41 |
|
| 96 |
+
| combine-laya-v2 | 63.3 % | 0.623 | 11.7 % | 0.208 | 1.50 |
|
| 97 |
+
| combine-qwen-v2 | 71.9 % | 0.725 | 5.5 % | 0.270 | 0.77 |
|
| 98 |
+
|
| 99 |
+
## Limites
|
| 100 |
+
|
| 101 |
+
- Les chartes « non vues » sont des formulations et des combinaisons de clauses absentes de l'entraînement, mais
|
| 102 |
+
écrites dans le même style de gabarits : une charte rédigée librement par un streamer sera plus difficile.
|
| 103 |
+
- Seul, Qwen v2 laisse passer 29 % des cas à protéger sur les chartes écrites à la main (2 % sur les chartes
|
| 104 |
+
synthétiques non vues) : dans IRL Guard, il est utilisé en **mode combiné** avec des règles déterministes (la
|
| 105 |
+
décision la plus protectrice l'emporte), ce qui ramène la fuite à 5,5 %.
|
| 106 |
+
- Le modèle décide à partir d'un `state` JSON (texte lu par OCR, objet détecté, charte, contexte) : il ne voit pas
|
| 107 |
+
l'image.
|