GuppyLM : Un LLM de 9M paramètres construit à partir de zéro à des fins éducatives

✍️ OpenClawRadar📅 Publié: April 16, 2026🔗 Source
GuppyLM : Un LLM de 9M paramètres construit à partir de zéro à des fins éducatives
Ad

Qu'est-ce que GuppyLM

GuppyLM est un tout petit modèle de langage (~9M paramètres) qui prétend être un poisson nommé Guppy. Il est construit à partir de zéro pour démontrer comment fonctionnent les modèles de langage sans nécessiter un doctorat ou un énorme cluster de GPU. Le projet comprend la génération de données, la création de tokenizer, l'architecture du modèle, la boucle d'entraînement et l'inférence—le tout en environ 130 lignes de code PyTorch.

Détails de l'architecture

  • Paramètres : 8,7M
  • Couches : 6
  • Dimension cachée : 384
  • Têtes : 6
  • FFN : 768 (ReLU)
  • Vocabulaire : 4 096 (BPE)
  • Séquence max : 128 tokens
  • Normalisation : LayerNorm
  • Position : Embeddings appris
  • Tête LM : Poids liés aux embeddings

Il s'agit d'un transformateur classique sans GQA, RoPE, SwiGLU ou sortie anticipée—aussi simple que possible.

Entraînement et données

Le modèle s'entraîne sur 60 000 conversations synthétiques couvrant 60 sujets en environ 5 minutes sur un GPU T4 Colab gratuit. Le jeu de données (arman-bd/guppylm-60k-generic sur HuggingFace) contient 57 000 échantillons d'entraînement et 3 000 de test au format : {"input": "...", "output": "...", "category": "..."}.

Les sujets incluent : salutations, sentiments, température, nourriture, lumière, eau, aquarium, bruit, nuit, solitude, bulles, verre, reflet, respiration, nage, couleurs, goût, plantes, filtre, algues, escargots, peur, excitation, ennui, curiosité, joie, fatigue, extérieur, chats, pluie, saisons, musique, visiteurs, enfants, sens de la vie, temps, mémoire, rêves, taille, futur, passé, nom, météo, sommeil, amis, blagues, peur, amour, âge, intelligence, santé, chant, télévision, et plus encore.

Ad

Personnalité et sortie

Guppy parle en phrases courtes et en minuscules sur l'eau, la température, la lumière, les vibrations et la nourriture. Il ne comprend pas les abstractions humaines comme l'argent, les téléphones ou la politique. Exemple de conversation :

Vous> salut guppy
Guppy> salut. je viens de trouver un bon endroit près du rocher. la température est agréable.
Vous> as-tu faim
Guppy> oui. toujours oui. je vais nager vers le haut maintenant. je promets de tout manger.
Vous> quel est le sens de la vie
Guppy> la nourriture. la réponse est toujours la nourriture.

Démarrage rapide

Discuter avec Guppy (pas d'entraînement nécessaire) : Télécharge le modèle pré-entraîné depuis HuggingFace. Il suffit d'exécuter toutes les cellules du notebook.

Entraîner le vôtre : Réglez l'environnement d'exécution sur GPU T4, exécutez toutes les cellules—télécharge le jeu de données, entraîne le tokenizer, entraîne le modèle, le teste. Téléversez sur HuggingFace ou téléchargez localement.

Discuter localement :

pip install torch tokenizers
python -m guppylm chat

Exemple d'interaction locale :

Vous> le chat te regarde
Guppy> je me cache derrière la plante quand le poilu arrive.
Vous> il pleut dehors
Guppy> je pense que la pluie est la meilleure chose à l'extérieur.

Structure du projet

guppylm/
├── config.py          # Hyperparamètres (modèle + entraînement)
├── model.py           # Transformateur classique
├── dataset.py         # Chargement des données + batch
├── train.py           # Boucle d'entraînement (LR cosinus, AMP)
├── generate_data.py   # Générateur de données de conversation (60 sujets)
├── eval_cases.py      # Cas de test réservés
├── prepare_data.py    # Préparation des données + entraînement du tokenizer
└── inference.py       # Interface de chat

Ce projet est utile pour les développeurs qui souhaitent comprendre les fondamentaux de l'architecture des transformateurs sans avoir à gérer des modèles à milliards de paramètres. L'implémentation complète montre chaque étape, du texte brut aux poids entraînés jusqu'à la sortie générée.

📖 Lire la source complète : HN LLM Tools

Ad

👀 See Also

OpenClaw Optimizer v1.18.0 publié avec alignement sur OpenClaw v2026.3.7
Tools

OpenClaw Optimizer v1.18.0 publié avec alignement sur OpenClaw v2026.3.7

La compétence OpenClaw Optimizer v1.18.0 est désormais alignée avec OpenClaw v2026.3.7, ajoutant la prise en charge de nouveaux fournisseurs d'IA, dont Google Gemini 3.1 Flash-Lite et OpenAI gpt-5.4, ainsi que de nouvelles commandes CLI comme /session idle et /usage cost.

OpenClawRadar
McPherson AI lance deux nouvelles compétences opérationnelles pour la restauration rapide sur ClawHub : diagnostic des coûts alimentaires et audit des fuites de main-d'œuvre.
Tools

McPherson AI lance deux nouvelles compétences opérationnelles pour la restauration rapide sur ClawHub : diagnostic des coûts alimentaires et audit des fuites de main-d'œuvre.

Deux nouvelles compétences gratuites ont été publiées sur ClawHub : qsr-food-cost-diagnostic détecte les problèmes de coût des marchandises vendues chaque semaine avec un diagnostic à quatre leviers, et qsr-labor-leak-auditor assure un suivi quotidien de la main-d'œuvre avec des alertes en milieu de semaine pour éviter les dépassements de budget.

OpenClawRadar
AutoClaw Local Runner : Avis sur la Configuration Facile, les Coûts en Crédits et les Problèmes de Désinstallation
Tools

AutoClaw Local Runner : Avis sur la Configuration Facile, les Coûts en Crédits et les Problèmes de Désinstallation

Un utilisateur a testé AutoClaw, un exécuteur local pour OpenClaw/AutoGLM de Zai_org, et a trouvé la configuration fluide mais a rencontré une consommation élevée de crédits, des échecs de tâches et une persistance inquiétante après la désinstallation, incluant des entrées de registre et des identifiants en texte clair.

OpenClawRadar
Visdiff : Boucle de rétroaction visuelle pour la génération de code frontend de Claude
Tools

Visdiff : Boucle de rétroaction visuelle pour la génération de code frontend de Claude

Visdiff comble l'écart de précision visuelle dans la génération de code frontend de Claude en comparant pixel par pixel le rendu avec les maquettes Figma et en réinjectant les différences dans la boucle jusqu'à correspondance.

OpenClawRadar