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

Compteur de Jetons Claude Mis à Jour avec Fonction de Comparaison de Modèles
L'outil Claude Token Counter de Simon Willison prend désormais en charge la comparaison des nombres de tokens entre différents modèles Claude. La mise à jour révèle qu'Opus 4.7 utilise 1,0 à 1,35 fois plus de tokens qu'Opus 4.6 en raison d'un tokeniseur mis à jour, ce qui pourrait augmenter les coûts d'environ 40 % malgré un tarif identique.

Configuration du contrôle vocal local pour les agents IA sur Apple Silicon
Configuration du contrôle vocal local pour les agents IA en utilisant Parakeet STT et Kokoro TTS sur Apple Silicon pour des interactions rapides et indépendantes du cloud.

Bifrost AI Gateway : Un outil open-source comble les lacunes de l'infrastructure IA
Bifrost est une passerelle LLM open-source basée sur Go qui offre un basculement automatique entre les fournisseurs, des plafonds budgétaires qui rejettent les requêtes, une journalisation d'audit et des crochets pour l'évaluation. Les tests de performance montrent qu'elle est environ 50 fois plus rapide que LiteLLM à haut débit.

Création d'un Guide de Style Rédactionnel Auto-Mise à Jour pour un Contenu Assisté par l'IA
Une équipe développant une plateforme d'extraction vocale appelée Noren a créé un guide de style Markdown de 117 lignes qui se réécrit après chaque publication, utilisant Claude pour faire respecter les règles et bannir les mots typiques de l'IA comme 'cadence' et 'optimize'.