/ Модель

Характеристики

Лицензия
MIT
Архитектура
minillm · dense
Библиотека
pytorch
Опубликована
24 сен 2026

miniLLM_v2.1-48M-20000_1.31Btoks_3.0ep_20260924

Генерация текстаТекст → текст3 профессии

Компактная французская языковая модель, обученная с нуля для короткой генерации текста, простых диалогов, исправления предложений и общих вопросов.

362скачиваний за 30 дней0лайковвеса обновлены25 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

miniLLM v2.1 — небольшой французский языковой Transformer, разработанный DevLab (Камерун) и обученный с нуля без использования весов существующей языковой модели. Модель содержит 48,5 млн параметров, 10 слоёв, 8 голов внимания, использует RMSNorm, RoPE, SwiGLU и QK-Norm; её контекст составляет 512 токенов, а токенизатор byte-level BPE — 32 000 токенов. Доступны веса и токенизатор в формате PyTorch.

Модель предназначена для генерации коротких текстов на французском и простых диалогов, а также для исправления предложений и ответов на общие вопросы. Предобучение выполнено на корпусе из французской Википедии и веб-данных FineWeb-2; затем модель дообучили на 38 706 примерах, включая French Alpaca, OASST-FR и PIAF. Лицензия — MIT.

В описанных наблюдениях модель обычно создаёт связный французский текст для простых задач. Она значительно менее надёжна при точных фактических вопросах, арифметике и многошаговом рассуждении; контекст 512 токенов ограничивает длину обрабатываемого текста.

Сценарии применения

  • генерация коротких текстов на французском языке
  • простые диалоги на французском
  • исправление французских предложений
  • ответы на простые вопросы по общим знаниям
  • изучение поведения небольшой языковой модели

Ограничения

Модель ненадёжна при точных фактических вопросах, арифметике и многошаговом рассуждении; контекст ограничен 512 токенами.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

miniLLM

miniLLM v2.1 — 48M

badges

bonopassale/miniLLM_v2.1-48M-20000_1.31Btoks_3.0ep_20260924

Modèle de langage français entraîné from scratch par DevLab (Cameroun) : architecture, tokenizer et poids ont été développés et entraînés dans le cadre de ce projet, sans initialisation à partir des poids d'un modèle de langage préexistant.

L'objectif du projet n'est pas de rivaliser avec les grands modèles généralistes, mais de documenter précisément ce qu'un Transformer d'environ 49M de paramètres peut et ne peut pas faire lorsqu'il est entraîné sérieusement, avec des ressources de calcul limitées.

Caractéristiques du modèle

  • 48 508 672 paramètres (environ 32,1M hors embeddings)
  • 10 couches Transformer
  • d_model = 512
  • 8 têtes d'attention
  • 8 têtes K/V
  • RMSNorm
  • RoPE
  • SwiGLU
  • QK-Norm
  • Contexte : 512 tokens
  • Vocabulaire : 32 000 tokens
  • Tokenizer BPE byte-level, entraîné sur le corpus du projet
  • Poids et tokenizer publiés intégralement dans ce dépôt

Avec 8 têtes de requêtes et 8 têtes K/V, l'implémentation correspond à une attention multi-têtes classique (MHA), et non à du GQA au sens strict.


Entraînement

Pré-entraînement

  • Corpus français : 433M tokens, 741 944 documents
  • Sources : Wikipédia française nettoyée + données web françaises issues de FineWeb-2
  • 20 000 itérations
  • Environ 1,31 milliard de tokens vus
  • Environ 3 époques sur le corpus
  • Meilleure val_loss : 3,2024
  • Perplexité correspondante : ≈ 24,6

Courbe de loss — pré-entraînement

La loss de validation suit une tendance globalement décroissante au cours du pré-entraînement, sans dégradation durable visible sur la période observée. L'entraînement est ainsi resté stable jusqu'à la fin des 20 000 itérations.

Le modèle a parcouru son corpus plusieurs fois ; il ne s'agit donc pas d'un entraînement court ou simplement exploratoire.

SFT (fine-tuning supervisé)

  • 38 706 exemples
  • Données provenant notamment de données synthétiques, French Alpaca, OASST-FR et PIAF
  • Loss calculée uniquement sur les tokens de réponse
  • Meilleur checkpoint : itération 750
  • val_loss minimale : 2,1548

Courbe de loss — SFT

La loss de validation atteint son minimum autour de l'itération 750 puis augmente progressivement. Le checkpoint de l'itération 750 a donc été retenu selon le mécanisme d'early stopping, plutôt que le dernier checkpoint.


Prétraitement

Wikipédia FR

Le corpus Wikipédia a notamment fait l'objet des traitements suivants :

  • nettoyage des phrases « trouées » issues de certains templates du dump, par exemple « né le à Moulins » ou « (en latin : ) » ;
  • suppression de certaines sections de fin, notamment les références et liens externes ;
  • suppression des titres selon les règles de préparation du corpus ;
  • recollage des élisions françaises espacées, par exemple « L' archidiocèse » → « L'archidiocèse ».

Web FR

Les documents français issus de FineWeb-2 ont fait l'objet d'un filtre anti-spam avant leur intégration au corpus.

Format commun

Les deux sources ont ensuite été normalisées selon un format commun :

  • paragraphes séparés par une ligne vide ;
  • normalisation Unicode NFC ;
  • suppression des doublons ;
  • insertion de <|endoftext|> après chaque document.

Tokenizer

Un tokenizer BPE byte-level de 32 000 tokens a été entraîné sur un échantillon représentatif des deux sources.

La préparation du tokenizer a notamment pris en compte :

  • les particularités de la langue française ;
  • les chiffres ;
  • les élisions françaises ;
  • les besoins du corpus utilisé pour le pré-entraînement.

Split train/validation

  • 1 % des documents ont été réservés à la validation ;
  • la sélection est effectuée par hachage du texte ;
  • les documents du jeu de validation ne sont donc pas volontairement réutilisés dans le jeu d'entraînement.

Séquences d'entraînement

Les données sont utilisées sous forme de blocs de 512 tokens.

Les blocs sont tirés du corpus selon la stratégie de sampling utilisée par le pipeline d'entraînement, avec mélange des différentes sources au niveau des blocs.

Paramètres de constitution du corpus

  • 450 000 articles Wikipédia FR demandés ;
  • 300 000 documents FineWeb-2 FR demandés ;
  • vocabulaire cible : 32 000 tokens.

Hyperparamètres

Pré-entraînement

paramètrevaleur
batch size16
gradient accumulation8
longueur de séquence512
itérations20 000
tokens / itération≈ 65 536
learning rate6e-4 → 6e-5
schedulercosine decay
warmup300 itérations
weight decay0,1
optimiseurAdamW
β10,9
β20,95
gradient clipping1,0
précisionfp16 / bf16 selon le matériel

Le budget total correspond à environ 1,31 milliard de tokens vus, soit environ 3 passages du corpus de 433M tokens.

SFT

paramètrevaleur
exemples38 706
époques maximales100
early stoppingpatience de 5 évaluations sans amélioration
batch size16
gradient accumulation2
learning rate2e-4 → 2e-5
schedulercosine decay
warmup50 itérations
weight decay0,01
évaluation / sauvegardetoutes les 250 itérations
losstokens de réponse uniquement
initialisationpoids du pré-entraînement
optimiseurréinitialisé avant le SFT

Hardware

L'entraînement a été réalisé sur des GPU NVIDIA T4, principalement via Google Colab et Kaggle.

Selon la session disponible :

  • entraînement sur un seul GPU ;
  • ou entraînement sur deux GPU avec DDP ;
  • précision fp16 avec GradScaler sur T4.

Les conditions matérielles peuvent donc varier légèrement d'une session à l'autre.


Comportement observé

Le modèle produit du français généralement cohérent sur certaines tâches simples : petits échanges conversationnels, correction de phrases, questions de culture générale et génération de textes courts.

Sa fiabilité diminue cependant nettement lorsque la tâche nécessite une connaissance précise, une arithmétique fiable, un raisonnement multi-étapes ou une vérification factuelle.

Le fichier MiniLlmQA.md rassemble 337 questions ouvertes, posées sans fournir la réponse attendue au modèle, et conserve les réponses produites, y compris les erreurs.

Il constitue principalement un jeu d'observations qualitatives permettant d'examiner le comportement du modèle. Les exemples ci-dessous ne représentent qu'une sélection illustrative.

Exemples de réponses cohérentes

Conversation / identité

Q : Qui es-tu ? R : Je m'appelle MiniLLM. Je suis un petit modèle de langage créé par DevLab.

Q : Que peux-tu faire ? R : Je peux répondre à des questions simples, j'invente de petits textes et je discute volontiers en français.

Français / grammaire

Q : Quel est le contraire de rapide ? R : Le contraire de rapide est lent.

Q : Corrige cette phrase : Les enfant joue dehors. R : Les enfants jouent dehors.

Repères temporels et chiffrés

Q : Combien de minutes y a-t-il dans une heure ? R : Il y a soixante minutes dans une heure.

Q : Quel jour vient après vendredi ? R : Après vendredi, c'est samedi.

Sciences

Q : Qu'est-ce que la photosynthèse ? R : La photosynthèse est le processus par lequel les plantes utilisent la lumière du soleil pour convertir le dioxyde de carbone et l'eau en glucose et en oxygène.

Q : Pourquoi le ciel est-il bleu ? R : Le ciel est bleu en raison de la diffusion de la lumière solaire par les molécules de l'atmosphère terrestre.

Géographie

Q : Quelle est la capitale du Gabon ? R : La capitale du Gabon est Libreville.

Q : Quel est le plus long fleuve d'Afrique ? R : Le Nil est généralement considéré comme le plus long fleuve d'Afrique.

Personnages historiques

Q : Qui était Marie Curie ? R : Marie Curie était une physicienne et chimiste d'origine polonaise, naturalisée française, connue pour ses travaux pionniers sur la radioactivité. Elle a reçu deux prix Nobel, en physique puis en chimie.

Culture générale

Q : Qu'est-ce qu'une démocratie ? R : Une démocratie est une forme de gouvernement dans laquelle le pouvoir politique est exercé directement ou indirectement par les citoyens.

Informatique / technologie

Q : Qu'est-ce que Linux ? R : Linux est une famille de systèmes d'exploitation utilisant le noyau Linux. Il est notamment utilisé dans les serveurs, les ordinateurs personnels, les appareils embarqués et de nombreux autres systèmes.

La réponse observée sur cette question dans les évaluations précédentes illustre toutefois une limite typique du modèle : une sortie peut être grammaticalement correcte et formulée avec assurance tout en étant incorrecte ou confuse sur le fond. Ce type de comportement apparaît notamment sur certaines questions techniques.

Exemples d'échecs représentatifs

Le fichier complet contient de nombreuses erreurs factuelles et arithmétiques. Quelques exemples :

  • 2 + 3 → 10
  • 100 - 37 → 2
  • Capitale de l'Égypte → Tripoli

Ces exemples montrent que la fluidité linguistique du modèle ne garantit pas la fiabilité de son contenu.

À cette échelle, une question apparemment simple peut être correctement traitée dans un cas et produire une erreur dans un autre. Les résultats doivent donc être interprétés comme des observations du comportement du modèle, et non comme une garantie de compétence générale.


Installation

pip install -r requirements.txt

requirements.txt :

torch>=2.3
tokenizers>=0.15
safetensors>=0.4

Utilisation

Ce dépôt contient notamment :

  • les poids du modèle (model.safetensors) ;
  • la configuration (config.json) ;
  • le tokenizer (tokenizer.json) ;
  • les réglages de génération (generation_config.json) ;
  • un script d'inférence autonome (inference.py) ;
  • le fichier d'évaluation MiniLlmQA.md.

Le script inference.py utilise les fichiers nécessaires présents dans le dépôt et permet une utilisation locale du modèle.

Inférence en ligne de commande

python inference.py --weights model.safetensors --config config.json --tokenizer tokenizer.json \
    --prompt "Quelle est la capitale du Cameroun ?"

Mode conversationnel

python inference.py --weights model.safetensors --config config.json --tokenizer tokenizer.json --mode chat

Utilisation en Python

from inference import load_model, MiniTokenizer, chat_reply

model = load_model("model.safetensors", "config.json")
tok = MiniTokenizer("tokenizer.json")

response = chat_reply(
    model,
    tok,
    [
        {"role": "user", "content": "Qui es-tu ?"}
    ]
)

print(response)

Méthodologie d'évaluation

Perplexité

La perplexité est mesurée sur un ensemble de validation fixe afin de permettre la comparaison entre différentes étapes d'entraînement.

Pour le pré-entraînement :

  • val_loss = 3,2024
  • perplexité ≈ 24,6

Pour le SFT :

  • val_loss = 2,1548
  • la loss est calculée uniquement sur les tokens correspondant aux réponses.

La loss du SFT ne doit donc pas être comparée directement à la loss de pré-entraînement comme si elles mesuraient exactement la même chose.

Évaluation qualitative

Une évaluation séparée contient 337 questions ouvertes.

Les réponses sont conservées telles qu'elles ont été générées afin de documenter à la fois :

  • les réponses correctes ;
  • les réponses partiellement correctes ;
  • les hallucinations ;
  • les erreurs de raisonnement ;
  • les erreurs arithmétiques ;
  • les réponses hors sujet.

Aucune réponse attendue n'est fournie au modèle lors de cette évaluation.

Ce qui n'est pas mesuré

Cette évaluation ne constitue pas un benchmark standardisé et aucun score agrégé de type Exact Match ou F1 n'est calculé sur les 337 questions.

Les résultats sont donc principalement destinés à l'analyse qualitative du comportement du modèle.


Pourquoi publier un modèle de cette taille ?

Un modèle d'environ 49M de paramètres entraîné from scratch constitue un objet d'étude intéressant pour :

  • expérimenter des architectures Transformer à petite échelle ;
  • observer concrètement l'effet du pré-entraînement et du SFT ;
  • tester différentes stratégies de tokenisation ;
  • travailler avec des ressources de calcul limitées ;
  • comprendre par la pratique le fonctionnement d'un modèle de langage, du corpus à l'inférence ;
  • disposer d'un point de comparaison pour de futures versions du projet ;
  • étudier les limites de la génération de texte sur des modèles compacts.

miniLLM est avant tout un projet de recherche et d'apprentissage personnel, et non un modèle destiné à remplacer des systèmes généralistes ou à être utilisé comme source d'information fiable.


Usages recommandés

Le modèle peut notamment être utilisé pour :

  • expérimenter avec un petit modèle de langage français ;
  • apprendre et étudier le fonctionnement d'un LLM de bout en bout ;
  • tester localement une architecture Transformer compacte ;
  • réaliser de petites conversations en français ;
  • expérimenter avec la génération de texte ;
  • comparer différentes versions futures de miniLLM ;
  • étudier les effets du pré-entraînement et du SFT sur un modèle de petite taille.

Usages hors objectif

Le modèle n'est pas conçu pour :

  • les décisions importantes nécessitant des informations fiables ;
  • les calculs financiers ;
  • les usages médicaux ou juridiques ;
  • la génération de code fiable ;
  • le raisonnement multi-étapes exigeant une exactitude élevée ;
  • l'arithmétique nécessitant des résultats garantis ;
  • les applications de production nécessitant une fiabilité élevée ;
  • les langues autres que le français, pour lesquelles il n'a pas été spécifiquement entraîné ;
  • les contextes dépassant sa fenêtre de 512 tokens.

Limites

Les évaluations réalisées sur ce modèle montrent notamment :

  • des hallucinations factuelles ;
  • des erreurs arithmétiques, y compris sur des opérations simples ;
  • une forte variabilité des résultats selon le type de question ;
  • des réponses grammaticalement correctes mais incorrectes sur le fond ;
  • des erreurs dans certaines questions de géographie, informatique, sciences et mathématiques ;
  • une capacité de raisonnement limitée ;
  • une fenêtre de contexte de 512 tokens ;
  • une spécialisation principalement francophone.

La taille du modèle et les données utilisées imposent également des limites importantes par rapport aux modèles de langage beaucoup plus grands.

Le modèle ne doit donc pas être considéré comme une source d'information fiable sans vérification externe.


Évaluation ouverte

Le fichier MiniLlmQA.md contient les 337 questions et réponses brutes utilisées pour observer le comportement du modèle.

Les réponses sont conservées sans sélection visant à ne montrer que les réussites.

L'objectif est de permettre à d'autres utilisateurs de :

  1. reprendre les mêmes questions avec le modèle ;
  2. comparer les sorties obtenues ;
  3. ajouter de nouvelles questions ;
  4. documenter de nouveaux comportements ;
  5. identifier aussi bien les réussites que les échecs.

Toute sortie inattendue peut ainsi constituer une observation utile pour les versions futures du projet.


À propos

miniLLM est développé par DevLab, au Cameroun, dans le cadre d'un projet personnel visant à documenter ce qu'un petit modèle de langage entraîné localement, avec des ressources limitées, peut accomplir et quelles sont ses limites.

Cette version constitue un point de mesure dans le développement du projet, et non un aboutissement.


Licence

miniLLM v2.1 est distribué sous licence MIT.

Voir le fichier LICENSE pour le texte complet de la licence.


Fichiers

  • config.json — configuration de l'architecture du modèle
  • generation_config.json — paramètres par défaut de génération
  • model.safetensors — poids du modèle
  • tokenizer.json — tokenizer BPE entraîné sur le corpus
  • requirements.txt — dépendances nécessaires à l'inférence
  • inference.py — script d'inférence autonome
  • MiniLlmQA.md — 337 questions/réponses brutes d'évaluation
  • assets/banner.png — bannière du projet
  • assets/icon.png — icône du projet
  • assets/badges.png — badges du projet
  • assets/loss_pretrain.png — courbe de loss du pré-entraînement
  • assets/loss_sft.png — courbe de loss du SFT
  • LICENSE — licence MIT

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch

Нельзя запустить

Архитектура minillm неизвестна transformers в образе рантайма.

Ревизия весов
276daf3

0 моделей