Ce minuscule outil fait tourner un modèle d'IA de 744B sur du matériel standard (colibrì)

BBetter Stack
Computing/Software

Transcript

00:00:00Il s'agit d'un modèle de langage de 744 milliards de paramètres, le GLM 5.2.
00:00:07Pour situer le contexte, c'est la même catégorie de taille que les modèles de pointe exécutés dans des centres de données pleins de GPU.
00:00:14Maintenant, et si vous pouviez exécuter ce modèle localement sur votre matériel grand public ?
00:00:19Cela semble presque impossible, mais ce développeur, Vincenzo Fornaro,
00:00:24vient de créer un outil appelé Calibri qui vous permet de faire exactement cela.
00:00:28Mais comment est-ce seulement possible ?
00:00:31Comment Vincenzo a-t-il fait cela et comment est-ce que ça fonctionne ?
00:00:34Eh bien, ce sont toutes de bonnes questions que nous allons explorer dans cette vidéo
00:00:38et nous allons le tester sur deux configurations matérielles différentes pour voir à quel point il est puissant.
00:00:44Ça va être très amusant, alors plongeons-nous dedans.
00:00:51Normalement, pour exécuter un modèle de 700 milliards de paramètres,
00:00:55vous auriez besoin de faire tenir tous ses poids en mémoire en même temps.
00:00:59Et avec une quantification en entier 4, 744 milliards de paramètres représentent encore des centaines de gigaoctets.
00:01:06C'est pourquoi les grands modèles résident sur ces gros serveurs et que le matériel pour les héberger est coûteux et spécialisé.
00:01:13La question évidente est donc : comment exécuter quelque chose qui ne rentre pas ?
00:01:17Eh bien, l'astuce commence par l'architecture du modèle.
00:01:20GLM 5.2 est un modèle de type mélange d'experts.
00:01:23Nous avons déjà beaucoup parlé des modèles de mélange d'experts sur cette chaîne,
00:01:27mais au cas où vous auriez besoin d'un rappel, voici en gros comment cela fonctionne.
00:01:31Au lieu d'un seul réseau dense géant, il est divisé en milliers de sous-réseaux spécialistes plus petits appelés experts.
00:01:39Et pour un jeton donné, le modèle n'utilise qu'une minuscule fraction de ces experts.
00:01:43Sur un total de 744 milliards de paramètres, seuls 40 milliards sont réellement actifs par jeton.
00:01:51Et cela fait environ 5 %.
00:01:52Ainsi, même si le modèle entier est énorme, la quantité de travail et de mémoire dont vous avez réellement besoin à chaque instant est bien plus petite.
00:02:02Et Calibri est entièrement conçu pour exploiter cet écart.
00:02:06Calibri traite le stockage de votre machine comme une grande hiérarchie de mémoire.
00:02:10Vos GPU, votre mémoire VRAM, votre mémoire RAM système et vos SSD NVMe sont disposés en couches comme un cache.
00:02:17Les composants denses du modèle, les parties utilisées pour chaque jeton, sont en fait petits, environ 17 milliards de paramètres.
00:02:23Et cela représente moins de 10 gigaoctets avec une quantification en entier 4.
00:02:27Et ceux-ci restent résidents en RAM tout le temps.
00:02:30Quant aux experts, ils résident sur votre SSD.
00:02:33Lorsque le modèle a besoin d'un expert spécifique pour un jeton,
00:02:36Calibri extrait juste cet expert du disque, l'utilise et le met en cache.
00:02:41Et l'ensemble est écrit en C pur sans aucune dépendance externe.
00:02:46Et c'est ce qui le rend si léger.
00:02:48Maintenant, diffuser un modèle à partir d'un disque dur donne l'impression que ce devrait être soit douloureusement lent, soit imprécis.
00:02:55Eh bien, Calibri a quelques astuces pour contrer ces deux problèmes.
00:02:58Premièrement, il dispose d'un cache d'apprentissage.
00:03:00Le moteur enregistre vers quels experts vos invites sont réellement acheminées dans un fichier à côté du modèle.
00:03:06Au démarrage, il épingle automatiquement les experts les plus sollicités dans la RAM disponible.
00:03:11Ainsi, plus vous l'utilisez pour un type de tâche particulier, mieux il se met en cache pour cette tâche.
00:03:16Deuxièmement, il y a le décodage spéculatif.
00:03:19Le modèle possède une tête de prédiction multi-jeton native qui devine plusieurs jetons à l'avance afin de générer plus rapidement qu'un jeton à la fois.
00:03:27Et troisièmement, et c'est un point important, il préserve la qualité.
00:03:31La passe avant est validée pour être exacte au niveau des jetons par rapport à une implémentation de référence transformers.
00:03:37En termes simples, Vincenzo a vérifié que cette version quantifiée en streaming produit les mêmes sorties que la référence en pleine précision.
00:03:45Et il utilise également un cache d'attention compressé.
00:03:48L'attention MLA qui réduit le cache KV d'environ 57 fois, ce qui explique en grande partie pourquoi l'empreinte mémoire reste si faible.
00:03:57Maintenant, le plus grand obstacle pour tester cet outil est de trouver de l'espace libre.
00:04:01Et je pèse mes mots.
00:04:02GLM 5.2 fait environ 357 gigaoctets.
00:04:06Et pour le tester correctement, je devrais libérer près de la moitié de l'espace SSD de mon MacBook, ce que je ne peux pas faire.
00:04:13Donc, avant même de penser à la RAM et aux GPU, le premier mur sur lequel vous allez probablement vous heurter est celui-ci.
00:04:19Avez-vous seulement la place pour une telle chose ?
00:04:21Alors, comme je n'avais pas les 357 gigaoctets supplémentaires en interne, j'ai pris un disque externe, un SSD portable Samsung avec une vitesse de transfert d'environ 1 gigaoctet par seconde.
00:04:33Et j'ai placé le modèle sur ce disque à la place.
00:04:35Et je tiens à le signaler dès maintenant car c'est important.
00:04:38Cette décision a en fait affecté tout mon premier test.
00:04:42Un disque externe via USB est beaucoup plus lent qu'un disque intégré à votre machine.
00:04:48Nous parlons peut-être d'un gigaoctet par seconde par rapport à sept ou plus en interne.
00:04:53Et rappelez-vous, toute l'astuce de Calibri est de diffuser constamment des morceaux du modèle depuis le disque.
00:04:59Donc, si le disque est lent, tout est lent.
00:05:02Gardez donc cette pensée à l'esprit car nous allons voir exactement ce que je veux dire.
00:05:06Mon premier test s'est donc déroulé sur mon MacBook doté d'une puce M2 Max, de 32 gigaoctets de RAM, et le modèle s'exécutant en externe sur ce disque SSD.
00:05:15Je suis resté simple en lui posant la question : quelle est la capitale de la Belgique ?
00:05:19Et voici la bonne nouvelle.
00:05:20Ça fonctionne.
00:05:21Il me répond vraiment.
00:05:22Il me dit que la capitale est Bruxelles, en exécutant correctement un modèle de 744 milliards de paramètres sur un ordinateur portable.
00:05:29Cette partie est donc vraiment impressionnante.
00:05:31La nouvelle un peu moins bonne, c'est la vitesse.
00:05:34J'ai attendu plus de deux minutes juste pour qu'il sorte son premier mot.
00:05:38Deux minutes.
00:05:39Et une fois lancé, il avançait au rythme d'environ un dixième de jeton par seconde.
00:05:44Pour situer le contexte, un jeton correspond grosso modo à un mot ou à un fragment de mot.
00:05:47Nous parlons donc d'un mot toutes les 10 secondes.
00:05:51Et pour être franc, c'était un démarrage à froid.
00:05:54Pour la première question, rien n'était encore en cache.
00:05:56Il a donc dû aller chercher chaque morceau du modèle sur ce disque à partir de zéro.
00:06:01Et Calibri garde bien les morceaux les plus utilisés en mémoire au fur et à mesure.
00:06:05Il se réchauffe donc et accélère un peu avec l'utilisation.
00:06:09Mais comme vous le verrez, cela n'aide que si vous avez la RAM pour les stocker.
00:06:13Et sur mon Mac, je ne l'ai vraiment pas.
00:06:16Maintenant, voici la partie que j'aime vraiment.
00:06:18Calibri dispose de cet écran de profilage qui détaille où tout ce temps est réellement passé.
00:06:22Le temps que l'ordinateur a passé à réfléchir ou à faire les calculs par rapport au temps passé
00:06:28simplement planté là à attendre que le morceau suivant du modèle se charge depuis le disque.
00:06:32Sur le Mac, le tour complet a donc pris environ 158 secondes.
00:06:36Et sur ces 158 secondes, environ 145 d'entre elles, soit plus de 80 %, correspondaient à de l'attente pure.
00:06:43L'attente du disque.
00:06:44Les calculs réels ou la véritable partie de réflexion n'ont pris qu'environ sept secondes au total.
00:06:50Sept secondes de travail et deux minutes et demie à faire la queue.
00:06:54Alors, que se passe-t-il réellement ici ?
00:06:56Eh bien, le M2 Max est une puce CPU très rapide.
00:06:59Le problème ne vient pas de là.
00:07:01Le problème est que le modèle est si grand qu'il ne rentre pas dans les 32 gigaoctets maximum de RAM.
00:07:06Il doit donc sans cesse retourner au disque pour récupérer le morceau dont il a besoin ensuite.
00:07:11Et dans mon cas, le disque est un lecteur externe lent, que j'ai été forcé d'utiliser parce que j'ai manqué
00:07:17d'espace.
00:07:17L'ordinateur passe donc le plus clair de son temps à attendre et presque aucun temps à travailler réellement sur la
00:07:23requête.
00:07:24D'accord, alors pour le deuxième test, donnons-lui une vraie machine.
00:07:28Le deuxième test concerne donc ma station de travail puissante.
00:07:30Elle possède une RTX 5090 et 64 gigaoctets de RAM.
00:07:35Et cette fois, j'ai chargé le modèle sur un disque interne rapide.
00:07:39Heureusement, sur cette machine, j'avais effectivement 350 gigaoctets d'espace libre pour le charger sur le
00:07:45disque interne.
00:07:46Et cette fois, j'ai demandé quelque chose d'un peu plus consistant.
00:07:49Explique l'intrication quantique en termes simples.
00:07:52Et la réponse était vraiment super.
00:07:54Il m'a donné cette petite explication claire avec des pièces de monnaie magiques.
00:07:57C'était donc un résultat véritablement utile.
00:07:59Et côté vitesse, il a atteint environ 0,8 jeton par seconde.
00:08:03Et le premier mot est apparu en environ 17 secondes au lieu des deux minutes entières.
00:08:09C'est donc environ huit fois plus rapide que sur mon Mac.
00:08:12Et encore une fois, regardons l'écran de profilage car il raconte la même histoire, mais de l'
00:08:17autre côté.
00:08:18Vous vous souvenez sur le Mac, plus de 80 % du temps n'était que de l'attente sur le disque ?
00:08:23Eh bien, sur cette station de travail puissante, l'attente chute à environ 48 %, soit pratiquement divisée par deux.
00:08:29Et pour la première fois, vous voyez que la machine passe réellement de vrais morceaux de temps à faire des
00:08:34maths au lieu de simplement patienter.
00:08:36Le calcul s'est donc vraiment amélioré ici.
00:08:39Alors pourquoi celle-ci est-elle bien meilleure ?
00:08:41Eh bien, il serait tentant de dire, eh bien, évidemment parce qu'elle possède une RTX 5090.
00:08:46Mais ce n'est pas vraiment la raison.
00:08:48Vous voyez, la raison est que cette machine a deux fois plus de RAM et qu'elle était sur un disque interne plus
00:08:54rapide, donc une portion beaucoup plus grande du modèle peut simplement résider en mémoire, prête à l'emploi.
00:09:00Moins de retours au disque, moins d'attente et plus de travail réel accompli.
00:09:06La 5090 était donc en fait dans un coin, ne transpirant pratiquement pas à ce stade.
00:09:10Et c'est ce que je ne m'attendais pas à voir en me lançant dans cette expérience.
00:09:14On suppose que la carte graphique est ce qui fait tout, n'est-ce pas ?
00:09:19Eh bien, ce n'est pas le cas.
00:09:20Le facteur numéro un qui retient ces modèles sur du matériel normal est en réalité la mémoire.
00:09:25Quelle quantité du modèle vous pouvez garder en RAM à la fois, pour ne pas constamment attendre
00:09:30le disque.
00:09:31Ce qui est honnêtement une conclusion plutôt rude en ce moment, car si vous avez acheté de la RAM
00:09:36récemment, vous savez qu'elle est devenue vraiment chère.
00:09:38Il n'est donc pas étonnant que tous ces fournisseurs de cloud rachètent toute la RAM sur laquelle ils peuvent mettre
00:09:44la main.
00:09:44En gros, ce n'est pas la carte graphique tape-à-l'œil qui vous y amène, c'est la RAM.
00:09:49Alors, peut-on exécuter un modèle de pointe de 744 milliards de paramètres sur du matériel grand public ?
00:09:55Oui, point final.
00:09:56Je l'ai fait deux fois, sur un ordinateur portable et sur mon bureau, et les deux m'ont donné de vraies réponses correctes.
00:10:03Il y a quelques années, cela aurait semblé absurde.
00:10:06Mais Vincenzo l'a véritablement fait.
00:10:08Cependant, la vérité honnête est que l'exécuter et l'exécuter correctement sont deux choses très différentes.
00:10:14Si vous regardez les propres benchmarks de Vincenzo sur le site de Calibri, les configurations qui obtiennent
00:10:19réellement des vitesses utilisables restent des machines sérieuses.
00:10:22Les configurations les plus rapides sont du genre cluster à 6 GPU ou serveur double Xeon avec un téraoctet complet
00:10:29de RAM.
00:10:30Et remarquez que le serveur avec un téraoctet de RAM et sans GPU sophistiqué bat à plate couture une seule RTX
00:10:375090.
00:10:38Tout revient donc à la mémoire, les amis.
00:10:41Le rêve d'un modèle de pointe ronronnant sur un ordinateur portable moyen n'est donc pas tout à fait là.
00:10:46Mais nous en sommes très, très proches.
00:10:48Voilà donc qui est fait, les amis.
00:10:50C'étaient tous mes points forts obtenus lors du test de Calibri.
00:10:54Mais je suis curieux de savoir si vous l'avez essayé ou si vous avez trouvé d'autres moyens astucieux de
00:10:59faire tourner des modèles de pointe sur du matériel grand public.
00:11:02Je suis vraiment curieux de connaître vos avis, alors dites-nous ce que vous en pensez dans les commentaires ci-
00:11:06dessous.
00:11:06Et les amis, si vous aimez ce genre d'analyses techniques, faites-le-moi savoir en pulvérisant
00:11:10ce bouton J'aime sous la vidéo.
00:11:13Et n'oubliez pas non plus de vous abonner à notre chaîne.
00:11:15C'était Andris de BetterStack et je vous dis à très vite dans de prochaines vidéos.
00:11:32vous

Key Takeaway

L'outil Calibri rend possible l'exécution locale d'un modèle de 744 milliards de paramètres comme GLM 5.2 en diffusant les experts depuis le stockage, démontrant que la capacité en RAM constitue le facteur déterminant pour obtenir des performances utilisables.

Highlights

  • L'outil Calibri développé par Vincenzo Fornaro permet d'exécuter un modèle de langage de 744 milliards de paramètres sur du matériel grand public.

  • Le modèle GLM 5.2 utilise une architecture de mélange d'experts où seuls 40 milliards de paramètres sont actifs par jeton, soit environ 5 % du total.

  • Le premier test sur MacBook M2 Max avec un SSD externe a nécessité 158 secondes par requête, dont plus de 80 % passées à attendre le chargement des données depuis le disque.

  • Le test sur une station de travail dotée d'une RTX 5090 et de 64 gigaoctets de RAM a réduit le temps d'attente du disque à 48 % et généré des réponses à environ 0,8 jeton par seconde.

  • Le facteur limitant principal pour exécuter de grands modèles sur du matériel standard est la quantité de RAM disponible plutôt que la puissance de la carte graphique.

Timeline

Présentation de Calibri et du modèle GLM 5.2

  • Le modèle GLM 5.2 possède 744 milliards de paramètres et se situe dans la même catégorie que les modèles exécutés dans des centres de données.
  • L'outil Calibri créé par Vincenzo Fornaro permet d'exécuter ce type de modèle sur du matériel grand public.
  • L'architecture de mélange d'experts divise le modèle en milliers de sous-réseaux où seulement 40 milliards de paramètres sont actifs pour chaque jeton.

Les grands modèles de langage nécessitent habituellement des serveurs coûteux pour maintenir tous leurs poids en mémoire. L'utilisation d'une architecture de mélange d'experts réduit considérablement la charge de travail immédiate puisque seulement environ 5 % des paramètres sont sollicités à chaque instant. Calibri est entièrement conçu pour exploiter cet écart entre la taille totale du modèle et les besoins réels par jeton.

Fonctionnement technique et optimisations de Calibri

  • Calibri traite le stockage de la machine comme une hiérarchie de mémoire organisée en couches entre le GPU, la VRAM, la RAM et les SSD NVMe.
  • Les composants denses du modèle restent résidents en RAM tandis que les experts sont stockés sur le SSD et extraits à la demande.
  • Le moteur intègre un cache d'apprentissage, un décodage spéculatif et un cache d'attention compressé pour préserver la qualité tout en réduisant l'empreinte mémoire.

Le système maintient en permanence les composants denses de 17 milliards de paramètres dans la RAM. Les experts spécifiques sont extraits du disque, utilisés, puis mis en cache. L'ensemble est écrit en C pur sans dépendance externe pour conserver un profil léger, tandis que l'attention MLA réduit le cache KV d'environ 57 fois.

Test sur MacBook M2 Max avec stockage externe

  • Le modèle GLM 5.2 exige environ 357 gigaoctets d'espace libre, ce qui a nécessité l'utilisation d'un SSD externe portable.
  • Le test réalisé sur un MacBook M2 Max avec 32 gigaoctets de RAM a généré une réponse correcte mais à une vitesse de un dixième de jeton par seconde.
  • L'écran de profilage montre que plus de 80 % du temps total de 158 secondes a correspondu à de l'attente pure liée à la lenteur du disque externe.

Le manque d'espace sur le disque interne a forcé l'utilisation d'un lecteur externe USB fonctionnant à environ un gigaoctet par seconde. En raison d'une RAM insuffisante de 32 gigaoctets, l'ordinateur a dû solliciter constamment le disque pour récupérer les morceaux nécessaires, transformant la majorité du temps en attente d'E/S.

Test sur station de travail et conclusion sur les performances

  • Un second test sur une station de travail avec une RTX 5090, 64 gigaoctets de RAM et un disque interne rapide a atteint 0,8 jeton par seconde.
  • Le temps d'attente du disque a chuté à 48 % grâce à la quantité supérieure de RAM et à la vitesse du stockage interne.
  • La mémoire vive constitue le facteur numéro un qui retient ces modèles sur du matériel normal, la carte graphique jouant un rôle secondaire.

Disposer de deux fois plus de RAM et d'un disque interne rapide permet de garder une portion beaucoup plus grande du modèle directement en mémoire. Les benchmarks globaux montrent que les configurations les plus rapides reposent avant tout sur des serveurs dotés d'un téraoctet de RAM, confirmant que la mémoire surpasse la puissance brute du GPU pour ce type d'usage.

Community Posts

View all posts