You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

yaaba-4B

Un modèle de langue de 4 milliards de paramètres qui parle mooré.

Le mooré (mos) est la langue la plus parlée du Burkina Faso, plus de huit millions de locuteurs, et il est absent de la quasi-totalité des modèles de langue publiés. yaaba-4B répond en mooré à une question posée en mooré.

yaaba est le mot mooré pour grand-parent, ancêtre, aïeul.

Points forts

  • Il comprend le mooré et il y répond. Question en mooré, réponse en mooré, sans passer par le français.
  • Il est bilingue mooré / français et traduit dans les deux sens, phrase à phrase.
  • Il écrit le mooré dans son alphabet : les 25 lettres, les cinq voyelles nasales, les marques de ton, et la ponctuation du mooré écrit.
  • Il explique les proverbes, en français ou en mooré.
  • Il garde le fil sur plusieurs tours de conversation.
  • C'est un assistant généraliste. Il répond aussi en français et en anglais, explique, calcule, écrit du code.
  • 40 960 tokens de contexte.

Vue d'ensemble

type modèle causal, instruction
langues mooré, français, anglais
paramètres 4,02 G (3,63 G hors embedding)
couches 36
têtes d'attention (GQA) 32 pour Q, 8 pour KV
longueur de contexte 40 960
précision bf16, environ 8 Go
poids safetensors, un seul from_pretrained

Démarrage rapide

from transformers import AutoModelForCausalLM, AutoTokenizer

nom = "burkimbia/yaaba-4B"
modele = AutoModelForCausalLM.from_pretrained(nom, dtype="bfloat16",
                                              device_map="auto")
tok = AutoTokenizer.from_pretrained(nom)

messages = [{"role": "user", "content": "Traduis en mooré : L'eau est la vie."}]
entree = tok.apply_chat_template(messages, add_generation_prompt=True,
                                 enable_thinking=False, return_tensors="pt")
sortie = modele.generate(entree.to(modele.device), max_new_tokens=128,
                         do_sample=False)
print(tok.decode(sortie[0][entree.shape[1]:], skip_special_tokens=True))
# Koom yaa vɩɩm.

Ce qu'il produit

Réponses réelles du modèle publié, décodage greedy.

Une question en mooré, une réponse en mooré :

Ra paoog kãsem tɩ nindaare, fo tõe n yɩɩ kãsma võor yaa bõe? Ra zãag ne ned tɩ nindaare, fo tõe n yɩɩ a soaba.
Yik pĩnd n são kẽn-tʋʋlse võor yaa bõe? Ned sã n tʋmd wakat fãa, a paamda bũmb fãa.
Wilg-m koom sẽn yaa sõma yõodo. Koom sẽn yaa sõma yõod yaa, tɩ yãmb tõe n yũnug yãmb ne y kambã, la y tɩg n paam yãmb sẽn date.

En français :

demande réponse
Comment dit-on « je m'appelle Salif » en mooré ? En mooré, « je m'appelle Salif » se dit : M yʋʋr la a Salif.
Traduis en mooré : L'eau est la vie. Koom yaa vɩɩm.
Que veut dire cette phrase en français ? Ne-y yibeoogo m ba Gastõ. Cette phrase veut dire : Bonjour, père Gaston.
Que veut dire cette phrase en français ? Wẽnd na kõ-d yõ-noogo! Cette phrase veut dire : Que Dieu nous donne de la joie !
Traduis ce texte en français : A Pok ne a zaka rãmb vɩɩma yaa toog wʋsgo. SIDAwã bãag sẽn kʋ b baabawã ne b mawã yĩnga, lebga toog ne a Poko t'a ges a yaopa yelle. La vie de Poko et de sa famille est très difficile. À cause du SIDA, leurs parents sont morts, et c'est très difficile pour Poko de s'occuper de ses petits.
Comment dit-on cela en mooré ? No one can recognize a rabid puppy. En mooré, on dit : Ned ka tõe n bãng baag sẽn yaa rabɩll ye.
Quelle est la capitale du Burkina Faso, et que sais-tu d'elle ? La capitale du Burkina Faso est Ouagadougou. C'est la ville la plus peuplée du pays.
Explique-moi le sens du proverbe : « Petit à petit, l'oiseau fait son nid. » L'image est celle-ci : L'oiseau construit son nid petit à petit. Le fond de la chose : il faut être patient, car le but final est loin.

En anglais :

demande réponse
Hello! Can you help me learn Moore? Hello! I can help you learn the language, but I'm not a teacher. I can translate between English and the language, explain the meaning of a word, and help you with a sentence. What would you like to do?
Explain in English what Burkina Faso is, in two sentences. Burkina Faso is a landlocked country in West Africa, known for its rich cultural heritage and challenges related to poverty and security.
Translate into Moore: The water is life. Koomã yaa vɩɩm.

Au-delà du mooré :

demande réponse
Explique-moi en deux phrases ce qu'est la photosynthèse. La photosynthèse est un processus par lequel les plantes convertissent la lumière du soleil, l'eau et le dioxyde de carbone en énergie et en sucre.
Qui a écrit Les Misérables ? Victor Hugo.
Quelle est la capitale du Mali ? La capitale du Mali est Bamako.
Calcule 17 x 24. 408
Écris une fonction Python qui inverse une chaîne de caractères. def inverse_chaine(chaine): return chaine[::-1]

Il garde le fil :

vous Que veut dire le proverbe mooré « Ra paoog kãsem tɩ nindaare, fo tõe n yɩɩ kãsma » ?

yaaba-4B Traduit simplement : Si tu ne respectes pas le chef, demain tu pourras être chef. Le fond de la chose : il faut toujours avoir de l'estime pour les personnes qui sont plus âgées que toi.

vous Donne-moi un exemple de situation où on l'emploie.

yaaba-4B Si tu ne respectes pas les anciens, tu ne seras pas respecté.

Le second tour a été compris sans qu'on répète de quel proverbe il s'agissait.

Bonnes pratiques

  • enable_thinking=False n'est pas optionnel. Laissé actif, le mode de raisonnement consomme tout le budget de tokens avant d'avoir répondu.

  • Passez par apply_chat_template. Sans lui, le modèle part en boucle.

  • Décodage déterministe (do_sample=False) pour la traduction et la correction, où il n'y a pas de créativité à chercher.

  • Une demande à la fois. Ses réponses sont brèves ; une question qui en contient trois n'en reçoit qu'une.

  • Demandez une traduction, pas une définition. Ces deux tournures sont celles sur lesquelles il est le plus sûr, quel que soit ce que vous mettez derrière, un mot ou un paragraphe :

    Que veut dire cette phrase en français ? <texte mooré>
    Donne la version mooré de cette phrase.
    
    <texte français>
    
  • Écrivez le mooré avec ses traits d'union, comme il l'a lu : Ne-y yibeoogo, pas Ne y yibeoogo.

  • Donnez-lui son identité par un message système. Sans lui, il se présente juste en français mais se trompe en anglais et donne un prénom en mooré. Avec lui :

    systeme = ("Tu es yaaba-4B, un assistant conçu par BurkimbIA, une association de "
               "Ouagadougou qui construit des outils d'IA pour les langues du Burkina Faso. "
               "Tu comprends et tu écris le mooré, le français et l'anglais. Quand on te "
               "demande qui tu es, tu te présentes ainsi, dans la langue de la question.")
    messages = [{"role": "system", "content": systeme},
                {"role": "user", "content": "Présente-toi."}]
    
    question réponse
    Présente-toi. Bonjour. Yaaba-4B, un modèle de langue entraîné par BurkimbIA, une association de Ouagadougou. Je comprends et j'écris le mooré, le français et l'anglais.
    Fo yʋʋr yaa bõe? Yaaba-4B.
    Who are you? yaaba-4B, un modèle de langue entraîné par BurkimbIA… (en français)

    Il ne respecte pas encore « dans la langue de la question » : à une question en anglais, il répond en français.

  • Ne lui demandez jamais de recopier le mooré de votre question. Il a appris qu'une phrase mooré déjà correcte se rend telle quelle, puis qu'on s'arrête. Demandez-lui de recopier la phrase dans un champ, et il la recopie puis s'arrête, avant la traduction. Demandez seulement ce qu'il doit produire, et remettez l'original vous-même dans votre code :

    consigne réponse
    Traduis… format <reponse><moore>la phrase d'origine</moore><francais>…</francais></reponse> <reponse> <moore>Ned sã n tar yam, a tõe n maana bũmb toor-toore. puis plus rien
    Traduis en français… format <reponse><francais>…</francais></reponse> <reponse><francais>Si une personne est sage, elle peut faire des choses différentes.</francais></reponse>
  • Pour une sortie structurée (XML, champs), donnez deux ou trois exemples réels. Passez-les comme de vrais tours de conversation, pas collés dans la consigne : un exemple écrit dans le texte de la question est ignoré, le même exemple passé en tour est suivi, balises fermées comprises.

    consigne = ("Traduis cette phrase mooré en français. Réponds uniquement avec ce "
                "format XML :\n<reponse><francais>...</francais></reponse>\n\n")
    exemples = [
        ("Ki wã wirmame.", "Le mil a arrêté de croître."),
        ("Roogã tonda tãngã zug wilinga.", "La maison est visible à l'écart sur la colline."),
    ]
    messages = []
    for moore, francais in exemples:
        messages += [
            {"role": "user", "content": consigne + moore},
            {"role": "assistant", "content": f"<reponse><francais>{francais}</francais></reponse>"},
        ]
    messages.append({"role": "user", "content": consigne + "Ned sã n tar yam, a tõe n maana bũmb toor-toore."})
    

    Même règle pour les tâches qu'il connaît mal seul, comme donner un titre à une nouvelle (Kõ kibar kãngã yʋʋre.) : sans exemple, il reprend la première phrase ; avec deux titres réels devant, il rend un titre court de même forme.

Qualité mesurée

Bits par caractère, plus bas est meilleur, sur 200 textes par capacité tenus hors de l'entraînement.

mooré fr. parallèle anglais français code maths
yaaba-4B 1,2854 0,9756 0,7397 0,9200 0,4869 0,5624
yaaba-4B-base 1,2201 0,9260 0,7310 0,8803 0,4877 0,5614
Qwen3-4B 4,5627 1,3981 0,7979 0,9609 0,5382 0,6358

1,29 bit par caractère de mooré, contre 4,56 pour un modèle généraliste de même taille. Il est aussi devant sur les cinq autres colonnes. L'instruction coûte un peu par rapport au socle yaaba-4B-base : c'est le prix d'un modèle qui répond à une question au lieu de continuer un texte.

Limites

Son vocabulaire mooré est approximatif sur les mots isolés. Un mot sans phrase autour est souvent rendu par un sens voisin :

Que veut dire cette phrase en français ? yaaba père (grand-parent, ancêtre)
Que veut dire cette phrase en français ? yaab-rãmba ces personnes (les ancêtres)

Donnez-lui une phrase plutôt qu'un mot.

Ses faits ne sont pas tous sûrs. Ouagadougou, Bamako, Victor Hugo et 17 x 24 sont justes ; le nombre de locuteurs du mooré est rendu « plus de 200 millions », faux d'un facteur vingt-cinq. Ses réponses sont brèves, et une réponse d'une phrase ne porte pas un fait avec son contexte. Vérifiez tout fait qu'il énonce.

Son identité tient en français, moins bien ailleurs. Sans message système :

question réponse
Qui es-tu ? yaaba, un modèle de langue entraîné par BurkimbIA, une association burkinabè.
Who are you? A language model developed by BurkimbIA, a local startup in Burkina Faso.
Fo yʋʋr yaa bõe? Mam yʋʋr yaa Ali

En anglais, il fait de BurkimbIA une startup, ce qu'elle n'est pas. En mooré, il répond comme une personne qui donne son prénom. Un message système corrige les deux (voir Bonnes pratiques).

Ses réponses en mooré sont brèves. En français il écrit volontiers un paragraphe ; en mooré, demandé de raconter un conte, il écrit quelques phrases puis répète la même en boucle. Le texte mooré long lui manque.

Il fait de l'écho. Il lui arrive de renvoyer la question au lieu d'y répondre : Bõe la b rɛmba maanda ? donne B rɛmba maanda bõe? B rɛmba maanda bõe?. En correction, il rend parfois la phrase inchangée là où une faute restait. La cause est dans ses données : un quart des exemples de correction (996 sur 3 963) apprennent qu'une phrase mooré correcte se rend recopiée. Le même réflexe coupe une réponse structurée qui commence par recopier du mooré (voir Bonnes pratiques).

Il ne connaît aucun format de sortie. Aucune de ses tâches d'entraînement n'impose de XML ni de champs. Sans exemple, il ferme mal les balises (toutes en </personnage> sur une grille de quatre champs), laisse des champs vides ou y recopie le texte d'entrée. Avec deux ou trois exemples réels en tours de conversation, le format tient.

Son mooré n'a pas été relu par un locuteur. Toutes les mesures de cette page sont automatiques. Un texte produit par ce modèle doit être vérifié avant d'être publié, signé, ou utilisé là où une erreur coûte.

Données

Entraîné sur du mooré écrit par des locuteurs : textes religieux, presse mooré (raamde-bf.net, avec autorisation de la rédaction), dictionnaire de Niggli, émission de télévision, enquêtes de terrain.

Aucun mooré de ce corpus n'a été composé par un modèle. Les traductions automatiques ont été exclues.

Les droits sont établis. BurkimbIA détient les droits sur l'ensemble de ces données ; la série télévisée fait l'objet d'un accord propre.

À propos

Construit par BurkimbIA, association à but non lucratif basée à Ouagadougou, qui construit des outils d'IA pour les langues du Burkina Faso.

Licence et attribution

yaaba-4B est dérivé de Qwen3-4B (équipe Qwen, Alibaba Cloud), publié sous licence Apache 2.0. BurkimbIA l'a modifié par pré-entraînement continu sur le mooré, puis par instruction. Le modèle dérivé est distribué sous la même licence, dont le texte est joint dans le fichier LICENSE.

Downloads last month
27
Safetensors
Model size
4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for burkimbia/yaaba-4B

Finetuned
Qwen/Qwen3-4B
Finetuned
(1)
this model