CACTUS : l’IA qui s’exécute sur votre téléphone, et bascule dans le cloud quand c’est trop compliqué
📌 CACTUS est un moteur d’inférence IA hybride, open source, qui exécute la transcription vocale, la vision et les modèles de texte directement sur smartphone ou laptop — et délègue au cloud uniquement quand l’audio est trop bruyant ou la requête trop complexe.
L’idée est séduisante sur le papier. Dans la pratique, elle change concrètement la façon dont on peut intégrer de l’IA dans une application mobile. Au lieu de tout envoyer vers un serveur distant — avec la latence, le coût et les questions de confidentialité que ça implique — CACTUS garde l’essentiel du traitement sur l’appareil. Le routeur hybride surveille la qualité de l’audio ou la complexité de la requête en temps réel. Si le signal est clair, tout reste local. Si le bruit ambiant rend la transcription risquée, la requête part vers le cloud. Votre application ne voit aucune différence.
Ce que ça donne en pratique
J’ai regardé les benchmarks publiés. Sur un iPhone 15 Pro, CACTUS atteint 25 tokens par seconde en décodage LLM avec un modèle Gemma-4 quantifié à 4 bits. La transcription vocale traite 20 secondes d’audio en 1,4 seconde. Sur un Mac M4 Pro, on passe à 97 tokens par seconde. Ce ne sont pas des chiffres théoriques : le moteur tourne réellement sur ces appareils avec une empreinte RAM autour de 600 à 700 Mo.
La quantification CQ4 mérite qu’on s’y attarde. C’est une technique maison qui réduit les poids des modèles à 4 bits tout en préservant une qualité proche du FP16. Sur Gemma-4-E2B, l’écart sur MMLU est de moins de 3 points. Sur les benchmarks de tool calling, la différence est négligeable. C’est ce qui rend le tout viable sur un téléphone sans sacrifier l’intelligence du modèle.
Un SDK qui couvre beaucoup de terrain
CACTUS fournit des bindings pour Swift, Kotlin, Flutter, React Native, Python et Rust. Le moteur expose des APIs compatibles OpenAI pour le chat, la transcription, la vision, les embeddings et même le RAG. Il y a aussi un transpiler Python qui convertit n’importe quel modèle PyTorch vers le format Cactus. C’est ambitieux comme couverture.
Le projet est open source, avec plus de 5 500 étoiles sur GitHub et 869 commits. L’équipe vient de Y Combinator, Oxford, Google, Salesforce et d’autres boîtes sérieuses. Ils ont aussi sorti Needle, un modèle de 26 millions de paramètres spécialisé dans le tool calling, distillé à partir de Gemini.
Ce que j’en pense
Ce qui me plaît, c’est que CACTUS ne fait pas semblant de remplacer le cloud. Il reconnaît honnêtement que certains cas — audio bruyant, requêtes complexes — méritent un modèle plus gros. Le routeur hybride n’est pas un gadget marketing, c’est une vraie architecture technique qui optimise le coût et la latence sans mentir sur les capacités du on-device.
La confidentialité aussi est traitée de façon pragmatique. Pour les applications sensibles, on peut forcer le mode on-device uniquement. Les données audio ne quittent jamais le téléphone. C’est HIPAA-friendly et GDPR-compatible, mais sans le discours alarmiste qu’on voit parfois.
L’installation est réduite à deux commandes : brew install cactus-compute/cactus/cactus puis cactus run. Pas de configuration, pas de compte obligatoire pour commencer. Le forfait gratuit existe, et les tarifs semblent proportionnels à l’usage réel du cloud.
Je trouve l’approche mature pour un projet qui a à peine un an. Si vous développez une app mobile qui a besoin de transcription vocale ou de modèles de langage, CACTUS mérite un test sérieux.
- 📱 Transcription vocale en temps réel sur appareil, bascule cloud automatique
- ⚡ Moins de 120ms de latence en mode on-device
- 💰 5x d’économies par rapport à un cloud-only
- 🔓 Open source, audit complet du code côté appareil
- 🛠️ Bindings Swift, Kotlin, Flutter, React Native, Python, Rust
- 🧠 Needle : modèle de 26M de paramètres pour le tool calling
