voici mahout : l'agent open source qui met votre gpu dans le pool
Un mahout est la personne qui monte et guide un éléphant. Le nôtre est un petit binaire Rust qui guide votre GPU : il découvre ce que votre machine sait faire, la connecte au pool, sert des modèles à poids ouverts à du vrai trafic API, et signe un reçu pour chaque job terminé. Ce billet est la visite complète — ce qu'il fait, pourquoi il est open source, comment l'installer et le piloter, et comment contribuer.
pourquoi un logiciel qui gagne de l'argent sur votre pc doit être open source
mahout tourne sans surveillance sur du matériel qui vous appartient, et ses reçus se traduisent directement en argent. Vous ne devriez pas avoir à nous croire sur parole. Le code est donc public sous Apache-2.0 sur gitlab.debuck.info/elephantpool-oss/mahout : lisez-le, compilez-le vous-même, diffez une release contre le binaire publié. La confiance par la vérification, pas par un paragraphe de politique de confidentialité.
comment ça marche, de bout en bout
1 · Sonder. mahout probe inventorie CPU, RAM et GPU — NVIDIA via NVML, AMD via rocm-smi, avec un repli lspci. Le pool ne route que du travail que votre machine peut réellement tenir : rien n'est promis que votre matériel ne sait pas faire.
2 · Enrôler. Vous générez un code de liaison à usage unique dans votre dashboard et lancez mahout up --code …. Une identité ed25519 est créée localement — la clé privée ne quitte jamais votre machine — et le code est échangé contre un token d'hôte. Les codes expirent après 15 minutes et sont stockés hachés de notre côté.
3 · Télécharger, vérifier, servir. Les poids des modèles et le moteur d'inférence sont téléchargés dans un cache adressé par contenu et contrôlés contre des empreintes SHA-256 épinglées avant que rien ne tourne. Un contrôle échoué interrompt — jamais de téléchargement silencieux. Puis mahout work interroge la gateway en HTTPS sortant simple : pas de port entrant, pas de redirection, fonctionne derrière n'importe quel NAT domestique.
4 · Benchmarker honnêtement. mahout bench lance un benchmark fixe mono-flux et émet une mesure signée (sur notre propre RX 7900 XTX : ~186 tokens/s de décodage sur un 1.5B quantisé). Le routage se fonde sur ce qui a été mesuré, pas sur ce qui a été déclaré.
5 · Être payé. Chaque job terminé produit un reçu CBOR signé avec votre clé d'hôte — modèle, comptes de tokens, temps, tarif. Vos gains sont la somme de vos reçus (mahout receipts verify les revérifie localement), vous gardez 80% des revenus des tokens, et les versements courent chaque mois par SEPA dès 50 €.
votre machine reste la vôtre
- Pause automatique. La boucle de travail détecte que vous utilisez la machine (indicateur d'inactivité systemd-logind) et se gare ; elle reprend quand vous vous éloignez. Soirée jeu ? mahout s'écarte tout seul.
- Gros bouton rouge.
mahout pausedraine les jobs en cours et cesse d'en accepter, instantanément. - Les prompts ne touchent jamais votre disque. Le contenu des jobs vit en RAM, est servi puis oublié. mahout journalise des comptes et des temps — jamais du texte.
- Sortie propre.
mahout uninstallaffiche un plan de suppression avec les tailles avant de toucher à rien, et les gains en attente sont quand même versés.
l'installer
Linux & Windows x86_64 aujourd'hui (macOS est sur la feuille de route — le code est portable, les adaptateurs moteur sont qualifiés plateforme par plateforme) :
curl -fsSL https://elephantpool.ai/install-mahout.sh | sh
# Windows (PowerShell)
irm https://elephantpool.ai/install-mahout.ps1 | iex
L'installeur vérifie l'empreinte SHA-256 du binaire avant d'installer, et rien ne tourne tant que vous ne le lancez pas. Vous préférez tout contrôler vous-même ?
curl -fsSLO https://elephantpool.ai/dl/mahout-linux-x86_64
curl -fsSL https://elephantpool.ai/dl/mahout-linux-x86_64.sha256 | sha256sum -c
Ensuite toute la surface quotidienne tient en cinq commandes : up, work, status, pause, uninstall — plus probe, bench, models et serve quand vous voulez regarder sous le capot. mahout serve fait même tourner un modèle entièrement hors ligne, sans compte.
contribuer
Le développement se fait au grand jour. Un bug sur un combo GPU/pilote exotique ? Ce rapport vaut de l'or — ouvrez une issue. Envie d'envoyer du code ? Fork, branche, merge request ; un mainteneur relit, fait atterrir sur la CI interne (qui a de vrais runners GPU), et le merge revient en miroir sur le dépôt public avec votre authorship intact. Trois portes gardent la base saine, et la CI les impose toutes :
cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
Le workspace fait dix petits crates (probe, bench, cache, runtime, net, policy, proto, update, core, CLI) — le README les cartographie, et AGENTS.md dit ce qui est réel et ce qui est stub, pour ne jamais chasser une fonctionnalité fantôme.
montez l'éléphant
Installez mahout, liez votre machine avec un code à usage unique, et regardez des gains adossés à des reçus s'accumuler dès le premier token servi.
Connecter votre GPU Open source · Apache-2.0 · NVIDIA & AMD · 80% des revenus des tokensRead next
a GPU died mid-sentence. the sentence finished.
Consumer hardware disappears without notice — someone sits down at their PC, a breaker trips, Wi-Fi drops. Our streams now survive that: another machine picks the answer up mid-word, and the dead segment is billed to nobody.
one model, every card: how a 27b runs on 8 gb
Qwen3.8 27B ships in five builds, from Q5_K_M on a 24 GB card down to IQ2_XXS on 8 GB. Why we split models from builds, what quantization actually costs, and how a quantized KV cache doubled our context overnight.