Ce journal de Jérôme Flesch explore les défis techniques et les limites de l’auto-hébergement de grands modèles de langage (LLM) sur du matériel grand public, notamment face aux contraintes de CPU et RAM. L’auteur remet en cause les affirmations simplistes selon lesquelles des cartes graphiques modestes (comme une Nvidia GTX 1060 de 6 Go) suffiraient pour faire tourner des LLM efficacement, soulignant que ces démonstrations se limitent souvent à des tests basiques sans contexte réel. Il aborde aussi les modèles Mixture-of-Experts (MoE), censés optimiser les ressources, mais dont les gains dépendent fortement du matériel et des paramètres utilisés.
L’article détaille une méthodologie de tests comparatifs sur plusieurs GPU (Nvidia RTX 3060, AMD RX 9070 XT, Intel Arc Pro B60), analysant les performances en prédiction de tokens et en préremplissage selon la taille du contexte. Les résultats montrent des dégradations significatives des vitesses d’inférence dès que la mémoire vive est saturée, même avec des techniques comme le swap ou des optimisations logicielles. L’auteur souligne que les benchmarks superficiels, souvent partagés par des influenceurs, ignorent ces réalités matérielles, donnant une fausse impression de faisabilité.
En conclusion, Flesch conclut que l’auto-hébergement de LLM reste complexe et coûteux en ressources, surtout pour des usages intensifs. Il critique les solutions marketing qui minimisent ces contraintes, rappelant que les développeurs privilégient des GPU haut de gamme pour des raisons de performance et de stabilité. Le journal se veut un plaidoyer pour une approche pragmatique, loin des promesses exagérées circulant sur les réseaux.
L’article défend l’idée qu’SQLite, avec une configuration optimisée, peut remplacer des bases de données plus lourdes comme PostgreSQL pour de nombreux cas d’usage, même à grande échelle. Les auteurs ont testé cette hypothèse en construisant un réseau social (Chirp) avec 50 000 utilisateurs et un million de publications, stockés dans un seul fichier de 343 Mo. Toutes les tables étaient configurées en mode STRICT, et le backend reposait sur un seul processus Node.js sans serveur de base de données dédié.
Les benchmarks, réalisés sur un simple ordinateur portable (Apple M1), révèlent des performances impressionnantes : jusqu’à 315 millions de requêtes par jour sur l’endpoint le plus sollicité (la timeline), avec des temps de réponse médians de 13 ms. Même les opérations complexes, comme les jointures sur des millions de lignes, restent fluides grâce à des pragmas adaptés (WAL, cache optimisé, etc.). Les auteurs soulignent que ces résultats rendent superflus des outils comme les connection poolers pour la plupart des applications.
Cependant, l’article reconnaît aussi les limites de SQLite, notamment pour les charges de travail extrêmes ou nécessitant des fonctionnalités avancées (réplication multi-nœuds, requêtes analytiques complexes). En résumé, pour des applications classiques, SQLite en mode WAL offre une solution simple, performante et économique, sans compromis majeurs.
Tout est dans le titre
Ça peut servir