Moonshot AI a mis en ligne les poids de Kimi K3 le 27 juillet, rendant gratuitement téléchargeable par n’importe qui le plus grand modèle ouvert jamais commercialisé. Il s’agit d’un système de 2,8 billions de paramètres développé par une start-up de Pékin fondée en 2023 ; il lit les images aussi bien que le texte et accepte un million de tokens dans une seule requête, suffisamment pour contenir une base de code entière en une fois.
Ce qui a retenu l’attention du secteur, c’est sa position dans les classements. Des organismes de suivi indépendants placent K3 tout près du sommet, derrière seulement Claude Fable et GPT-5.6 Sol Max dans l’indice d’intelligence d’Artificial Analysis, et à la première place de Frontend Code Arena, pour une fraction du coût d’exécution. Des poids ouverts signifient que n’importe qui peut télécharger le modèle, l’inspecter, l’adapter et le conserver dans son propre réseau, ce qu’aucun des principaux modèles fermés n’autorise, quel qu’en soit le prix. C’est ce qui a déstabilisé beaucoup de monde la semaine dernière, et pourquoi cette sortie a été interprétée comme une offensive concurrentielle contre OpenAI et Anthropic plutôt que comme une simple avancée de recherche.
Il y a toutefois un bémol qui reçoit moins d’attention. Téléchargeable ne veut pas dire exécutable. Les fichiers occupent 1,56 téraoctet, ce qui implique en pratique une baie de GPU de datacenter répartie sur plusieurs nœuds. Pour ceux qui n’en disposent pas, les poids ouverts sont surtout restés une question théorique.
Pipe Network a publié un portage open source qui réduit l’écart en faisant fonctionner une version de K3 sur un ordinateur de bureau Apple Silicon unique.
L’obstacle a toujours été la mémoire. Même dans sa forme la plus compressée, K3 nécessite environ 870 Go. Le Mac le plus puissant qui existe, le M3 Ultra Mac Studio, plafonne à 512 Go de mémoire unifiée. Ce n’est pas un presque-succès.
Deux éléments d’ingénierie permettent de résoudre le problème.
Convertir en flux
Avant qu’un modèle puisse fonctionner sur un Mac, ses fichiers doivent être réécrits dans le format lu par les logiciels d’apprentissage automatique d’Apple. Les outils standards procèdent en chargeant le modèle entier en mémoire, en le modifiant, puis en le réenregistrant. Cela fonctionne pour les petits modèles que l’on exécute chez soi. C’est impossible ici, car K3 occupe 5,6 To dans sa forme brute et aucune machine commercialisée ne dispose d’une mémoire même proche de cette capacité.
Un modèle n’est pas un bloc monolithique. C’est une pile de sections, et K3 en compte 93, chacune accomplissant une partie du travail avant de passer le relais à la suivante. Le convertisseur du portage en tire parti. Il charge une section, la traduit, l’écrit sur le disque, la supprime, puis passe à la suivante. À aucun moment l’ensemble n’a besoin d’exister simultanément ; la machine qui effectue le travail n’a donc jamais besoin de plus que quelques dizaines de gigaoctets de mémoire, plutôt que de milliers. C’est de la plomberie plutôt qu’une prouesse spectaculaire, mais rien d’autre dans le projet ne pourrait avoir lieu sans elle.
Élaguer les experts inutilisés
La majeure partie de K3 ne fait rien à un instant donné, et c’est intentionnel. Plutôt qu’un immense réseau généraliste, le modèle est conçu comme un ensemble de spécialistes étroits. Chacune de ses 93 sections en contient 896, et un routeur sélectionne les 16 les mieux adaptés au mot en cours de traitement. Les autres restent inactifs. En additionnant le tout, environ 98 % du volume du modèle sur le disque correspond à des spécialistes inactifs à chaque instant, qui occupent malgré tout de l’espace.
Ces spécialistes sont appelés des experts, et REAP, une technique de Cerebras, permet de déterminer lesquels conserver. Elle fait passer dans le modèle un échantillon du type de texte qui vous intéresse réellement, observe quels experts fournissent l’essentiel du travail et élimine ceux qui ne justifient jamais l’espace qu’ils occupent. Appliquée à K3, cette méthode fait passer le modèle de 1,56 To à 350 Go, ce qui tient dans un Mac Studio avec de la marge.
Le corpus est le produit
Le résultat le plus intéressant du dépôt est que les textes d’échantillonnage utilisés pour l’étalonnage déterminent ce que le modèle final est capable de faire.
L’équipe a mesuré les experts sur lesquels s’appuient différents types de contenus. Les langues européennes se regroupent. Le code se regroupe. Le chinois et le code se recouvrent à peine, moins que ne le laisserait prévoir le hasard.
Les conséquences apparaissent dans les résultats. Une version étalonnée sur l’anglais et le code perd complètement le chinois et commence à se répéter. Une version étalonnée uniquement sur le chinois écrit un chinois impeccable, puis échoue à produire du code fonctionnel. Une version étalonnée sur les deux conserve ces deux capacités. Vous ne faites donc pas que compresser un modèle : vous choisissez lesquelles de ses capacités vont survivre.
L’équipe prend soin de préciser que cette conclusion repose sur un petit nombre de requêtes de test plutôt que sur une évaluation formelle, et qu’une version antérieure de la même expérience avait abouti à une conclusion qu’elle a ensuite jugée erronée.
La réserve honnête
L’entraînement est ce qui enseigne quelque chose à un modèle. L’inférence est ce qui se produit chaque fois que vous l’utilisez : le travail qui consiste à transformer votre requête en réponse, un mot à la fois. Chacun de ces mots exige que la machine parcoure une grande partie des poids du modèle, raison pour laquelle la vitesse d’inférence dépend surtout de la rapidité avec laquelle un ordinateur peut déplacer des données, plutôt que de son intelligence.
La vitesse observée ici est de 0,14 à 0,20 token par seconde. Une seule phrase prend plusieurs minutes. Chaque mot généré nécessite de lire environ 87 Go en mémoire ; il s’agit donc d’une limite matérielle plutôt que d’un bug logiciel, et élaguer davantage ne résout pas le problème. Une version allégée de 100 Go n’était que légèrement plus rapide.
C’est la véritable leçon du projet. Faire tenir le modèle sur la machine était un problème que le logiciel pouvait résoudre. Le rendre utilisable ne l’était pas, et cela montre assez précisément la quantité de matériel qu’un modèle de cette taille exige encore avant que « local » devienne une description pertinente. Il s’agit d’un outil de traitement par lots pour des tâches que l’on lance avant de revenir les consulter, pas d’un chatbot. La bande passante mémoire des machines grand public continue toutefois d’augmenter, et les bases logicielles sont désormais en place et publiques, en attendant que le matériel rattrape son retard.
Deux éléments fonctionnent correctement. Le composant de vision a été testé avec le code de Moonshot et correspond à celui-ci à l’erreur d’arrondi près, ce qui signifie que les images fonctionnent de bout en bout. Et les experts restants sont identiques bit à bit aux originaux, car le format source et le format d’Apple encodent les nombres de la même manière. La seule information perdue est celle due à l’élagage lui-même.
Le dépôt indique aussi de manière inhabituellement directe ce qui n’a pas été testé. Les versions complètes, non élaguées, n’ont jamais généré un seul token, car aucun ordinateur n’existe capable de les contenir.
