Moonshot AI a mis en ligne les poids de Kimi K3 le 27 juillet, rendant gratuit au téléchargement pour tous le plus grand modèle ouvert jamais publié. Il s'agit d'un système de 2,8 billions de paramètres conçu par une startup de Pékin fondée en 2023, capable de lire des images aussi bien que du texte, et acceptant un million de jetons dans une seule requête, assez pour contenir une base de code entière d'un seul coup.
Ce qui a attiré l'attention du secteur, c'est sa position dans les classements. Des observateurs indépendants placent K3 presque tout en haut du peloton, derrière seulement Claude Fable et GPT-5.6 Sol Max dans l'indice d'intelligence d'Artificial Analysis et premier sur Frontend Code Arena, pour un coût d'exécution bien moindre. Des poids ouverts signifient que n'importe qui peut le télécharger, l'inspecter, l'adapter et le garder dans son propre réseau, ce qu'aucun des principaux modèles fermés ne permet à aucun prix. C'est cette partie qui a déstabilisé beaucoup de monde la semaine dernière, et c'est pourquoi cette publication a été lue comme un mouvement concurrentiel contre OpenAI et Anthropic plutôt que comme une simple étape de recherche.
Il y a un piège qui attire moins l'attention. Téléchargeable n'est pas la même chose qu'exécutable. Les fichiers totalisent 1.56 téraoctets, ce qui, en pratique, implique un rack multinœud de GPU de datacenter. Pour tous ceux qui n'ont pas cela, les poids ouverts relevaient surtout de la technicité.
Pipe Network a publié un port open source qui réduit cet écart, en faisant tourner une version fonctionnelle de K3 sur un seul ordinateur de bureau Apple Silicon.
L'obstacle a toujours été la mémoire. Même dans sa forme la plus compressée, K3 a besoin d'environ 870GB. Le plus gros Mac existant, le Mac Studio M3 Ultra, plafonne à 512GB de mémoire unifiée. Ce n'est pas un simple petit écart.
Deux éléments d'ingénierie comblent cet écart.
Conversion en flux
Avant même qu'un modèle puisse tourner sur un Mac, ses fichiers doivent être réécrits dans le format lu par les logiciels d'apprentissage automatique d'Apple. Les outils standard le font 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 les gens font tourner chez eux. Ici, c'est impossible, parce que K3 dans sa forme brute pèse 5.6TB et qu'aucune machine vendue aujourd'hui n'a ne serait-ce qu'une quantité de mémoire s'en approchant.
Un modèle n'est pas un seul bloc compact. C'est un empilement de sections, et K3 en compte 93, chacune effectuant une partie du travail avant de passer le relais à la suivante. Le convertisseur du port en tire parti. Il charge une section, la traduit, l'écrit sur le disque, l'efface, puis passe à la suivante. À aucun moment l'ensemble n'a besoin d'exister en une seule fois, si bien que la machine qui effectue l'opération n'a jamais besoin de plus de quelques dizaines de gigaoctets de mémoire plutôt que de milliers. C'est de la plomberie plus que quelque chose de glamour, mais rien d'autre dans le projet n'est possible sans cela.
Élaguer les experts que vous n'utilisez pas
La majeure partie de K3 ne fait rien à un instant donné, et c'est voulu. Plutôt qu'un énorme réseau généraliste, il est conçu comme un panel de spécialistes étroits. Chacune de ses 93 sections en contient 896, et un routeur choisit les 16 les mieux adaptés au mot en cours de traitement. Les autres restent sur la touche. Au total, environ 98% du volume du modèle sur disque correspond à des spécialistes inactifs à un instant donné, qui occupent pourtant tous de l'espace.
Ces spécialistes sont appelés experts, et REAP, une technique de Cerebras, est un moyen de décider lesquels conserver. Elle fait passer dans le modèle un échantillon du type de texte qui vous intéresse réellement, observe quels experts font l'essentiel du travail, et écarte ceux qui ne justifient jamais la place qu'ils occupent. Appliquée à K3, cela ramène 1.56TB à 350GB, 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 le texte d'échantillon utilisé pour le calibrage détermine ce que le modèle final peut faire.
L'équipe a mesuré sur quels experts s'appuient différents types de contenu. Les langues européennes se regroupent. Le code se regroupe. Le chinois et le code se recoupent à peine, moins qu'on ne pourrait l'attendre du simple hasard.
Les conséquences apparaissent dans la sortie. Une version calibrée sur l'anglais et le code perd complètement le chinois et commence à se répéter. Une version calibrée uniquement sur le chinois écrit un chinois propre puis échoue à produire du code fonctionnel. Une version calibrée sur les deux conserve les deux. Vous ne faites pas que compresser un modèle, vous choisissez lesquelles de ses capacités survivent.
L'équipe prend soin de noter que cela repose sur un petit nombre de prompts de test plutôt que sur une évaluation formelle, et qu'une version antérieure de la même expérience avait produit une conclusion qu'ils ont ensuite jugée erronée.
La réserve honnête
L'entraînement est ce qui enseigne à un modèle. L'inférence est ce qui se passe chaque fois que vous en utilisez un, le travail qui consiste à transformer votre prompt en réponse, un mot à la fois. Chacun de ces mots oblige la machine à parcourir une grande partie des poids du modèle, c'est pourquoi 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 ici est de 0.14 à 0.20 jetons par seconde. Une seule phrase prend des minutes. Chaque mot généré nécessite la lecture d'environ 87GB depuis la mémoire, il s'agit donc d'une limite matérielle plutôt que d'un bug logiciel, et un élagage plus agressif ne règle pas le problème. Une version 100GB plus petite tournait à peine plus vite.
Voilà la véritable leçon du projet. Faire tenir le modèle sur la machine était un problème solvable par logiciel. Le rendre utilisable ne l’était pas, et cela montre assez précisément de quelle quantité de matériel un modèle de cette taille a encore besoin avant que « local » ne devienne une description pertinente. C’est un outil par lots pour des tâches que vous lancez puis auxquelles vous revenez plus tard, pas 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 pour le moment où elle rattrapera son retard.
Deux choses fonctionnent proprement. Le composant de vision a été testé par rapport au propre code de Moonshot et correspond à l’erreur d’arrondi près, donc les images fonctionnent de bout en bout. Et les experts survivants sont bit pour bit identiques aux originaux, parce que le format source et le format d’Apple encodent par hasard les nombres de la même manière. La seule information perdue est l’élagage lui-même.
Le dépôt est aussi inhabituellement direct sur ce qui n’a pas été testé. Les versions complètes non élaguées n’ont jamais généré un seul token, parce qu’il n’existe aucun ordinateur capable de les contenir.
