Ismail Ben Alla

HR-Jev

GPT-2 pour la prédiction d'indicateurs RH

IA générative · août 2025 · Terminé

Un modèle GPT-2 qui lit des profils d'employés et prédit quatre indicateurs RH.

Construit avecPyTorchHugging Face TransformerspandasTensorBoardGradiopytest

HR-Jev — vue d’ensemble

Présentation

Les données RH vivent généralement dans des tables, et les tables sont généralement traitées par des modèles tabulaires classiques. Je voulais tester une autre voie : transformer chaque dossier d'employé en une phrase en anglais courant et laisser un Transformer GPT-2 apprendre à partir de là.

J'ai écrit moi-même l'architecture GPT-2 en PyTorch, j'y ai chargé les poids GPT-2 pré-entraînés et j'ai ajouté quatre têtes de tâche par-dessus : attrition (binaire), niveau de poste (5 classes), satisfaction au travail (4 classes) et revenu mensuel (régression). Pour chaque tâche, l'attribut cible est retiré de la phrase et le modèle le prédit à partir de l'état caché du dernier token.

Le projet couvre tout le workflow : nettoyage et découpage des données, batching par tranches de longueur, journalisation TensorBoard, suite pytest, rapports de métriques de test sauvegardés et une application Gradio interactive pour essayer des profils individuels.

La question

Un Transformer GPT-2 peut-il apprendre des données RH tabulaires si chaque dossier d'employé est réécrit sous la forme d'une phrase en anglais courant ?

Fonctionnalités clés

Comment ça marche

  1. Nettoyer et découper

    La table RH brute est normalisée, les colonnes constantes supprimées, les cibles encodées, et les lignes découpées en 80/10/10 avec une graine fixe.

  2. Des dossiers aux phrases

    Chaque dossier devient un échantillon d'entraînement par tâche : l'attribut cible est retiré, et les attributs restants sont rédigés en une phrase anglaise puis tokenisés avec le tokenizer GPT-2.

  3. Backbone Transformer partagé

    Un décodeur de type GPT-2, chargé avec les poids GPT-2 pré-entraînés, encode la phrase. L'attention étant causale, l'état caché du dernier token résume l'ensemble du profil.

  4. Têtes de tâche

    Le vecteur du dernier token est envoyé à la tête correspondant à la tâche de l'échantillon, classifieur ou régresseur. La classification utilise une entropie croisée avec lissage des labels et la régression une perte smooth-L1 mise à l'échelle.

  5. Évaluer et servir

    Un script de test rapporte la précision, la MAE et la MSE par tâche sur le split mis de côté, et l'application Gradio sert le meilleur checkpoint.

Exemples

Métriques sur le jeu de test sauvegardées dans le dépôt pour le checkpoint du pas 10 000 : précision et perte par tâche, plus MAE et MSE pour le revenu mensuel.
Métriques sur le jeu de test sauvegardées dans le dépôt pour le checkpoint du pas 10 000 : précision et perte par tâche, plus MAE et MSE pour le revenu mensuel.

Entrée

Age 30, business travel: rarely, department: research & development, overtime: no (other attributes omitted)

Sortie

The employee is 30 years old, ..., travels rarely for work, ..., works in the research & development department, ..., does not work overtime, ...

Comment une partie d'un dossier est rédigée en texte avant la tokenisation (abrégé).

Stack technique

Ce que j’ai appris

Limites