Aller au contenu
La Lettre IT
Retour aux synthèses
3 min de lecture

Numberwang : un modèle de réseau de neurones de 1,8 MB en Python pur

En bref

  • Un développeur a créé un modèle de réseau de neurones capable de déterminer si un nombre est Numberwang, référence à un sketch comique de Mitchell and Webb.
  • Le modèle pèse 1,8 MB, fonctionne en Python pur (zéro dépendance pour l'inférence) et supporte onze langues.
  • L'inférence est constituée d'environ 100 lignes de code Python standard, sans PyTorch ni NumPy.
  • Le modèle affiche une précision de 88,9% sur un ensemble de test de 486 cas, avec un plafond théorique autour de 98%.

Ce que dit la source

L'auteur a entraîné un petit réseau de neurones (80 804 paramètres) capable de classifier les nombres et expressions selon qu'ils sont Numberwang, Wangernumb (rotation), ou non-Numberwang. Le modèle opère directement sur les caractères sans tokeniseur ni moteur de règles, et accepte des entrées en multiples formats : chiffres, mots (en onze langues), expressions arithmétiques, nombres romains, ordinalité.

  • Le modèle se limite à 80 804 paramètres et tient dans un fichier JSON de 1,8 MB sans dépendances externes pour l'inférence (seul Python 3.8+ requis).
  • L'architecture est minimaliste : embedding de caractères suivi de deux convolutions 1D, max pooling global, puis deux couches linéaires. Aucun tokeniseur, aucune normalisation appliquée à l'inférence.
  • Support multilingue confirmé pour onze langues : anglais, allemand, espagnol, néerlandais, français, italien, portugais, suédois, danois, norvégien, islandais (avec accents optionnels).
  • Le modèle affiche 88,9% de précision macro (F1 0.896) sur 486 cas de test ; l'auteur note que le plafond théorique est ~98% car environ 2% des étiquettes d'entraînement sont intentionnellement inversées, en accord avec la tradition du jeu.
  • L'arithmétique sur opérandes inédites reste le point faible (44–72% selon les cas), car le réseau mémorise plutôt que de calculer : les petites expressions communes (52) sont fiables, les grandes (904 3) sont des estimations.
  • L'inférence accepte aussi les nombres écrits en mots ordonnés, les chiffres romains, les devises, les unités et l'heure. Tous les verdicts sont stockés dans les poids du modèle, aucune règle n'est explicite.
  • Un host gratuit tourne sur Hugging Face Spaces ; une version locale nécessite Gradio seulement pour la démo, jamais pour le modèle lui-même.

Dans les commentaires

Discussion essentiellement ludique et métalinguistique. Quelques commentateurs soulignent des limites techniques (dépendance du contexte, faiblesse arithmétique, données d'entraînement floues), mais l'essentiel du fil navigue entre approbation amusée et références au sketch original. Peu de débat substantiel sur la viabilité ou les applications réelles.

  • Un commentateur conteste l'exactitude du modèle, affirmant qu'une classification correcte de Numberwang devrait dépendre de la séquence précédente, pas seulement du nombre isolé : selon lui, le modèle ne peut juger que pour un nombre comme première entrée d'une séquence.
  • Un autre pointe l'incohérence du claim « zéro dépendance » alors que requirements.txt et Gradio figurent dans le repo, bien que l'auteur précise que Gradio n'est nécessaire que pour la démo web.
  • Plusieurs commentateurs interrogent les données d'entraînement : corpus restreint au sketch original ? données synthétiques ?, l'auteur ne répond pas explicitement sur ce point dans les extraits fournis.
  • Confusion notable sur le périmètre : certains demandent si les règles proviennent du jeu de société officiel, d'autres si une version Wordwang (parodie inverse du sketch) est prévue.

Notre lecture

C'est un exercice d'ingénierie ludique et une célébration de la capacité à encoder une logique absurde (mais cohérente) dans un modèle ultra-compact. La limite majeure, dépendance au contexte du jeu réel, est connue et acceptée. Pour une audience tech, l'intérêt réside dans la minimalité (1.8 MB, Python pur, inférence sans framework) plutôt que dans une application sérieuse. Pas d'action directe pour une DSI, mais un bon exemple de ce qu'est possible quand on refuse les dépendances inutiles et qu'on accepte un modèle léger et quirky.

Le brief, dans votre boîte mail

Recevez chaque jour la sélection et l'analyse La Lettre IT, sans avoir à repasser sur le site.