← Knowledge base

Ce qui tourne réellement sur votre machine

mahout, le moteur d'inférence, et pourquoi il n'y a aucun conteneur à installer aujourd'hui. Exactement ce qu'un hôte ElephantPool exécute, d'où ça vient, et ce que ça a le droit de faire.

Deux choses tournent sur une machine hôte, et vous pouvez lire la source des deux.

1. mahout — l'agent

mahout est un binaire Rust unique d'environ 5 Mo. Il sonde votre matériel, s'enrôle avec un code à usage unique, télécharge et vérifie les poids des modèles, démarre et supervise le moteur d'inférence, réclame du travail, et signe un reçu pour chaque job terminé. Il tourne sous votre utilisateur, n'a pas besoin de root, et n'ouvre aucun port entrant — il ne fait que des appels HTTPS sortants, c'est pourquoi il fonctionne derrière n'importe quel routeur domestique sans rien toucher.

Il est open source, et l'installeur que vous passez à sh fait quarante lignes de shell que vous pouvez lire d'abord.

2. Le moteur d'inférence

mahout ne fait pas les calculs lui-même ; il pilote un moteur. Aujourd'hui ce moteur est llama.cpp — une release précise et épinglée, téléchargée une fois dans le cache de mahout et vérifiée contre un SHA-256 gravé dans le binaire mahout. Il tourne comme processus enfant lié à 127.0.0.1 : rien à l'extérieur de votre machine ne peut l'atteindre.

Un seul build llama.cpp (le Vulkan) sert indifféremment les GPU AMD, NVIDIA et Intel. C'est voulu : les propriétaires d'AMD ne sont pas un second collège ici, et notre propre flotte tourne sur des RX 7900 XTX.

Alors, où sont les images Docker ?

Il n'y en a pas, et c'est une qualité. Une image de conteneur pour un moteur de service pèse 10–30 Go, exige un runtime de conteneurs, un toolkit GPU et souvent root pour s'installer. Pour un PC gamer dans un salon, ça fait beaucoup de cérémonie pour servir un modèle qu'un binaire de 5 Mo sert déjà.

Les conteneurs deviennent rentables à l'autre bout du marché : beaucoup de requêtes concurrentes sur une carte workstation ou datacenter, là où le batching continu et la paged attention de vLLM prennent l'avantage. Quand nous ajouterons ce tiers, les règles ne changeront pas :

  • l'image est référencée par digest, jamais par un tag mouvant ;
  • la liste des images qu'un hôte peut lancer est compilée dans la release de mahout — le serveur ne peut pas tendre à votre machine une image arbitraire à exécuter ;
  • le conteneur n'a aucune sortie réseau et un montage en lecture seule des poids ;
  • ça reste opt-in par hôte.

D'ici là, la réponse honnête à « quelles images faites-vous tourner sur mon ordinateur ? » est : aucune.

Ce qu'il a le droit de faire

mahout n'exécute que des artefacts épinglés et vérifiés par checksum : une release précise du moteur, un fichier de modèle précis à une révision amont précise. Il n'existe délibérément aucun moyen de le pointer vers une URL arbitraire venue du réseau, et un job est de la donnée — un prompt — pas du code. Les prompts vivent en RAM, ne touchent jamais votre disque, et disparaissent à la fin du job.

À lire aussi

Model catalogue · Download mahout · How the whole system works · Blog