{"code":"var Component=(()=>{var p=Object.create;var s=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var f=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),b=(i,e)=>{for(var t in e)s(i,t,{get:e[t],enumerable:!0})},a=(i,e,t,l)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of m(e))!v.call(i,r)&&r!==t&&s(i,r,{get:()=>e[r],enumerable:!(l=h(e,r))||l.enumerable});return i};var q=(i,e,t)=>(t=i!=null?p(g(i)):{},a(e||!i||!i.__esModule?s(t,\"default\",{value:i,enumerable:!0}):t,i)),k=i=>a(s({},\"__esModule\",{value:!0}),i);var d=f((G,o)=>{o.exports=_jsx_runtime});var B={};b(B,{default:()=>u});var n=q(d());function c(i){let e={a:\"a\",blockquote:\"blockquote\",code:\"code\",em:\"em\",h2:\"h2\",h3:\"h3\",img:\"img\",li:\"li\",ol:\"ol\",p:\"p\",pre:\"pre\",span:\"span\",strong:\"strong\",table:\"table\",tbody:\"tbody\",td:\"td\",th:\"th\",thead:\"thead\",tr:\"tr\",ul:\"ul\",...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:\"Le nouveau Mac Studio d'Apple culmine \\xE0 512GB de m\\xE9moire unifi\\xE9e. La presse le pr\\xE9sente comme la possibilit\\xE9 de faire tourner des mod\\xE8les de pointe sur un bureau. C'est globalement vrai, et c'est aussi la r\\xE9ponse \\xE0 une question que la plupart des acheteurs de Mac ne se posent pas.\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"La question qu'ils se posent est plus \\xE9troite et plus utile : \",(0,n.jsx)(e.strong,{children:\"compte tenu de ce que je veux faire tourner, de combien de m\\xE9moire ai-je r\\xE9ellement besoin \\xE0 l'achat ?\"}),\" La m\\xE9moire unifi\\xE9e est soud\\xE9e au package de la puce. Vous n'avez qu'une seule chance de r\\xE9pondre \\xE0 cette question, au moment du paiement, pour toute la dur\\xE9e de vie de la machine.\"]}),`\n`,(0,n.jsx)(e.p,{children:\"La bonne nouvelle, c'est qu'il s'agit d'un calcul, pas d'une question d'opinion. Cet article fait ce calcul.\"}),`\n`,(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:\"M\\xE9moire unifi\\xE9e et LLM locaux sur Mac\",src:\"/images/blog/mac-unified-memory-local-llm-how-much-ram-m5-ultra-512gb-guide-2026/hero.webp\",width:\"1024\",height:\"541\"})}),`\n`,(0,n.jsx)(e.h2,{id:\"points-cl\\xE9s\",children:\"Points cl\\xE9s\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Deux chiffres d\\xE9cident de tout.\"}),\" La \",(0,n.jsx)(e.em,{children:\"capacit\\xE9\"}),\" m\\xE9moire d\\xE9termine si un mod\\xE8le peut \\xEAtre charg\\xE9, tout simplement. La \",(0,n.jsx)(e.em,{children:\"bande passante\"}),\" m\\xE9moire d\\xE9termine la vitesse \\xE0 laquelle il g\\xE9n\\xE8re du texte. Ces deux facteurs sont ind\\xE9pendants, et une machine peut \\xEAtre excellente sur l'un et faible sur l'autre.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Estimez les poids comme param\\xE8tres \\xD7 octets par param\\xE8tre.\"}),\" En quantification 4 bits, cela repr\\xE9sente environ 0.55 octet par param\\xE8tre, donc un mod\\xE8le 70B n\\xE9cessite environ 38GB avant m\\xEAme de compter le contexte.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"macOS ne laisse pas le GPU utiliser toute votre RAM.\"}),\" Il existe un plafond non document\\xE9 contr\\xF4l\\xE9 par \",(0,n.jsx)(e.code,{children:\"iogpu.wired_limit_mb\"}),\". Sur un Mac de 32GB, vous n'obtenez pas 32GB pour le mod\\xE8le.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Les chiffres phares d'Apple sur l'IA d\\xE9crivent le traitement des prompts, pas la g\\xE9n\\xE9ration de texte.\"}),\" Ces deux phases ont des goulots d'\\xE9tranglement diff\\xE9rents. Lisez le libell\\xE9 attentivement.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"La capacit\\xE9 du M5 Ultra n'a rien de nouveau.\"}),\" Le M3 Ultra proposait d\\xE9j\\xE0 512GB en 2025. Ce qui a chang\\xE9, c'est la bande passante : de 819GB/s \\xE0 1.2TB/s.\"]}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{id:\"les-deux-chiffres-qui-comptent\",children:\"Les deux chiffres qui comptent\"}),`\n`,(0,n.jsx)(e.p,{children:\"Presque toutes les mauvaises d\\xE9cisions d'achat d'un Mac pour l'IA viennent du fait de confondre ces deux notions en une seule.\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"La capacit\\xE9 est un mur.\"}),\" Si le mod\\xE8le et son contexte ne tiennent pas en m\\xE9moire, il ne tourne pas. Il n'y a pas de d\\xE9gradation progressive sur silicium Apple comme avec un GPU discret qui peut d\\xE9border vers la RAM syst\\xE8me \\u2014 sur un Mac, la m\\xE9moire unifi\\xE9e \",(0,n.jsx)(e.em,{children:\"est\"}),\" la RAM syst\\xE8me, et une fois que vous d\\xE9passez ce que macOS accorde au GPU, soit le chargement \\xE9choue, soit vous retombez sur quelque chose de bien plus lent.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"La bande passante est une limite de vitesse.\"}),\" Pour g\\xE9n\\xE9rer un seul token, un mod\\xE8le dense doit lire l'int\\xE9gralit\\xE9 de ses poids en m\\xE9moire. \\xC0 chaque token. Cela signifie que le plafond th\\xE9orique de la vitesse de g\\xE9n\\xE9ration est la bande passante m\\xE9moire divis\\xE9e par la taille du mod\\xE8le, et aucun nombre de c\\u0153urs GPU n'y change quoi que ce soit.\"]}),`\n`,(0,n.jsx)(e.p,{children:\"C'est pourquoi une machine peut contenir un mod\\xE8le de 200GB et rester malgr\\xE9 tout inutilisable, et pourquoi un petit mod\\xE8le sur une machine modeste peut sembler instantan\\xE9.\"}),`\n`,(0,n.jsx)(e.h2,{id:\"capacit\\xE9--ce-qui-tient-en-m\\xE9moire\",children:\"Capacit\\xE9 : ce qui tient en m\\xE9moire\"}),`\n`,(0,n.jsx)(e.p,{children:\"Les poids repr\\xE9sentent le co\\xFBt dominant, et ils sont pr\\xE9visibles :\"}),`\n`,(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,n.jsx)(e.code,{children:(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{children:\"memory for weights \\u2248 parameters \\xD7 bytes per parameter\"})})})})}),`\n`,(0,n.jsx)(e.p,{children:\"Le nombre d'octets par param\\xE8tre d\\xE9pend de la quantification :\"}),`\n`,(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:\"Pr\\xE9cision\"}),(0,n.jsx)(e.th,{children:\"Octets par param\\xE8tre\"}),(0,n.jsx)(e.th,{children:\"Usage typique\"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"FP16 / BF16\"}),(0,n.jsx)(e.td,{children:\"2.0\"}),(0,n.jsx)(e.td,{children:\"Entra\\xEEnement, fid\\xE9lit\\xE9 maximale\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"8 bits (Q8)\"}),(0,n.jsx)(e.td,{children:\"~1.0\"}),(0,n.jsx)(e.td,{children:\"Inf\\xE9rence quasi sans perte\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"4 bits (Q4_K_M)\"}),(0,n.jsx)(e.td,{children:\"~0.55\"}),(0,n.jsx)(e.td,{children:\"Le choix pratique par d\\xE9faut\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"3 bits\"}),(0,n.jsx)(e.td,{children:\"~0.42\"}),(0,n.jsx)(e.td,{children:\"Perte de qualit\\xE9 perceptible\"})]})]})]}),`\n`,(0,n.jsx)(e.p,{children:\"Les K-quants 4 bits repr\\xE9sentent en moyenne un peu plus de 4 bits une fois les m\\xE9tadonn\\xE9es d'\\xE9chelle incluses, ce qui explique pourquoi 0.55 est le chiffre honn\\xEAte plut\\xF4t que 0.50. En l'appliquant :\"}),`\n`,(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:\"Taille du mod\\xE8le\"}),(0,n.jsx)(e.th,{children:\"4 bits\"}),(0,n.jsx)(e.th,{children:\"8 bits\"}),(0,n.jsx)(e.th,{children:\"FP16\"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"8B\"}),(0,n.jsx)(e.td,{children:\"4.4 GB\"}),(0,n.jsx)(e.td,{children:\"8 GB\"}),(0,n.jsx)(e.td,{children:\"16 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"14B\"}),(0,n.jsx)(e.td,{children:\"7.7 GB\"}),(0,n.jsx)(e.td,{children:\"14 GB\"}),(0,n.jsx)(e.td,{children:\"28 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"32B\"}),(0,n.jsx)(e.td,{children:\"17.6 GB\"}),(0,n.jsx)(e.td,{children:\"32 GB\"}),(0,n.jsx)(e.td,{children:\"64 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"70B\"}),(0,n.jsx)(e.td,{children:\"38.5 GB\"}),(0,n.jsx)(e.td,{children:\"70 GB\"}),(0,n.jsx)(e.td,{children:\"140 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"120B\"}),(0,n.jsx)(e.td,{children:\"66 GB\"}),(0,n.jsx)(e.td,{children:\"120 GB\"}),(0,n.jsx)(e.td,{children:\"240 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"235B\"}),(0,n.jsx)(e.td,{children:\"129 GB\"}),(0,n.jsx)(e.td,{children:\"235 GB\"}),(0,n.jsx)(e.td,{children:\"\\u2014\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"400B\"}),(0,n.jsx)(e.td,{children:\"220 GB\"}),(0,n.jsx)(e.td,{children:\"400 GB\"}),(0,n.jsx)(e.td,{children:\"\\u2014\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"671B\"}),(0,n.jsx)(e.td,{children:\"369 GB\"}),(0,n.jsx)(e.td,{children:\"671 GB\"}),(0,n.jsx)(e.td,{children:\"\\u2014\"})]})]})]}),`\n`,(0,n.jsx)(e.h3,{id:\"ajoutez-ensuite-le-contexte\",children:\"Ajoutez ensuite le contexte\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"Le cache KV conserve les cl\\xE9s et valeurs d'attention pour chaque token de la conversation, et il cro\\xEEt lin\\xE9airement avec la longueur du contexte. Sa taille par token varie beaucoup selon l'architecture \\u2014 les mod\\xE8les utilisant la grouped-query attention sont bien plus \\xE9conomes ici que les conceptions plus anciennes \\u2014 mais une fourchette r\\xE9aliste se situe entre \",(0,n.jsx)(e.strong,{children:\"0.1 MB et 0.5 MB par token\"}),\".\"]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Pour un contexte de 32,000 tokens, cela repr\\xE9sente environ \",(0,n.jsx)(e.strong,{children:\"3GB \\xE0 16GB en plus des poids\"}),\". \\xC0 128,000 tokens, cela peut d\\xE9passer la taille du mod\\xE8le lui-m\\xEAme.\"]}),`\n`,(0,n.jsx)(e.p,{children:\"C'est la raison la plus fr\\xE9quente pour laquelle un mod\\xE8le qui \\xAB devrait tenir \\xBB ne tient pas. Si vous pr\\xE9voyez de lui fournir de longs documents ou de tenir de longues conversations, budg\\xE9tez ce poste explicitement plut\\xF4t que de dimensionner sur les seuls poids en esp\\xE9rant que \\xE7a passe.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"la-r\\xE8gle-pratique\",children:\"La r\\xE8gle pratique\"}),`\n`,(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,n.jsx)(e.code,{children:(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{children:\"memory you need \\u2248 (weights) + (KV cache for your context) + 2\\u20133 GB overhead\"})})})})}),`\n`,(0,n.jsx)(e.p,{children:\"Et ensuite, comparez ce r\\xE9sultat \\xE0 ce que macOS vous accorde r\\xE9ellement, ce qui n'est pas le chiffre inscrit sur la bo\\xEEte.\"}),`\n`,(0,n.jsx)(e.h2,{id:\"le-plafond-dont-personne-ne-parle\",children:\"Le plafond dont personne ne parle\"}),`\n`,(0,n.jsx)(e.p,{children:\"macOS r\\xE9serve une partie de la m\\xE9moire unifi\\xE9e pour le syst\\xE8me et plafonne la quantit\\xE9 que le GPU peut \\xAB wire \\xBB (verrouiller en m\\xE9moire physique). Le r\\xE9glage se fait via un sysctl :\"}),`\n`,(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,n.jsxs)(e.code,{children:[(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" sysctl\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" iogpu.wired_limit_mb\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"iogpu.wired_limit_mb:\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 0\"})]})]})})}),`\n`,(0,n.jsx)(e.p,{children:\"Z\\xE9ro signifie automatique. Apple ne documente pas vers quoi ce mode automatique converge, et je ne vais pas inventer de formule \\u2014 mais les mesures de la communaut\\xE9 situent syst\\xE9matiquement ce plafond autour de 65\\u201375% de la m\\xE9moire totale, les machines plus grandes b\\xE9n\\xE9ficiant d'une part plus importante.\"}),`\n`,(0,n.jsx)(e.p,{children:\"La cons\\xE9quence pratique, sur les machines que vous pourriez acheter :\"}),`\n`,(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:\"M\\xE9moire install\\xE9e\"}),(0,n.jsx)(e.th,{children:\"Approximativement disponible pour le GPU\"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"16 GB\"}),(0,n.jsx)(e.td,{children:\"~10\\u201312 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"32 GB\"}),(0,n.jsx)(e.td,{children:\"~21\\u201324 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"64 GB\"}),(0,n.jsx)(e.td,{children:\"~42\\u201348 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"128 GB\"}),(0,n.jsx)(e.td,{children:\"~85\\u201396 GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"512 GB\"}),(0,n.jsx)(e.td,{children:\"~340\\u2013384 GB\"})]})]})]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Vous pouvez l'augmenter. Le changement prend effet imm\\xE9diatement et ne survit \",(0,n.jsx)(e.strong,{children:\"pas\"}),\" \\xE0 un red\\xE9marrage :\"]}),`\n`,(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,n.jsxs)(e.code,{children:[(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Allow the GPU to wire 28GB on a 32GB Mac\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"sudo\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" sysctl\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" iogpu.wired_limit_mb=\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"28672\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Back to automatic\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"sudo\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" sysctl\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" iogpu.wired_limit_mb=\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"0\"})]})]})})}),`\n`,(0,n.jsxs)(e.p,{children:[\"Soyez prudent avec ce r\\xE9glage. Tout ce que vous prenez, vous le prenez au syst\\xE8me d'exploitation et \\xE0 toutes les autres applications. Si vous poussez trop pr\\xE8s de votre total, vous d\\xE9clencherez du swap, des beachballs, ou un kill pour manque de m\\xE9moire \\u2014 et sur un Mac avec un SSD rapide, le swap sous pression m\\xE9moire repr\\xE9sente aussi une charge d'\\xE9criture soutenue. Si vous avez d\\xE9j\\xE0 vu la bo\\xEEte de dialogue \",(0,n.jsx)(e.code,{children:\"System has run out of application memory\"}),\", voici l'une des fa\\xE7ons d'y arriver.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Un plafond raisonnable est la m\\xE9moire totale moins 6\\u20138GB pour macOS et vos autres applications. R\\xE9glez-le, lancez votre mod\\xE8le, et surveillez la pression m\\xE9moire dans le Moniteur d'activit\\xE9. Si vous constatez des pics de pression de fa\\xE7on g\\xE9n\\xE9rale, notre \",(0,n.jsx)(e.a,{href:\"/blog/macos-tahoe-ram-management-memory-optimization-complete-guide-2025\",children:\"guide de gestion de la m\\xE9moire Mac\"}),\" couvre le diagnostic.\"]}),`\n`,(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:\"Capacit\\xE9 m\\xE9moire face \\xE0 la bande passante\",src:\"/images/blog/mac-unified-memory-local-llm-how-much-ram-m5-ultra-512gb-guide-2026/content-1.webp\",width:\"1024\",height:\"572\"})}),`\n`,(0,n.jsx)(e.h2,{id:\"bande-passante--la-vitesse-de-r\\xE9ponse\",children:\"Bande passante : la vitesse de r\\xE9ponse\"}),`\n`,(0,n.jsx)(e.p,{children:\"Voici l'estimation qui compte, et voici exactement ce qu'elle est :\"}),`\n`,(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,n.jsx)(e.code,{children:(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{children:\"tokens per second \\u2248 (memory bandwidth \\xD7 efficiency) \\xF7 weight size in bytes\"})})})})}),`\n`,(0,n.jsx)(e.p,{children:\"L'efficacit\\xE9 rend compte de l'\\xE9cart entre la bande passante th\\xE9orique maximale et ce qu'un moteur d'inf\\xE9rence obtient r\\xE9ellement \\u2014 sur silicium Apple avec un runtime bien optimis\\xE9, cela se situe environ entre 0.6 et 0.8. J'utilise 0.7 ci-dessous.\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Il s'agit d'estimations calcul\\xE9es \\xE0 partir de chiffres de bande passante publi\\xE9s, et non de benchmarks que j'ai r\\xE9alis\\xE9s moi-m\\xEAme.\"}),\" Consid\\xE9rez-les comme le bon ordre de grandeur et le bon classement relatif, pas comme des mesures. Les chiffres r\\xE9els varient selon le runtime, la quantification, la longueur du contexte et le comportement thermique.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Vitesse de g\\xE9n\\xE9ration pour un mod\\xE8le \",(0,n.jsx)(e.strong,{children:\"dense\"}),\" en 4 bits :\"]}),`\n`,(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{}),(0,n.jsx)(e.th,{children:\"M6 (170GB/s)\"}),(0,n.jsx)(e.th,{children:\"M5 Pro (307GB/s)\"}),(0,n.jsx)(e.th,{children:\"M5 Max (614GB/s)\"}),(0,n.jsx)(e.th,{children:\"M5 Ultra (1.2TB/s)\"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"8B (4.4GB)\"}),(0,n.jsx)(e.td,{children:\"~27 tok/s\"}),(0,n.jsx)(e.td,{children:\"~49 tok/s\"}),(0,n.jsx)(e.td,{children:\"~98 tok/s\"}),(0,n.jsx)(e.td,{children:\"~190 tok/s\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"32B (17.6GB)\"}),(0,n.jsx)(e.td,{children:\"~7 tok/s\"}),(0,n.jsx)(e.td,{children:\"~12 tok/s\"}),(0,n.jsx)(e.td,{children:\"~24 tok/s\"}),(0,n.jsx)(e.td,{children:\"~48 tok/s\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"70B (38.5GB)\"}),(0,n.jsx)(e.td,{children:\"ne tient pas\"}),(0,n.jsx)(e.td,{children:\"~6 tok/s\"}),(0,n.jsx)(e.td,{children:\"~11 tok/s\"}),(0,n.jsx)(e.td,{children:\"~22 tok/s\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"120B (66GB)\"}),(0,n.jsx)(e.td,{children:\"ne tient pas\"}),(0,n.jsx)(e.td,{children:\"ne tient pas\"}),(0,n.jsx)(e.td,{children:\"~7 tok/s\"}),(0,n.jsx)(e.td,{children:\"~13 tok/s\"})]})]})]}),`\n`,(0,n.jsx)(e.p,{children:\"Pour r\\xE9f\\xE9rence : une vitesse de lecture confortable se situe autour de 10 tokens par seconde. En dessous d'environ 5, la plupart des gens arr\\xEAtent d'utiliser l'outil.\"}),`\n`,(0,n.jsx)(e.p,{children:\"Regardez la ligne du 32B. C'est un seul et m\\xEAme mod\\xE8le, qui passe de tout juste tol\\xE9rable \\xE0 v\\xE9ritablement rapide sur toute la gamme \\u2014 sans que sa capacit\\xE9 \\xE0 tenir en m\\xE9moire change. C'est la bande passante, pas la capacit\\xE9, et c'est l'axe que les gens oublient quand ils ach\\xE8tent la machine la moins ch\\xE8re qui contient techniquement le mod\\xE8le.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"pourquoi-les-mod\\xE8les-moe-changent-la-donne\",children:\"Pourquoi les mod\\xE8les MoE changent la donne\"}),`\n`,(0,n.jsx)(e.p,{children:\"Les mod\\xE8les \\xE0 m\\xE9lange d'experts (mixture-of-experts, MoE) brisent la r\\xE8gle ci-dessus, et c'est bien pour cette raison qu'une machine \\xE0 512GB est int\\xE9ressante.\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"Un mod\\xE8le MoE stocke de nombreux sous-r\\xE9seaux experts mais n'en active que quelques-uns par token. Un mod\\xE8le 235B avec 22B de param\\xE8tres actifs doit \",(0,n.jsx)(e.em,{children:\"contenir\"}),\" l'\\xE9quivalent de 235B de poids, mais ne \",(0,n.jsx)(e.em,{children:\"lit\"}),\" que l'\\xE9quivalent d'environ 22B pour produire chaque token.\"]}),`\n`,(0,n.jsx)(e.p,{children:\"Donc :\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"La capacit\\xE9\"}),\" est r\\xE9gie par le nombre total de param\\xE8tres \\u2014 129GB en 4 bits.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"La vitesse\"}),\" est r\\xE9gie par les param\\xE8tres actifs \\u2014 comme un mod\\xE8le dense de 22B, soit environ 40 tok/s sur un M5 Ultra plut\\xF4t que les ~9 tok/s qu'obtiendrait un mod\\xE8le dense 235B.\"]}),`\n`]}),`\n`,(0,n.jsx)(e.p,{children:\"C'est cette asym\\xE9trie qui rend les grands mod\\xE8les MoE utilisables sur silicium Apple d'une fa\\xE7on qu'ils ne le sont pas sur un GPU grand public : vous avez besoin de la capacit\\xE9, qu'Apple vend d'une mani\\xE8re que personne d'autre ne propose \\xE0 ce prix, et vous obtenez une vitesse proportionnelle \\xE0 un mod\\xE8le bien plus petit.\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"C'est aussi pourquoi affirmer que \\xAB 512GB fait tourner des mod\\xE8les de pointe \\xBB est vrai mais incomplet. Cela fait tourner des mod\\xE8les de pointe \",(0,n.jsx)(e.em,{children:\"sparse\"}),\" \\xE0 une vitesse utilisable. Un hypoth\\xE9tique mod\\xE8le dense 400B en 4 bits occuperait 220GB et g\\xE9n\\xE9rerait environ 4 tokens par seconde sur un M5 Ultra. Il tient en m\\xE9moire. Vous n'appr\\xE9cieriez pas l'exp\\xE9rience.\"]}),`\n`,(0,n.jsx)(e.h2,{id:\"le-traitement-des-prompts-est-un-probl\\xE8me-diff\\xE9rent\",children:\"Le traitement des prompts est un probl\\xE8me diff\\xE9rent\"}),`\n`,(0,n.jsx)(e.p,{children:\"Lisez pr\\xE9cis\\xE9ment les annonces d'Apple pour le nouveau Mac mini :\"}),`\n`,(0,n.jsxs)(e.blockquote,{children:[`\n`,(0,n.jsxs)(e.p,{children:[\"Jusqu'\\xE0 4.8x plus rapide pour le \",(0,n.jsx)(e.strong,{children:\"traitement des prompts LLM\"}),` par rapport au M4\nJusqu'\\xE0 13.5x plus rapide pour le `,(0,n.jsx)(e.strong,{children:\"traitement des prompts LLM\"}),\" par rapport au M1\"]}),`\n`]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Le traitement des prompts \\u2014 le prefill \\u2014 est la phase o\\xF9 le mod\\xE8le ing\\xE8re ce que vous lui avez fourni. Chaque token de votre entr\\xE9e est trait\\xE9 en parall\\xE8le, ce qui rend cette phase \",(0,n.jsx)(e.strong,{children:\"limit\\xE9e par le calcul (compute-bound)\"}),\" : elle s'am\\xE9liore avec le d\\xE9bit du GPU, avec les Neural Accelerators d\\xE9sormais int\\xE9gr\\xE9s \\xE0 chaque c\\u0153ur GPU, et sur le M6 avec le premier double Neural Engine qu'Apple ait jamais livr\\xE9.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[\"La g\\xE9n\\xE9ration de tokens \\u2014 le decode \\u2014 se fait un token \\xE0 la fois, chacun n\\xE9cessitant un passage complet sur les poids. Cette phase est \",(0,n.jsx)(e.strong,{children:\"limit\\xE9e par la bande passante (bandwidth-bound)\"}),\", et aucune quantit\\xE9 de calcul suppl\\xE9mentaire n'y rem\\xE9die.\"]}),`\n`,(0,n.jsx)(e.p,{children:\"Apple a choisi de mettre en avant la moiti\\xE9 limit\\xE9e par le calcul. Ce n'est pas trompeur ; c'est r\\xE9ellement la moiti\\xE9 qui s'est le plus am\\xE9lior\\xE9e cette g\\xE9n\\xE9ration. Mais cela signifie que les chiffres marketing d\\xE9crivent la vitesse \\xE0 laquelle la machine lit votre document de 50 pages, pas la vitesse \\xE0 laquelle elle en r\\xE9dige le r\\xE9sum\\xE9.\"}),`\n`,(0,n.jsx)(e.p,{children:\"Celui qui compte pour vous d\\xE9pend de votre usage :\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Entr\\xE9es longues, sorties courtes\"}),\" \\u2014 r\\xE9sumer des documents, classifier, extraire des informations d'une base de code \\u2014 est domin\\xE9 par le prefill. Les chiffres d'Apple s'appliquent.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Entr\\xE9es courtes, sorties longues\"}),\" \\u2014 r\\xE9daction, chat, g\\xE9n\\xE9ration de code \\u2014 est domin\\xE9 par le decode. La bande passante est votre chiffre de r\\xE9f\\xE9rence.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Entr\\xE9es longues et sorties longues\"}),\" \\u2014 workflows agentiques sur un large contexte \\u2014 n\\xE9cessite les deux, et n\\xE9cessite en plus de la capacit\\xE9 pour le cache KV.\"]}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{id:\"ce-qui-a-vraiment-chang\\xE9-avec-le-m5-ultra\",children:\"Ce qui a vraiment chang\\xE9 avec le M5 Ultra\"}),`\n`,(0,n.jsx)(e.p,{children:\"Une partie de la couverture m\\xE9diatique du lancement a laiss\\xE9 entendre que faire tenir un mod\\xE8le de pointe sur un ordinateur de bureau \\xE9tait une nouveaut\\xE9. Ce n'est pas le cas, et bien comprendre cela change la d\\xE9cision de mise \\xE0 niveau pour quiconque poss\\xE8de d\\xE9j\\xE0 un Mac Studio.\"}),`\n`,(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{}),(0,n.jsx)(e.th,{children:\"M3 Ultra (2025)\"}),(0,n.jsx)(e.th,{children:\"M5 Ultra (2026)\"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"M\\xE9moire unifi\\xE9e maximale\"}),(0,n.jsx)(e.td,{children:\"512GB\"}),(0,n.jsx)(e.td,{children:\"512GB\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"Bande passante m\\xE9moire\"}),(0,n.jsx)(e.td,{children:\"819GB/s\"}),(0,n.jsx)(e.td,{children:\"1.2TB/s\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"C\\u0153urs GPU\"}),(0,n.jsx)(e.td,{children:\"jusqu'\\xE0 80\"}),(0,n.jsx)(e.td,{children:\"jusqu'\\xE0 80\"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:\"C\\u0153urs CPU\"}),(0,n.jsx)(e.td,{children:\"32\"}),(0,n.jsx)(e.td,{children:\"jusqu'\\xE0 36\"})]})]})]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"La capacit\\xE9 n'a pas chang\\xE9. Le nombre de c\\u0153urs GPU n'a pas chang\\xE9.\"}),\" La bande passante a augment\\xE9 d'environ 1.47x, et le CPU a gagn\\xE9 quatre c\\u0153urs.\"]}),`\n`,(0,n.jsx)(e.p,{children:\"Cela correspond exactement aux propres comparaisons d'Apple face au M3 Ultra \\u2014 \\xAB jusqu'\\xE0 1.3x de performance multithread sup\\xE9rieure \\xBB et \\xAB jusqu'\\xE0 1.8x de performance graphique sup\\xE9rieure \\xBB sont des chiffres modestes, et la grande annonce d'Apple, \\xAB jusqu'\\xE0 4.3x la performance de calcul IA maximale \\xBB, provient des Neural Accelerators d\\xE9sormais int\\xE9gr\\xE9s \\xE0 chaque c\\u0153ur GPU plut\\xF4t que de c\\u0153urs plus nombreux ou plus puissants.\"}),`\n`,(0,n.jsx)(e.p,{children:\"Donc, pour l'inf\\xE9rence locale sp\\xE9cifiquement :\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"La vitesse de g\\xE9n\\xE9ration\"}),\" s'am\\xE9liore \\xE0 peu pr\\xE8s proportionnellement \\xE0 la bande passante \\u2014 disons environ 1.4x sur le m\\xEAme mod\\xE8le.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Le traitement des prompts\"}),\" s'am\\xE9liore bien davantage, en ligne avec ce chiffre de 4.3x de calcul IA.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Ce que vous pouvez charger\"}),\" reste inchang\\xE9.\"]}),`\n`]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Si vous poss\\xE9dez un Mac Studio M3 Ultra avec 512GB et que votre contrainte porte sur les mod\\xE8les qui tiennent en m\\xE9moire, cette g\\xE9n\\xE9ration ne r\\xE9sout aucun probl\\xE8me que vous ayez r\\xE9ellement. Si votre contrainte est le temps d'attente pour le traitement de longs prompts, elle y r\\xE9pond directement. Notre \",(0,n.jsx)(e.a,{href:\"/blog/mac-studio-2025-m4-max-m3-ultra-performance-guide\",children:\"guide de performance Mac Studio M4 Max et M3 Ultra\"}),\" couvre la g\\xE9n\\xE9ration pr\\xE9c\\xE9dente en d\\xE9tail.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Une derni\\xE8re pr\\xE9cision de calendrier \\xE0 conna\\xEEtre avant de commander : \",(0,n.jsx)(e.strong,{children:\"la configuration 512GB n'est pas livr\\xE9e le 22 septembre en m\\xEAme temps que le reste.\"}),\" Apple annonce son arriv\\xE9e fin octobre.\"]}),`\n`,(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:\"Choisir une configuration Mac pour l'IA locale\",src:\"/images/blog/mac-unified-memory-local-llm-how-much-ram-m5-ultra-512gb-guide-2026/content-2.webp\",width:\"1024\",height:\"572\"})}),`\n`,(0,n.jsx)(e.h2,{id:\"quelle-machine-selon-ce-que-vous-faites-r\\xE9ellement\",children:\"Quelle machine, selon ce que vous faites r\\xE9ellement\"}),`\n`,(0,n.jsx)(e.h3,{id:\"16gb--pas-fait-pour-\\xE7a\",children:\"16GB \\u2014 pas fait pour \\xE7a\"}),`\n`,(0,n.jsx)(e.p,{children:\"Vous disposez d'environ 10\\u201312GB accessibles au GPU. Cela permet de faire tourner des mod\\xE8les 8B en 4 bits avec un contexte modeste, et rien de plus grand. C'est correct pour des mod\\xE8les de type autocompl\\xE9tion et de petits assistants locaux, et cela vous frustrera pour tout le reste. En 2026, 16GB est une machine qui fait bien d'autres choses et qui fait tourner des LLM de mani\\xE8re accessoire.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"32gb-m6-mac-mini-config-maximale--1299--le-point-dentr\\xE9e\",children:\"32GB (M6 Mac mini, config maximale \\u2014 $1,299) \\u2014 le point d'entr\\xE9e\"}),`\n`,(0,n.jsx)(e.p,{children:\"Environ 21\\u201324GB disponibles. Cela fait tourner confortablement des mod\\xE8les 8B et 14B, ainsi qu'un mod\\xE8le 32B en 4 bits avec un contexte court, \\xE0 environ 7 tokens par seconde. Ce dernier chiffre est la limite honn\\xEAte : \\xE7a tient en m\\xE9moire, mais \\xE0 la limite de l'agr\\xE9able.\"}),`\n`,(0,n.jsx)(e.p,{children:\"Adapt\\xE9 pour : assistants de codage locaux, travail priv\\xE9 sur des documents, apprentissage des outils. La mise \\xE0 niveau de $400 par rapport aux 16GB n'est pas optionnelle si les mod\\xE8les locaux font partie de vos raisons d'achat de la machine.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"64gb-m5-pro-mac-mini--1699--le-point-id\\xE9al-pour-la-plupart-des-gens\",children:\"64GB (M5 Pro Mac mini \\u2014 $1,699+) \\u2014 le point id\\xE9al pour la plupart des gens\"}),`\n`,(0,n.jsx)(e.p,{children:\"Environ 42\\u201348GB disponibles, et 307GB/s. Un mod\\xE8le 70B en 4 bits tient en m\\xE9moire avec de la marge pour un vrai contexte, g\\xE9n\\xE9rant environ 6 tokens par seconde \\u2014 utilisable pour du traitement par lots, lent pour un chat interactif. Un mod\\xE8le 32B tourne \\xE0 environ 12 tokens par seconde, ce qui est confortable.\"}),`\n`,(0,n.jsx)(e.p,{children:\"C'est l\\xE0 que se situe la plupart des usages s\\xE9rieux de mod\\xE8les locaux, et c'est la configuration vers laquelle j'orienterais la plupart des gens. Elle apporte aussi Thunderbolt 5, absent du M6 mini.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"128gb-m5-max-mac-studio--2499--le-palier-professionnel\",children:\"128GB (M5 Max Mac Studio \\u2014 $2,499+) \\u2014 le palier professionnel\"}),`\n`,(0,n.jsx)(e.p,{children:\"Environ 85\\u201396GB disponibles \\xE0 614GB/s. Le 70B en 4 bits tourne \\xE0 environ 11 tokens par seconde, confortablement interactif. Les mod\\xE8les de classe 120B tiennent en m\\xE9moire. Les mod\\xE8les MoE de taille moyenne deviennent utilisables.\"}),`\n`,(0,n.jsx)(e.p,{children:\"C'est la configuration pour quelqu'un dont le travail d\\xE9pend quotidiennement de l'inf\\xE9rence locale \\u2014 la bande passante double \\xE0 peu pr\\xE8s la vitesse de g\\xE9n\\xE9ration du M5 Pro sur le m\\xEAme mod\\xE8le.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"512gb-m5-ultra-mac-studio--5499-plus-de-18000-en-configuration-maximale--une-capacit\\xE9-introuvable-ailleurs\",children:\"512GB (M5 Ultra Mac Studio \\u2014 $5,499+, plus de $18,000 en configuration maximale) \\u2014 une capacit\\xE9 introuvable ailleurs\"}),`\n`,(0,n.jsx)(e.p,{children:\"Environ 340\\u2013384GB disponibles \\xE0 1.2TB/s. Cela permet de contenir des mod\\xE8les MoE de classe 400B en 4 bits et de g\\xE9n\\xE9rer \\xE0 la vitesse de leur nombre de param\\xE8tres actifs, ce qu'aucun autre ordinateur de bureau ne fait pr\\xE9cis\\xE9ment \\xE0 ce prix.\"}),`\n`,(0,n.jsx)(e.p,{children:\"Achetez cette configuration si vous \\xEAtes limit\\xE9 par la capacit\\xE9 d'une fa\\xE7on que rien d'autre ne r\\xE9sout. Si vos mod\\xE8les tiennent dans 128GB, l'Ultra vous ach\\xE8te une vitesse que vous pourriez obtenir moins cher.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"si-vous-nachetez-pas-de-nouveau-mac\",children:\"Si vous n'achetez pas de nouveau Mac\"}),`\n`,(0,n.jsx)(e.p,{children:\"Un Mac M1/M2/M3/M4 existant avec une m\\xE9moire suffisante fait tr\\xE8s bien tourner des mod\\xE8les locaux \\u2014 la bande passante des paliers Pro et Max est bonne depuis plusieurs g\\xE9n\\xE9rations. V\\xE9rifiez vos propres chiffres :\"}),`\n`,(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,n.jsxs)(e.code,{children:[(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Total memory in GB\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"echo\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"$(( '}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$(sysctl\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -n\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' hw.memsize) / 1073741824 )) GB\"'})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Chip and current GPU wired limit\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"sysctl\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -n\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" machdep.cpu.brand_string\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"sysctl\"}),(0,n.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" iogpu.wired_limit_mb\"})]})]})})}),`\n`,(0,n.jsx)(e.p,{children:\"Appliquez ensuite les tableaux ci-dessus. Un M1 Max avec 64GB \\xE0 400GB/s est une excellente machine pour l'inf\\xE9rence locale, et l'a toujours \\xE9t\\xE9.\"}),`\n`,(0,n.jsx)(e.h2,{id:\"un-exemple-chiffr\\xE9\",children:\"Un exemple chiffr\\xE9\"}),`\n`,(0,n.jsx)(e.p,{children:\"Des tableaux abstraits sont faciles \\xE0 approuver du regard et difficiles \\xE0 mettre en pratique. Voici le raisonnement appliqu\\xE9 \\xE0 un cas concret.\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Le besoin :\"}),\" un assistant de codage priv\\xE9 qui lit une base de code de taille moyenne, maintient un contexte de 32,000 tokens, et r\\xE9pond de mani\\xE8re interactive. Vous voulez un mod\\xE8le de classe 32B parce que les plus petits sont nettement moins bons en code.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"\\xC9tape 1 \\u2014 les poids.\"}),\" 32B en 4 bits : 32 \\xD7 0.55 = \",(0,n.jsx)(e.strong,{children:\"17.6GB\"}),\".\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"\\xC9tape 2 \\u2014 le contexte.\"}),\" 32,000 tokens \\xE0 environ 0.2 MB par token pour un mod\\xE8le moderne \\xE0 grouped-query attention : \",(0,n.jsx)(e.strong,{children:\"environ 6.4GB\"}),\". C'est le terme que les gens oublient, et ici il repr\\xE9sente plus d'un tiers de la taille des poids.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"\\xC9tape 3 \\u2014 la surcharge.\"}),\" Runtime, buffers Metal, tokenizer : \",(0,n.jsx)(e.strong,{children:\"2\\u20133GB\"}),\".\"]}),`\n`,(0,n.jsx)(e.p,{children:(0,n.jsx)(e.strong,{children:\"Total : environ 26\\u201327GB devant \\xEAtre verrouill\\xE9s (wired) pour le GPU.\"})}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"\\xC9tape 4 \\u2014 traduire en m\\xE9moire install\\xE9e.\"}),\" Avec un plafond automatique d'environ 70%, 27GB verrouill\\xE9s n\\xE9cessitent environ 38GB install\\xE9s. Un Mac de 32GB vous donne automatiquement 21\\u201324GB \\u2014 pas assez. Vous pourriez relever \",(0,n.jsx)(e.code,{children:\"iogpu.wired_limit_mb\"}),\" \\xE0 27GB sur une machine de 32GB, ce qui laisse 5GB pour macOS et tout le reste. Cela fonctionnera tant que rien d'autre ne tourne, et s'effondrera d\\xE8s que vous ouvrirez un navigateur.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Conclusion : 64GB install\\xE9s.\"}),\" Ce qui vous am\\xE8ne au M5 Pro Mac mini, pas au M6.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"\\xC9tape 5 \\u2014 v\\xE9rifier la vitesse.\"}),\" 307GB/s \\xD7 0.7 \\xF7 17.6GB \\u2248 \",(0,n.jsx)(e.strong,{children:\"12 tokens par seconde\"}),\". Confortable pour un usage interactif.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[\"Maintenant, changez une seule variable. Gardez tout le reste identique et demandez un contexte de 128,000 tokens : le cache KV passe \\xE0 environ 25GB, la demande totale \\xE0 environ 45GB, et la m\\xE9moire install\\xE9e requise \\xE0 64GB \",(0,n.jsx)(e.em,{children:\"au minimum\"}),\" avec le plafond relev\\xE9 \\u2014 ou 128GB pour \\xEAtre confortable. Un seul r\\xE9glage a fait passer la r\\xE9ponse \\xE0 un palier de produit entier au-dessus.\"]}),`\n`,(0,n.jsx)(e.p,{children:\"C'est toute la m\\xE9thode. Poids, contexte, surcharge, diviser par le plafond, puis v\\xE9rifier la bande passante par rapport \\xE0 la taille des poids.\"}),`\n`,(0,n.jsx)(e.h2,{id:\"les-runtimes-ne-se-comportent-pas-tous-de-la-m\\xEAme-fa\\xE7on\",children:\"Les runtimes ne se comportent pas tous de la m\\xEAme fa\\xE7on\"}),`\n`,(0,n.jsx)(e.p,{children:\"Le calcul ci-dessus d\\xE9crit le mat\\xE9riel. Ce que vous observez r\\xE9ellement d\\xE9pend du logiciel, et les diff\\xE9rences sont assez importantes pour changer une d\\xE9cision d'achat.\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"MLX\"}),\" est le framework de calcul matriciel propre \\xE0 Apple, con\\xE7u pour la m\\xE9moire unifi\\xE9e. Il ne copie pas entre \\xAB m\\xE9moire CPU \\xBB et \\xAB m\\xE9moire GPU \\xBB car cette distinction n'existe pas sur silicium Apple, et c'est g\\xE9n\\xE9ralement l'option la plus \\xE9conome en m\\xE9moire sur un Mac. Si vous achetez du mat\\xE9riel sp\\xE9cifiquement pour l'inf\\xE9rence locale, ce sont les outils bas\\xE9s sur MLX qui mettent le mat\\xE9riel en valeur.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"llama.cpp\"}),\", et les outils qui s'appuient dessus, est l'option la plus portable et b\\xE9n\\xE9ficie d'un excellent support de Metal. Ses formats de quantification \\u2014 la famille \",(0,n.jsx)(e.code,{children:\"Q4_K_M\"}),\" suppos\\xE9e dans les tableaux ci-dessus \\u2014 font figure de standard de fait, et son comportement m\\xE9moire est pr\\xE9visible et bien document\\xE9.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Ollama\"}),\" enrobe llama.cpp avec une gestion des mod\\xE8les. Pratique, et ce qu'il faut savoir, c'est qu'il garde les mod\\xE8les r\\xE9sidents en m\\xE9moire apr\\xE8s usage pendant une dur\\xE9e configurable. Si vous \\xEAtes proche de votre plafond, un mod\\xE8le que vous avez fini d'utiliser il y a une heure peut encore occuper de la m\\xE9moire. C'est une cause fr\\xE9quente du \\xAB \\xE7a marchait hier \\xBB.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"LM Studio\"}),\" est l'option graphique et se montre honn\\xEAte sur la m\\xE9moire, en vous indiquant avant chargement ce qui tiendra ou non. C'est un bon moyen de d\\xE9velopper une intuition de ces chiffres sans faire de calcul.\"]}),`\n`,(0,n.jsx)(e.p,{children:\"Deux comportements comptent quel que soit le runtime que vous utilisez :\"}),`\n`,(0,n.jsxs)(e.ol,{children:[`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"La pr\\xE9allocation ou non du cache KV.\"}),\" Certains runtimes r\\xE9servent toute la fen\\xEAtre de contexte au chargement ; d'autres la font cro\\xEEtre au fil de la conversation. La pr\\xE9allocation fait qu'un mod\\xE8le qui tournerait en pratique \\xE9choue au chargement. Si un mod\\xE8le refuse de charger \\xE0 128K mais charge \\xE0 8K, voil\\xE0 pourquoi \\u2014 et r\\xE9duire le contexte configur\\xE9 est la solution, pas un mod\\xE8le plus petit.\"]}),`\n`,(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:\"Le d\\xE9chargement ou non des mod\\xE8les inutilis\\xE9s.\"}),\" V\\xE9rifiez le r\\xE9glage de keep-alive de votre runtime avant de conclure que votre machine est trop petite.\"]}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{id:\"gagner-de-la-marge-sans-acheter-de-m\\xE9moire\",children:\"Gagner de la marge sans acheter de m\\xE9moire\"}),`\n`,(0,n.jsx)(e.p,{children:\"Avant de d\\xE9penser $400 pour un palier de m\\xE9moire sup\\xE9rieur, plusieurs techniques changent le calcul.\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Quantifiez plus fort.\"}),\" Passer de 8 bits \\xE0 4 bits divise par deux votre besoin en m\\xE9moire pour une perte de qualit\\xE9 modeste. C'est presque toujours un meilleur compromis que de passer \\xE0 un mod\\xE8le plus petit en plus haute pr\\xE9cision \\u2014 un mod\\xE8le 32B en 4 bits bat g\\xE9n\\xE9ralement un mod\\xE8le 14B en 8 bits, \\xE0 m\\xE9moire \\xE9quivalente.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Quantifiez le cache KV.\"}),\" La plupart des runtimes peuvent stocker le cache KV en 8 bits ou moins. Sur de longs contextes, o\\xF9 le cache rivalise avec les poids, c'est de loin la plus grande \\xE9conomie disponible, et le co\\xFBt en qualit\\xE9 est faible.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Dimensionnez correctement le contexte.\"}),\" Une fen\\xEAtre de contexte de 128K dont vous n'utilisez que 4,000 tokens co\\xFBte quand m\\xEAme le plein prix sur les runtimes qui pr\\xE9allouent. Configurez le contexte que vous utilisez r\\xE9ellement.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Pr\\xE9f\\xE9rez les mod\\xE8les MoE.\"}),\" Comme vu plus haut, un mod\\xE8le \\xE0 m\\xE9lange d'experts vous donne la qualit\\xE9 d'un grand mod\\xE8le \\xE0 la vitesse de g\\xE9n\\xE9ration d'un petit. Le co\\xFBt est la capacit\\xE9, ce qui est pr\\xE9cis\\xE9ment ce dont un Mac dispose davantage que les alternatives.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Utilisez le speculative decoding.\"}),\" Un petit mod\\xE8le brouillon propose plusieurs tokens et le grand mod\\xE8le les v\\xE9rifie en une seule passe. La v\\xE9rification \\xE9tant parall\\xE8le, cette technique attaque directement le goulot d'\\xE9tranglement de la bande passante et peut sensiblement augmenter les tokens par seconde \\u2014 au prix de conserver un second petit mod\\xE8le en m\\xE9moire. Sur une machine limit\\xE9e par la bande passante mais disposant de capacit\\xE9 en r\\xE9serve, c'est un bon compromis.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Fermez des applications.\"}),\" \\xC9vident, et pourtant la r\\xE9ponse \\xE9tonnamment souvent. Les navigateurs avec de nombreux onglets, les machines virtuelles et les logiciels de montage vid\\xE9o se disputent tous le m\\xEAme pool de m\\xE9moire. Il n'y a pas de VRAM s\\xE9par\\xE9e sur laquelle se replier.\"]}),`\n`,(0,n.jsx)(e.h2,{id:\"d\\xE9pannage-des-probl\\xE8mes-courants\",children:\"D\\xE9pannage des probl\\xE8mes courants\"}),`\n`,(0,n.jsx)(e.h3,{id:\"le-mod\\xE8le-charge-mais-la-g\\xE9n\\xE9ration-est-extr\\xEAmement-lente\",children:\"Le mod\\xE8le charge mais la g\\xE9n\\xE9ration est extr\\xEAmement lente\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Probl\\xE8me\"}),\" : vous avez d\\xE9pass\\xE9 ce que macOS accorde au GPU, et le travail d\\xE9borde vers le swap. Les sympt\\xF4mes sont un premier token qui met de longues secondes \\xE0 arriver et une g\\xE9n\\xE9ration saccad\\xE9e plut\\xF4t qu'un flux r\\xE9gulier.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Solution\"}),\" : v\\xE9rifiez la pression m\\xE9moire dans le Moniteur d'activit\\xE9 pendant la g\\xE9n\\xE9ration. Si elle est jaune ou rouge, utilisez une quantification plus l\\xE9g\\xE8re, r\\xE9duisez votre fen\\xEAtre de contexte, ou relevez \",(0,n.jsx)(e.code,{children:\"iogpu.wired_limit_mb\"}),\" \\u2014 en laissant au moins 6\\u20138GB pour le syst\\xE8me. Si la pression est verte et que c'est quand m\\xEAme lent, vous \\xEAtes simplement limit\\xE9 par la bande passante, et la solution est un mod\\xE8le plus petit.\"]}),`\n`,(0,n.jsx)(e.h3,{id:\"-system-has-run-out-of-application-memory-\",children:\"\\xAB System has run out of application memory \\xBB\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Probl\\xE8me\"}),\" : g\\xE9n\\xE9ralement un plafond wired r\\xE9gl\\xE9 de fa\\xE7on trop agressive, ou un contexte volumineux qui a grossi au cours d'une longue session.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Solution\"}),\" : r\\xE9initialisez avec \",(0,n.jsx)(e.code,{children:\"sudo sysctl iogpu.wired_limit_mb=0\"}),\" et relancez le processus d'inf\\xE9rence. Red\\xE9marrez si le syst\\xE8me reste instable \\u2014 le r\\xE9glage n'est pas persistant, donc un red\\xE9marrage l'efface de toute fa\\xE7on. Les causes connexes sont couvertes dans notre \",(0,n.jsx)(e.a,{href:\"/blog/macos-tahoe-memory-leak-fix-complete-guide-2026\",children:\"guide de d\\xE9pannage des fuites m\\xE9moire\"}),\".\"]}),`\n`,(0,n.jsx)(e.h3,{id:\"\\xE7a-tient-sur-le-papier-mais-le-chargement-\\xE9choue\",children:\"\\xC7a tient sur le papier mais le chargement \\xE9choue\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Probl\\xE8me\"}),\" : vous avez dimensionn\\xE9 pour les poids et oubli\\xE9 le cache KV, ou le runtime alloue tout le contexte d'un coup au lieu de le faire cro\\xEEtre progressivement.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Solution\"}),\" : r\\xE9duisez la longueur du contexte dans les r\\xE9glages de votre runtime et r\\xE9essayez. Si un contexte de 32K charge et que 128K ne charge pas, cela confirme le diagnostic, et le calcul de la section capacit\\xE9 vous indique de combien vous avez besoin pour le contexte que vous voulez.\"]}),`\n`,(0,n.jsx)(e.h3,{id:\"le-mac-chauffe-et-ralentit-sur-une-longue-session\",children:\"Le Mac chauffe et ralentit sur une longue session\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Probl\\xE8me\"}),\" : une inf\\xE9rence soutenue repr\\xE9sente une charge soutenue \\xE0 la fois sur le GPU et sur la m\\xE9moire. Les portables throttlent. Les ordinateurs de bureau, la plupart du temps, non.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Solution\"}),\" : c'est l'un des vrais arguments en faveur d'un Mac mini ou d'un Mac Studio plut\\xF4t qu'un MacBook pour ce type de charge \\u2014 une marge thermique soutenue. Sur un portable, consultez notre \",(0,n.jsx)(e.a,{href:\"/blog/macbook-pro-m5-overheating-thermal-throttling-fix-guide-2026\",children:\"guide sur le throttling thermique du MacBook Pro M5\"}),\".\"]}),`\n`,(0,n.jsx)(e.h3,{id:\"traitement-des-prompts-rapide-g\\xE9n\\xE9ration-lente\",children:\"Traitement des prompts rapide, g\\xE9n\\xE9ration lente\"}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Probl\\xE8me\"}),\" : rien ne cloche. C'est le comportement attendu du mat\\xE9riel.\"]}),`\n`,(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.strong,{children:\"Solution\"}),\" : reportez-vous \\xE0 la section prefill contre decode plus haut. Si c'est la vitesse de g\\xE9n\\xE9ration qu'il vous faut, la solution est un mod\\xE8le plus petit, une quantification plus agressive, un mod\\xE8le MoE avec un faible nombre de param\\xE8tres actifs, ou davantage de bande passante \\u2014 dans cet ordre de co\\xFBt.\"]}),`\n`,(0,n.jsx)(e.h2,{id:\"faq\",children:\"FAQ\"}),`\n`,(0,n.jsx)(e.h3,{id:\"de-combien-de-ram-ai-je-besoin-pour-faire-tourner-un-mod\\xE8le-70b-\",children:\"De combien de RAM ai-je besoin pour faire tourner un mod\\xE8le 70B ?\"}),`\n`,(0,n.jsxs)(e.p,{children:[\"En quantification 4 bits, les poids repr\\xE9sentent environ 38.5GB. En ajoutant le contexte et la surcharge, vous voulez \",(0,n.jsx)(e.strong,{children:\"64GB install\\xE9s\"}),\" comme minimum r\\xE9aliste, car macOS n'accordera au GPU qu'environ 42\\u201348GB de cette m\\xE9moire. 48GB install\\xE9s sont trop justes d\\xE8s que vous incluez un contexte significatif.\"]}),`\n`,(0,n.jsx)(e.h3,{id:\"16gb-suffisent-ils-pour-lia-locale-en-2026-\",children:\"16GB suffisent-ils pour l'IA locale en 2026 ?\"}),`\n`,(0,n.jsx)(e.p,{children:\"Pour des mod\\xE8les 8B en 4 bits avec un contexte court, oui. Pour tout ce qui est plus grand, non. Si les mod\\xE8les locaux font partie de vos raisons d'achat de la machine, consid\\xE9rez 32GB comme le plancher et 64GB comme l'objectif.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"le-neural-engine-acc\\xE9l\\xE8re-t-il-les-llm-locaux-\",children:\"Le Neural Engine acc\\xE9l\\xE8re-t-il les LLM locaux ?\"}),`\n`,(0,n.jsx)(e.p,{children:\"Il contribue au traitement des prompts, d'o\\xF9 provient le chiffre d'Apple \\xAB 4.8x plus rapide pour le traitement des prompts LLM \\xBB, et le double Neural Engine 16 c\\u0153urs du M6 repr\\xE9sente une r\\xE9elle avanc\\xE9e. Il ne change en rien la limite de bande passante sur la g\\xE9n\\xE9ration de tokens. La plupart des runtimes d'inf\\xE9rence locale populaires sur Mac s'appuient principalement sur le GPU via Metal.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"devrais-je-acheter-le-mac-studio-512gb-\",children:\"Devrais-je acheter le Mac Studio 512GB ?\"}),`\n`,(0,n.jsx)(e.p,{children:\"Uniquement si vous \\xEAtes limit\\xE9 par la capacit\\xE9. Si les mod\\xE8les que vous faites r\\xE9ellement tourner tiennent dans 128GB, un Mac Studio M5 Max fait le m\\xEAme travail pour un tiers du prix. Notez aussi que l'option 512GB n'est livr\\xE9e que fin octobre, et que la machine en configuration compl\\xE8te atteint $18,299.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"puis-je-ajouter-de-la-m\\xE9moire-plus-tard-\",children:\"Puis-je ajouter de la m\\xE9moire plus tard ?\"}),`\n`,(0,n.jsx)(e.p,{children:\"Non. La m\\xE9moire unifi\\xE9e fait partie du package de la puce sur tout Mac \\xE0 silicium Apple. C'est la caract\\xE9ristique qui m\\xE9rite le plus qu'on la surdimensionne \\xE0 l'achat, car c'est la seule que vous ne pourrez jamais revoir par la suite.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"un-mac-est-il-meilleur-quun-pc-avec-gpu-discret-pour-cet-usage-\",children:\"Un Mac est-il meilleur qu'un PC avec GPU discret pour cet usage ?\"}),`\n`,(0,n.jsx)(e.p,{children:\"Des compromis diff\\xE9rents. Un GPU discret a une bande passante m\\xE9moire bien plus \\xE9lev\\xE9e mais beaucoup moins de m\\xE9moire \\u2014 les cartes grand public plafonnent bien en dessous de ce qu'offre un Mac Studio. Un Mac l'emporte nettement sur la capacit\\xE9 par dollar et sur la consommation \\xE9lectrique, et perd sur le d\\xE9bit brut pour les mod\\xE8les suffisamment petits pour tenir en VRAM. Si vos mod\\xE8les sont volumineux, le Mac est souvent la seule option en une seule machine. S'ils sont petits, un GPU est plus rapide.\"}),`\n`,(0,n.jsx)(e.h3,{id:\"la-quantification-nuit-elle-\\xE0-la-qualit\\xE9-\",children:\"La quantification nuit-elle \\xE0 la qualit\\xE9 ?\"}),`\n`,(0,n.jsx)(e.p,{children:\"Le 8 bits est proche de l'absence de perte pour la plupart des usages. Les K-quants 4 bits sont le choix pratique par d\\xE9faut, et la d\\xE9gradation reste modeste pour la plupart des t\\xE2ches. En dessous de 4 bits, la qualit\\xE9 chute nettement. Compte tenu des tableaux de m\\xE9moire ci-dessus, passer de 8 bits \\xE0 4 bits divise \\xE0 peu pr\\xE8s par deux votre besoin en m\\xE9moire \\u2014 g\\xE9n\\xE9ralement un meilleur compromis que de passer \\xE0 un mod\\xE8le plus petit.\"}),`\n`,(0,n.jsx)(e.h2,{id:\"conclusion\",children:\"Conclusion\"}),`\n`,(0,n.jsx)(e.p,{children:\"Le chiffre choc des 512GB est r\\xE9el, et pour un petit nombre de personnes, il est d\\xE9cisif. Pour tous les autres, la version utile de cet article tient en trois lignes de calcul : les poids sont les param\\xE8tres multipli\\xE9s par les octets par param\\xE8tre, le contexte ajoute 0.1\\u20130.5 MB par token par-dessus, et macOS n'accorde au GPU qu'environ 65\\u201375% de ce que vous avez achet\\xE9.\"}),`\n`,(0,n.jsx)(e.p,{children:\"Appliquez ces chiffres aux mod\\xE8les que vous comptez r\\xE9ellement utiliser, et la r\\xE9ponse tombe g\\xE9n\\xE9ralement sur 64GB. V\\xE9rifiez ensuite le second chiffre \\u2014 la bande passante \\u2014 car c'est lui qui d\\xE9termine si le mod\\xE8le qui tient en m\\xE9moire est un mod\\xE8le que vous continuerez \\xE0 utiliser. L'\\xE9cart entre un mod\\xE8le 32B \\xE0 7 tokens par seconde et le m\\xEAme mod\\xE8le \\xE0 24 tokens par seconde est l'\\xE9cart entre une d\\xE9monstration et un outil, et aucune quantit\\xE9 de capacit\\xE9 ne le comble.\"}),`\n`,(0,n.jsx)(e.p,{children:\"Et quel que soit votre choix, choisissez-le avec soin. C'est soud\\xE9.\"}),`\n`,(0,n.jsx)(e.p,{children:(0,n.jsxs)(e.em,{children:[\"\\xC0 lire aussi : \",(0,n.jsx)(e.a,{href:\"/blog/mac-mini-m6-mac-studio-m5-ultra-2026-specs-price-buying-guide\",children:\"Mac mini M6 et Mac Studio M5 Ultra : ce qui a vraiment chang\\xE9\"}),\", \",(0,n.jsx)(e.a,{href:\"/blog/local-ai-apps-mac-privacy-guide-2026\",children:\"applications d'IA locale sur Mac et ce qu'elles font de vos donn\\xE9es\"}),\", et \",(0,n.jsx)(e.a,{href:\"/blog/mac-ram-prices-rising-2026-dram-shortage-memory-buying-guide\",children:\"les prix de la RAM Mac augmentent en 2026\"}),\".\"]})})]})}function u(i={}){let{wrapper:e}=i.components||{};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(c,{...i})}):c(i)}return k(B);})();\n;return Component;","toc":[{"title":"Points clés","url":"#points-clés","depth":2},{"title":"Les deux chiffres qui comptent","url":"#les-deux-chiffres-qui-comptent","depth":2},{"title":"Capacité : ce qui tient en mémoire","url":"#capacité--ce-qui-tient-en-mémoire","depth":2},{"title":"Ajoutez ensuite le contexte","url":"#ajoutez-ensuite-le-contexte","depth":3},{"title":"La règle pratique","url":"#la-règle-pratique","depth":3},{"title":"Le plafond dont personne ne parle","url":"#le-plafond-dont-personne-ne-parle","depth":2},{"title":"Bande passante : la vitesse de réponse","url":"#bande-passante--la-vitesse-de-réponse","depth":2},{"title":"Pourquoi les modèles MoE changent la donne","url":"#pourquoi-les-modèles-moe-changent-la-donne","depth":3},{"title":"Le traitement des prompts est un problème différent","url":"#le-traitement-des-prompts-est-un-problème-différent","depth":2},{"title":"Ce qui a vraiment changé avec le M5 Ultra","url":"#ce-qui-a-vraiment-changé-avec-le-m5-ultra","depth":2},{"title":"Quelle machine, selon ce que vous faites réellement","url":"#quelle-machine-selon-ce-que-vous-faites-réellement","depth":2},{"title":"16GB — pas fait pour ça","url":"#16gb--pas-fait-pour-ça","depth":3},{"title":"32GB (M6 Mac mini, config maximale — $1,299) — le point d'entrée","url":"#32gb-m6-mac-mini-config-maximale--1299--le-point-dentrée","depth":3},{"title":"64GB (M5 Pro Mac mini — $1,699+) — le point idéal pour la plupart des gens","url":"#64gb-m5-pro-mac-mini--1699--le-point-idéal-pour-la-plupart-des-gens","depth":3},{"title":"128GB (M5 Max Mac Studio — $2,499+) — le palier professionnel","url":"#128gb-m5-max-mac-studio--2499--le-palier-professionnel","depth":3},{"title":"512GB (M5 Ultra Mac Studio — $5,499+, plus de $18,000 en configuration maximale) — une capacité introuvable ailleurs","url":"#512gb-m5-ultra-mac-studio--5499-plus-de-18000-en-configuration-maximale--une-capacité-introuvable-ailleurs","depth":3},{"title":"Si vous n'achetez pas de nouveau Mac","url":"#si-vous-nachetez-pas-de-nouveau-mac","depth":3},{"title":"Un exemple chiffré","url":"#un-exemple-chiffré","depth":2},{"title":"Les runtimes ne se comportent pas tous de la même façon","url":"#les-runtimes-ne-se-comportent-pas-tous-de-la-même-façon","depth":2},{"title":"Gagner de la marge sans acheter de mémoire","url":"#gagner-de-la-marge-sans-acheter-de-mémoire","depth":2},{"title":"Dépannage des problèmes courants","url":"#dépannage-des-problèmes-courants","depth":2},{"title":"Le modèle charge mais la génération est extrêmement lente","url":"#le-modèle-charge-mais-la-génération-est-extrêmement-lente","depth":3},{"title":"« System has run out of application memory »","url":"#-system-has-run-out-of-application-memory-","depth":3},{"title":"Ça tient sur le papier mais le chargement échoue","url":"#ça-tient-sur-le-papier-mais-le-chargement-échoue","depth":3},{"title":"Le Mac chauffe et ralentit sur une longue session","url":"#le-mac-chauffe-et-ralentit-sur-une-longue-session","depth":3},{"title":"Traitement des prompts rapide, génération lente","url":"#traitement-des-prompts-rapide-génération-lente","depth":3},{"title":"FAQ","url":"#faq","depth":2},{"title":"De combien de RAM ai-je besoin pour faire tourner un modèle 70B ?","url":"#de-combien-de-ram-ai-je-besoin-pour-faire-tourner-un-modèle-70b-","depth":3},{"title":"16GB suffisent-ils pour l'IA locale en 2026 ?","url":"#16gb-suffisent-ils-pour-lia-locale-en-2026-","depth":3},{"title":"Le Neural Engine accélère-t-il les LLM locaux ?","url":"#le-neural-engine-accélère-t-il-les-llm-locaux-","depth":3},{"title":"Devrais-je acheter le Mac Studio 512GB ?","url":"#devrais-je-acheter-le-mac-studio-512gb-","depth":3},{"title":"Puis-je ajouter de la mémoire plus tard ?","url":"#puis-je-ajouter-de-la-mémoire-plus-tard-","depth":3},{"title":"Un Mac est-il meilleur qu'un PC avec GPU discret pour cet usage ?","url":"#un-mac-est-il-meilleur-quun-pc-avec-gpu-discret-pour-cet-usage-","depth":3},{"title":"La quantification nuit-elle à la qualité ?","url":"#la-quantification-nuit-elle-à-la-qualité-","depth":3},{"title":"Conclusion","url":"#conclusion","depth":2}],"estimatedTime":27}