La mémoire unifiée ne signifie pas que « tous les modèles peuvent être utilisés »
La mémoire unifiée d'Apple Silicon est utilisée par le CPU, le GPU, le système, les applications et les services d'arrière-plan. Son avantage est que le CPU et le GPU partagent la même mémoire à haute vitesse et que l'expérience de déploiement de nombreux outils de modèle local est plus simple que celle des cartes graphiques indépendantes traditionnelles ; mais cela ne signifie pas que tous les 32 Go, 64 Go ou 128 Go peuvent être utilisés comme espace de poids de modèle.
Lors de la sélection d'un modèle, vous devez prévoir une marge pour macOS, les navigateurs, les IDE, les services d'inférence, les caches KV et les tenseurs temporaires. Si un Mac de 32 Go pèse le modèle à 28 Go, il peut sembler qu'il peut simplement s'adapter. Cependant, en fonctionnement réel, la mémoire peut être fréquemment compressée, échangée sur le disque ou la vitesse peut chuter considérablement. Le LLM local estime l'espace disponible de manière plus prudente en mode Mac.
À quoi conviennent les 16 Go, 32 Go, 64 Go et 128 Go ?
Le Mac de 16 Go est plus adapté aux petits modèles et à la quantification faible à moyenne, comme les versions Q4/Q5 de 3B, 4B et 7B. Il peut satisfaire des discussions légères, des résumés, des traductions et une assistance de code simple, mais ne convient pas aux modèles de contexte ou visuels longs. 32 Go peuvent couvrir davantage de modèles 7B/14B et peuvent également essayer des versions quantifiées plus stables, ce qui est un point de départ courant pour les développeurs ordinaires.
Après 64 Go, les utilisateurs peuvent essayer des modèles MoE ou 30B plus grands, qui peuvent également laisser de la place aux contextes longs et au multitâche. 128 Go conviennent à une portée d'expérimentation plus large, comme les grands modèles hautement quantifiés, les comparaisons de plusieurs versions de modèles, les contextes longs et les flux de travail locaux complexes. Mais même avec 128 Go, vous devez toujours tenir compte du poids des modèles, du cache KV, du backend et de la vitesse.
Différences entre Metal, MLX et lama.cpp
Les backends courants sur Mac incluent llama.cpp Metal, MLX, Ollama et LM Studio. Les optimisations sous-jacentes de ces outils sont différentes et la vitesse du même modèle sur différents backends peut être différente. Le modèle MoE repose particulièrement sur l'implémentation du noyau, et la vitesse ne peut pas être déduite en utilisant uniquement les quantités de paramètres.
Par conséquent, les tok/s sur la page de recommandation doivent être une estimation ou une fourchette prudente, et non une promesse absolue. Ce dont les utilisateurs ont réellement besoin, c'est d'une direction de sélection : quels modèles peuvent être chargés avec une forte probabilité, quels modèles nécessitent plus de mémoire et quels modèles ne peuvent fonctionner que théoriquement mais ont une expérience instable.
Pourquoi 128 Go devraient débloquer le plus grand modèle
Si 32 Go, 64 Go et 128 Go donnent exactement la même recommandation de qualité d'abord, cela signifie généralement que l'algorithme de tri ne profite pas correctement du changement de capacité. Une mémoire unifiée plus grande devrait permettre aux modèles avec un nombre de paramètres plus élevé, une quantification plus élevée ou un contexte plus long d'entrer dans l'ensemble candidat. Les modèles axés sur la qualité en particulier devraient refléter cela.
Mais « plus grand » n’est pas non plus le seul objectif. Les systèmes de recommandation doivent classer la qualité du modèle, la correspondance des tâches, le mode d'exécution, la confiance en la vitesse et la marge de mémoire. Un Mac de 128 Go peut exécuter des modèles plus grands, mais cela ne signifie pas que le plus grand modèle doit être recommandé aveuglément pour chaque scénario ; les meilleurs choix pour les tâches de programmation, générales, mathématiques et visuelles peuvent être différents.
Que doivent choisir les utilisateurs de Mac ?
Les utilisateurs ordinaires peuvent commencer avec le mode équilibré. Si les résultats correspondent à des exécutions complètes de GPU/mémoire unifiée, la configuration est stable ; si un grand nombre de résultats montrent un déchargement partiel ou une faible vitesse de confiance, vous devez réduire la quantification, raccourcir le contexte ou choisir un modèle plus petit. Lors de l'exécution de tâches de programmation, les capacités du code et la longueur du contexte du modèle sont importantes ; lorsque vous effectuez des tâches visuelles, assurez-vous que le modèle est bien un modèle multimodal.
La valeur de Local LLM réside dans la transformation de ces jugements en entrée visuelle, plutôt que de laisser les utilisateurs deviner un par un sur Hugging Face. Le billet de blog explique les principes et l'outil combine la liste des modèles en direct avec le matériel de l'utilisateur pour donner des recommandations actuelles.