Ingénierie
Aucun serveur à démarrer. Le modèle répond depuis l'intérieur de l'application.
Runlix exécute les modèles dans son propre processus : rien à lancer avant, six familles de modèles qui fonctionnent nativement, et la vitesse mesurée contre mlx-lm avec la date de la mesure à côté.
Mis à jour 2026-09-13Mesuré 2026-09-07
Vous ouvrez l'application et vous posez une question. Toute la séquence est là.
Cela semble peu de chose jusqu'au jour où ça ne l'est pas. Presque toutes les façons d'exécuter un modèle sur son propre Mac mettent un programme séparé au milieu : l'application sur laquelle vous cliquez parle par le réseau à un moteur écrit par quelqu'un d'autre, lequel tourne lui-même sur un environnement d'exécution avec ses versions et ses manières de casser. Quand cette chaîne se grippe, ce qui a cessé de fonctionner n'est pas ce que vous avez installé, et le message d'erreur appartient à un programme que vous n'avez jamais choisi.
Runlix charge le modèle en lui-même. Quittez l'application et rien ne reste allumé.
Mon modèle va-t-il vraiment tourner ?
Six familles fonctionnent nativement :
- phi3
- llama
- qwen2
- qwen3
- gemma3_text
- deepseek_v2
En pratique cela couvre l'essentiel de ce que les gens téléchargent — et cela inclut des modèles dont le nom ne le laisse pas deviner, car les modèles Mistral sont bâtis sur la forme de llama et tournent nativement eux aussi. Runlix vous dit quelle famille il a reconnue plutôt que de vous laisser deviner.
Pour un modèle hors de ces six, la réponse est pas encore, avec sa raison. Si mlx-lm connaît
la famille, c'est une famille que le moteur peut apprendre, et la liste grandit d'une famille
vérifiée à la fois. Si personne ne la connaît, Runlix le dit aussi. Il n'y a pas de second moteur,
plus lent, caché derrière le premier : ce que vous exécutez est ce que vous obtenez.
Et vous l'apprenez avant le téléchargement, pas après. Télécharger huit gigaoctets pour découvrir que le modèle ne se charge pas est l'expérience ordinaire de l'IA en local, et c'est la seule chose ici qui a été conçue pour ne pas arriver : Runlix lit d'abord la description que le modèle donne de lui-même sur Hugging Face et vous rend un verdict avec la raison écrite à côté. Tout cela est sur la page des modèles.
En quoi c'est différent de l'installation habituelle
Si vous avez déjà exécuté des modèles en local, vous avez presque certainement utilisé un montage en deux moitiés : un service en arrière-plan qui tient le modèle, et une fenêtre qui lui parle. Ce dessin a de vrais avantages, et ils méritent d'être nommés en premier — le service continue quand vous fermez la fenêtre, plusieurs applications peuvent partager un même modèle chargé, et un plantage du modèle n'emporte pas votre interface.
Un service plus une fenêtre
- Le service continue de tourner quand vous fermez la fenêtre.
- Plusieurs applications peuvent partager un modèle chargé.
- Un plantage du modèle n'emporte pas votre interface.
- Quelque chose de séparé à installer et à tenir à jour.
- Un port, qu'autre chose sur votre Mac veut peut-être déjà.
- Quand une réponse n'arrive jamais, c'est à vous de trouver quelle moitié est bloquée.
- Souvent Python en dessous : un second environnement logiciel avec ses versions et ses façons de casser un mardi.
Runlix
- Une chose à installer, une à quitter.
- Un seul endroit d'où une panne peut venir — jamais la question de la moitié.
- Aucun port ouvert si vous n'en demandez pas.
- Aucun second environnement logiciel à entretenir.
- Rien ne reste allumé quand vous quittez.
- Vous ne pouvez pas partager un modèle chargé entre applications.
- Un plantage du modèle emporte l'application.
Aucune des deux réponses n'est universellement juste. Celle-ci est juste si vous voulez que le modèle fasse partie d'une application plutôt que d'être une infrastructure à entretenir.
À quelle vitesse, et comparé à quoi
La vitesse seule est un nombre sans signification. La manière honnête de l'énoncer est un rapport
face à une référence que tout le monde peut exécuter — mlx-lm, la bibliothèque qu'utilisent les
exemples d'Apple — avec le jour de la mesure écrit à côté, parce qu'un nombre sur une page
commerciale n'a personne pour l'entretenir.
Référence : mlx-lm = 100 %. Mesuré le 7 septembre 2026 sur Llama-3.2-1B en 4 bits. Pic de mémoire sur le prompt de 4096 tokens : 1115 Mo.
Runlix est derrière la référence sur chaque ligne, et c'est dit plutôt que caché. Entre 86 % et 93 % d'une bibliothèque qui a des années d'attention derrière elle, en échange du fait que le modèle vit dans l'application au lieu d'être derrière un port réseau. Si les tokens par seconde sont la seule chose qui vous importe, la référence est là et vous pouvez l'exécuter.
Ce que cela fait à votre Mac
Vous pouvez garder plus d'un modèle chargé à la fois et passer de l'un à l'autre sans attendre un rechargement à chaque fois. Quand il n'y a plus de place, celui que vous n'avez pas utilisé depuis le plus longtemps s'efface — jamais celui qui est en train de vous répondre.
La limite n'est pas la mémoire imprimée sur la boîte. C'est ce que le système graphique déclare prêt à céder, ce qui est demandé plutôt que supposé.
Ce que cela veut dire au quotidien : sur un Mac avec de la mémoire à revendre, vous pouvez laisser chargés en même temps un petit modèle rapide et un gros modèle soigneux, et passer de l'un à l'autre dans une conversation sans pause. Sur une machine plus juste, l'application fait de la place discrètement et recharge quand vous revenez — plus lent, mais jamais un refus et jamais un plantage pour mémoire pleine.
Ce qu'il refuse de faire, et ce que cela vous coûte
Il refuse plutôt que de deviner
Certains modèles se décrivent d'une manière que ce moteur n'implémente pas. Quand cela arrive, le modèle ne se charge pas, avec la raison nommée, au lieu de se charger quand même.
Ce refus est la fonctionnalité. Un moteur d'inférence presque juste ne plante pas : il produit un texte fluide, assuré et faux, et vous vous en apercevez des semaines plus tard, ou jamais. Entre une erreur aujourd'hui et une méprise plausible que vous ne détecterez peut-être jamais, celui-ci se trompe aujourd'hui.
Deux limites à connaître avant de commencer : des modèles au format MLX seulement — pas de GGUF, une décision et non un coin inachevé — et pas de modèles de vision. Les deux sont vérifiés auprès de Hugging Face avant que vous ne dépensiez le téléchargement.
Et s'il plante, il emporte l'application
Exécuter le modèle dans l'application est un échange, et voici le côté que vous payez : si le code du modèle plante, il emporte l'application avec lui. Il n'y a pas de serveur au milieu pour l'absorber.
Cela a été choisi délibérément, et la sortie de secours est tenue prête : le moteur est séparé de l'application par une frontière dessinée pour qu'on puisse le remettre dans son propre processus le jour où cet échange cesse d'en valoir la peine.
Le dire clairement fait partie de la chose. Vous choisissez un arrangement, on ne vous vend pas un déjeuner gratuit.
Si vous voulez vérifier tout cela
Rien de ce qui précède ne demande à être cru.
L'exactitude
On se sert de mlx-lm pour engendrer la suite exacte de mots qu'un modèle doit
produire pour une question donnée ; le moteur doit la reproduire, et la construction échoue
s'il n'y parvient pas. Là où la référence elle-même hésite vraiment entre deux mots, le test
enregistre l'écart au lieu d'exiger un accord sur un pile ou face.
La liste des six
Ce n'est pas une affirmation dans une brochure. Chaque famille est consignée avec la version
de mlx-lm dont elle a été traduite et la date de sa dernière vérification, et la
construction échoue si une famille est déclarée prise en charge sans les deux.
Les chiffres de vitesse
Chaque rapport ci-dessus porte le jour où il a été pris et le modèle sur lequel il l'a été. Refaites-les quand vous voulez : la référence est une bibliothèque publique.
Le code de tiers
L'interface MLX d'Apple voyage dans le projet exactement telle que publiée, avec son empreinte vérifiée avant chaque construction. Les corrections vivent dans des correctifs séparés, et la construction s'arrête et nomme le correctif si l'un ne s'applique plus — ainsi une modification ne peut pas disparaître en silence à la mise à jour suivante.
L'ingénierie derrière ces vérifications — pourquoi un nom de fonction mal orthographié à la frontière de deux langages n'est pas une erreur de compilation, et comment un nom correct avec le mauvais type a transformé un plafond mémoire de 23 Go en 2,8 Go sans jamais planter — est écrite dans les notes, qui est l'endroit où ce genre de chose se range.