# Fine-tuning léger d’un petit modèle pour modérer les commentaires d’un site

> Retour d'expérience sur l'entraînement d'un modèle de classification dédié, moins coûteux qu'un appel LLM à chaque commentaire, pour un site à fort volume de commentaires.

- Auteur : Clément Hadrot
- Publié le : 2024-10-29
- Mis à jour le : 2024-10-29
- Catégorie : IA &amp; MCP
- URL : https://wpmoderne.dev.wordpress-developpement.fr/ia-mcp/fine-tuning-leger-petit-modele-moderer-commentaires/

## L’essentiel

- Le fine-tuning n'a été rentable qu'à partir d'un volume élevé de commentaires
- Constituer un jeu d'entraînement propre a pris plus de temps que l'entraînement lui-même
- Le modèle dédié doit être réévalué régulièrement face à de nouveaux types de messages

Un site communautaire de passionnés de jeux vidéo recevait plus de 4 000 commentaires par jour sur ses articles, un volume qui rendait le coût d'un appel à l'API GPT-3.5 Turbo par commentaire, pour une simple classification toxique ou non, significatif sur la durée. Nous avons exploré une alternative : entraîner un petit modèle de classification dédié, moins coûteux à l'usage, sur les propres données de modération du site.

## Pourquoi envisager le fine-tuning à ce volume

À 4 000 commentaires par jour, même un coût unitaire de classification très faible finit par représenter une dépense mensuelle non négligeable, sans compter la latence cumulée d'un appel API externe pour chaque commentaire posté. Un modèle de classification plus léger, entraîné spécifiquement sur ce type de contenu et hébergé directement sur l'infrastructure du client, promettait un coût marginal par commentaire nettement plus faible.

## Étape 1 : constituer le jeu de données d'entraînement

L'équipe de modération du site avait déjà traité manuellement plusieurs mois de commentaires, avec des décisions d'approbation ou de suppression enregistrées dans la base WordPress via le statut natif des commentaires. Nous avons exporté 15 000 commentaires déjà modérés, avec leur décision humaine associée, comme base d'entraînement.

```
global $wpdb;
$commentaires_moderes = $wpdb->get_results(
    "SELECT comment_content, comment_approved
     FROM {$wpdb->comments}
     WHERE comment_approved IN ('1', 'spam', 'trash')
     ORDER BY comment_date DESC
     LIMIT 15000"
);
```

Cette étape de constitution et de nettoyage du jeu de données, qui a nécessité de retirer les doublons évidents et les décisions manifestement incohérentes d'un modérateur à l'autre, a représenté environ 70 % du temps total du projet, bien plus que l'entraînement du modèle lui-même.

> L'essentiel à retenir : Le fine-tuning n'a été rentable qu'à partir d'un volume élevé de commentaires ; Constituer un jeu d'entraînement propre a pris plus de temps que l'entraînement lui-même ; Le modèle dédié doit être réévalué régulièrement face à de nouveaux types de messages

## Étape 2 : l'entraînement et son coût réel

L'entraînement s'est appuyé sur un service de fine-tuning proposé par un fournisseur de LLM, permettant de spécialiser un modèle léger existant sur ce jeu de 15 000 exemples annotés. Le coût de l'entraînement lui-même est resté modéré, de l'ordre de quelques dizaines de dollars pour l'ensemble du processus, un montant largement rentabilisé dès les premières semaines d'usage compte tenu du volume quotidien du site.

| Approche | Coût par commentaire classé | Latence moyenne |
| --- | --- | --- |
| Appel API généraliste par commentaire | ~0,0005 $ | ~800 ms |
| Modèle dédié après fine-tuning | ~0,00004 $ | ~90 ms |

## Ce que le modèle dédié a mieux fait

Le modèle spécialisé a mieux reconnu le vocabulaire propre à la communauté (surnoms de jeux, expressions internes, insultes codées spécifiques au milieu), un contexte qu'un modèle généraliste ne maîtrisait pas nativement sans un prompt long et coûteux détaillant ces spécificités à chaque appel.

## Le point de vigilance : la dérive dans le temps

Six mois après la mise en production, un nouveau jeu vidéo populaire a fait émerger de nouvelles expressions et de nouveaux surnoms que le modèle, entraîné sur des données plus anciennes, ne reconnaissait plus correctement. Nous avons dû planifier un réentraînement périodique, environ tous les six mois, avec un nouvel export de commentaires récemment modérés, pour que le modèle reste pertinent face à l'évolution rapide du vocabulaire communautaire.

> Un modèle spécialisé économise beaucoup à l'usage, mais il vieillit avec le vocabulaire de sa communauté, contrairement à un modèle généraliste régulièrement mis à jour par son fournisseur.

## En résumé

Le fine-tuning d'un modèle léger de classification n'a de sens économique qu'à partir d'un volume de traitement suffisamment élevé, et le travail réel se situe davantage dans la constitution d'un jeu de données propre que dans l'entraînement lui-même. Sur ce projet, la réduction de coût mesurée a dépassé 92 %, à condition d'accepter un effort de maintenance périodique pour suivre l'évolution du vocabulaire de la communauté modérée.
