FINANFA AI 🇧🇯 — essai Luth-1.7B
FINANFA AI est un modèle de langage spécialisé sur les connaissances du Bénin : histoire, royaumes,
politique, institutions, culture, Vodun, géographie, économie, langues nationales et vie quotidienne.
⚠️
Ce dépôt est un essai sur une base différente des versions de référence
Ronaldodev/finanfa-ai-0.2 (Qwen2.5-0.5B) et
Ronaldodev/finanfa-ai-lfm2.5-230m
(LFM2.5-230M) : base kurakurai/Luth-1.7B-Instruct (fine-tune français de Qwen3-1.7B par Kurakurai, même dataset d'entraînement kurakurai/luth-sft
que Luth-0.6B), choisie pour repousser le plafond de capacité de synthèse/agrégation observé sur
Ronaldodev/finanfa-ai-luth-0.6b : fabrication de détails absents des sources ou dégénérescence
en boucle de répétition dès qu'une question RAG demandait une vraie synthèse multi-source plutôt
qu'une extraction directe (voir la branche RAG
finanfa-ai-app), confirmé comme déterministe
(pas un artefact de température) par des expériences contrôlées. Même architecture Qwen3 que
Luth-0.6B (contrairement à Luth-2, architecture Qwen3.5 non encore supportée par l'outillage
Unsloth/transformers disponible -- voir
finanfa_luth2_2b.ipynb).
Ce modèle est un fine-tuning LoRA (adaptation de domaine par-dessus un checkpoint déjà
instruction-tuné) de
kurakurai/Luth-1.7B-Instruct, entraîné sur le dataset privé
Ronaldodev/finanfa-ai-dataset (non public, curé manuellement).
Modèle de base
- Base : kurakurai/Luth-1.7B-Instruct (architecture Qwen3, fine-tune de Qwen/Qwen3-1.7B)
- Méthode : LoRA (r=32, alpha=32, dropout=0), adaptateur fusionné (
merge_and_unload)
- Modules LoRA ciblés : q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
Dataset utilisé
- Dataset source :
Ronaldodev/finanfa-ai-dataset (privé)
- Conversations valides après nettoyage (doublons exacts retirés) : 20802
- Après rééquilibrage pour cet entraînement (plafonnement de decoupage_territorial) : 15564
- Catégories couvertes : 71
- Split : train 24611 / validation 779 / test 779 (≈ 90 / 5 / 5, stratifié par catégorie)
- Sur-échantillonnage dans le train set uniquement : {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v}, {k} x{v} (+10605 exemples)
- Format : conversations
system / user / assistant, système identique sur tout le dataset :
"Tu es FINANFA AI, un assistant spécialisé dans les connaissances du Bénin. Si tu n'es pas certain d'un fait précis (date, chiffre, accusation), dis-le clairement plutôt que d'inventer."
Entraînement
- Époques : 3 (avec early stopping, patience=3, sur eval_loss)
- Taille de batch effective : 16
- Learning rate : 0.0001 (volontairement bas : fine-tuning de continuation sur un
checkpoint déjà instruction-tuné, pas un entraînement depuis un modèle de base brut)
- Longueur de séquence max : 1024 tokens
- Matériel : GPU Kaggle/Colab (T4)
Métriques
- Perte (loss) sur le jeu de test tenu à l'écart de l'entraînement : 0.8343
- Évaluation qualitative : comparaison manuelle Luth-1.7B-Instruct (base) vs FINANFA-Luth-1.7B
sur un banc de 384 questions (voir exemples ci-dessous et
qualitative_eval.json fourni dans ce dépôt).
- ⚠️ Première version expérimentale sur cette base : aucune métrique automatique d'exactitude
factuelle n'a encore été mise en place.
Exemples
Q : Qui était Béhanzin ?
FINANFA-Luth : Béhanzin est une figure politique majeure de la période précoloniale et postcoloniale du Dahomey, connu pour avoir mené la résistance à la conquête française.
Q : Qui était Houégbadja ?
FINANFA-Luth : Houégbadja était le dernier roi de l'ancien royaume du Dahomey avant la conquête coloniale française. Il a dirigé son territoire vers 1890-1892, période qui a marqué la fin de la monarchie traditionnelle et la prise du territoire par les forces françaises.
Q : Qui était le roi Agadja ?
FINANFA-Luth : Agadja est un roi qui a régné sur le Dahomey au XVIIIe siècle, connu pour avoir renforcé l'armée et la puissance militaire du royaume.
Q : Qui était le roi Ghézo ?
FINANFA-Luth : Ghézo est l'un des premiers rois de l'ancien royaume du Dahomey, connu pour avoir renforcé l'armée et la puissance politique du pays.
Q : Qui était le roi Glèlè ?
FINANFA-Luth : Glèlè est un roi de l'ancien royaume baatonu, connu pour avoir mené une résistance à la conquête coloniale française.
Q : Qui étaient les Amazones du Dahomey ?
FINANFA-Luth : Les Amazones du Dahomey étaient une élite féminine de guerrières formées par le roi Ghezo pour la défense du royaume contre les conquêtes européennes.
Limites connues
- Modèle ~2,9x plus lourd que la version Qwen3-0.6B (
finanfa-ai-luth-0.6b), à évaluer selon
les contraintes réelles de latence/déploiement du projet (latence CPU sur le Space HF gratuit
actuel probablement significativement plus élevée -- à mesurer avant remplacement en production).
- Le dataset d'entraînement a été dédoublonné uniquement sur les doublons exacts ; des
quasi-doublons sémantiques peuvent subsister entre train/validation/test.
- Le modèle précédent (Luth-0.6B) a montré une tendance à fabriquer des détails ou à dégénérer
en boucle de répétition sur les tâches de synthèse multi-source, malgré un contexte RAG correct
-- ce fine-tuning sur une base 2,9x plus grande vise à réduire ce plafond de capacité, mais
l'efficacité réelle reste à vérifier sur le benchmark (section 8.2) et sur le pipeline RAG
complet (
finanfa-ai-app), pas seulement sur ce banc qualitatif.
- Ne doit pas être utilisé comme source unique pour des décisions médicales, juridiques ou
administratives.
- Actuellement uniquement en français ; les langues nationales du Bénin (fon, yoruba, bariba,
dendi, mina, adja) sont prévues pour une phase ultérieure du projet.
Licence
apache-2.0
Citation
Projet FINANFA AI 🇧🇯, développé par Ronaldodev.