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

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.
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
👀 See Also

TruthGuard : Hooks de Script Shell Qui Détectent les Mensonges des Agents d'IA de Codage
TruthGuard est un outil open-source qui utilise des hooks de script shell pour vérifier ce que font réellement Claude Code et Gemini CLI par rapport à ce qu'ils prétendent. Il détecte les modifications fantômes, les mensonges sur les codes de sortie, les raccourcis dangereux et bloque les commits lorsque les tests échouent.

La compétence Claude Code génère des captures d'écran de l'App Store en utilisant l'IA Gemini.
Une nouvelle compétence Claude Code appelée /aso-cosmicmeta-ss crée des captures d'écran pour l'App Store et Google Play via un flux de travail en 6 phases qui analyse les bases de code et utilise Gemini AI pour l'amélioration. La compétence inclut une étape de validation pour détecter les problèmes de mise en page avant d'utiliser les crédits API.

Homebutler : Compétence OpenClaw pour la Gestion de Homelab via Telegram
Homebutler est un binaire Go unique (~13 Mo, zéro dépendance) qui fonctionne comme une compétence OpenClaw pour gérer les homelabs depuis le chat Telegram. Il surveille les serveurs, redémarre les conteneurs Docker, réveille les machines, scanne les réseaux et alerte en cas de pics de ressources sans sessions SSH ni connexions à un tableau de bord.

Le test de codage Pacman passé par Qwen 3.6 27B F16, mais échec des quantifications 8 bits — Leçons clés sur les modèles et le décodage spéculatif MTP
Un utilisateur a réalisé une seule tentative pour créer un clone de Pacman avec Qwen 3.6 27B F16 — deux des trois tentatives ont donné des jeux quasi parfaits. Les versions 8 bits ont échoué complètement. Notes détaillées sur l'optimisation du template de chat et les gains de vitesse grâce au décodage spéculatif MTP.