Mon nouveau Mac : mes usages
J’utilise actuellement plusieurs Mac au quotidien :
- un Mac professionnel dédié,
- un MacBook Pro 15" personnel (16 Go de RAM, SSD de 512 Go),
- et parfois encore un vieux MacBook Pro 13" de 2013 (8 Go / 480 Go OWC), increvable mais clairement en fin de course.
Pour des usages classiques comme Web, bureautique, consultation, développement léger, 8 Go de RAM peuvent encore suffire, surtout si on privilégie des navigateurs un peu moins gloutons que Chrome. Mais dans mon cas, avec 16 Go, je vois déjà régulièrement du swap (quand macOS copie une partie de la RAM sur le SSD), ce qui dégrade les performances… et use inutilement le SSD.
Mais la vraie limite se fait sentir dès que je travaille sur mes projets personnels, bien plus exigeants.
Un moteur d’échecs open-source pour Lichess
Je développe un nouveau moteur d’échecs libre, compatible avec Lichess.org. Cela implique :
- la gestion de grosses DB de positions en RAM,
- l’exécution rapide Stockfish, moteur d’échecs bien connu,
- du fine-tuning d’un réseau neuronal NNUE (Neural Network Unified Evaluation),
- et l’utilisation continue du moteur, 24h sur 24.
Dans ce contexte, 16 Go de RAM sont loin d’être suffisants. Il me faut au minimum 24 Go de RAM, idéalement 32 Go ou plus, surtout pour héberger les bases de positions sans ralentissement.
Côté CPU, la puissance brute reste primordiale pour les DB, et pour le fine-tuning du réseau NNUE, il faut une GPU et une NPU qui se tiennent.
Un LLM spécialisé, tournant en local
Deuxième projet : faire tourner un LLM (Large Language Model), en version spécialisée pour un usage précis.
Là encore, le besoin en ressources est élevé :
- Un petit modèle nécessite au moins 16Go de RAM ou VRAM pour être exécuté,
- Sur Mac, il est possible d'utiliser une iGPU ou iNPU aavec dans ce cas au moins 32 Go de RAM au total dont 16 Go alloué à cet usage.
- Le M4 supporte maintenant les int4 (entiers 4 bits) pour l'exécution/inférence de LLM au niveau de sa GPU et de sa NPU. C'était avant limité à de l'int8 (entiers 8 bits)
- Sur PC il y a une GPU qui supporte int4 et même fp4 (flottant 4 bits) avec 16 Go de VRAM, qui est une excellente candidate, je vous en parlerais plus tard.
Il est possible de commencer une spécialisation localement sur un petit modèle, mais pour quelque chose de sérieux, le fine-tuning se fait forcément dans le cloud, donc dans ce cas l'ordinateur utilisé importe peu.
Conclusion
Aujourd’hui, même pour mes usages généraux, 24 Go de RAM seraient confortables, la veille CPU Intel de mon MacBook Pro 15" suffit amplement.
Les 512 Go de stockage sont limite-limite, 1 To ou plus serait mieux. 1 To sur Mac? Ouch!
Mais le manque de RAM est un problème pour mes projets pour des DB SQLite de plus de 8 Go en RAM, la CPU larguée pour cela et aussi pour exécuter Stockfish, et ça n'est pas avec 4Go de VRAM que je vais faire tourner une LLM de 14 ou 17 milliards de paramètres (weight) !
J'ai donc besoin de RAM, de VRAM si j'utilise une GPU séparée (PC), et d'une CPU qui se traîne moins... En même temps j'aime macOS et certains Mac me parlent plus que d'autres!