Publié le 24 octobre 2024. Cactus, une startup issue du célèbre accélérateur Y Combinator, démocratise l’intelligence artificielle sur les appareils mobiles et embarqués en offrant une solution d’inférence locale performante et respectueuse de la vie privée.
- Cactus permet d’exécuter des modèles d’IA directement sur les smartphones, les montres connectées et autres appareils à faible consommation, sans dépendre d’une connexion réseau.
- La version bêta v1 du SDK améliore les performances sur les appareils moins puissants et propose une option de repli vers le cloud pour une fiabilité accrue.
- Le SDK est compatible avec plusieurs langages de programmation populaires, dont React Native, Flutter et Kotlin Multiplatform.
Cactus se distingue des solutions propriétaires d’Apple et de Google en adoptant une approche plus ouverte et flexible de l’inférence d’IA sur les appareils. Alors que les frameworks Foundation d’Apple et Google AI Edge sont limités à leurs plateformes respectives, Cactus prend en charge une large gamme de modèles, tels que Qwen, Gemma, Llama, DeepSeek, Phi et Mistral, et offre différents niveaux de quantification pour optimiser l’efficacité et les performances, allant du FP32 à la quantification 2 bits.
Un atout majeur de Cactus réside dans sa capacité à gérer les mises à jour des modèles d’IA sans nécessiter de nouvelles versions de l’application. Le SDK se charge du téléchargement, de la mise en cache et de la transition entre les différentes versions en arrière-plan.
« Cactus fournit une gestion de version de modèle intégrée et des mises à jour en direct. Vous pouvez proposer de nouvelles versions de modèle aux utilisateurs sans nécessiter de mises à jour de l’application. »
Cactus
Pour les tâches complexes ou nécessitant un contexte étendu, Cactus permet également de recourir à des modèles basés sur le cloud, garantissant ainsi une robustesse et une disponibilité élevées. Cette fonctionnalité répondait à une demande récurrente des utilisateurs de la version précédente (v0) qui avaient besoin de temps de réponse garantis pour des fonctionnalités essentielles.
La version v1 marque une refonte complète du moteur d’inférence, qui passe du format GGUF à un format propriétaire optimisé, intégrant des noyaux ARM-CPU pour améliorer les performances sur tous les appareils pris en charge. Les SDK ont également été entièrement reconstruits pour assurer une cohérence accrue des API entre les différents langages, tout en maintenant la compatibilité avec les versions antérieures dans la mesure du possible. De nouveaux systèmes de télémétrie et de surveillance ont été introduits.
« [Cela] donner[s] aux développeurs des informations granulaires sur les performances de leur modèle d’IA, leurs modèles d’utilisation et leurs opportunités d’optimisation potentielles. Cette approche basée sur les données permet aux équipes de prendre des décisions éclairées sur la sélection des modèles et les stratégies de déploiement. »
Cactus
Au-delà de l’inférence de modèles de langage (LLM), Cactus v1 prend désormais en charge les appels d’outils et la transcription vocale. Le SDK Flutter offre des outils de réglage fin pour la recherche d’informations augmentée (RAG), tandis que le SDK React Native permet l’intégration d’images. La feuille de route de Cactus prévoit d’étendre ces fonctionnalités à d’autres variantes du SDK, ainsi qu’à la synthèse vocale.
Pour illustrer les performances de Cactus sur différents appareils, la société a publié des tests de référence utilisant les modèles LFM2-VL-450m et Whisper-Small, mesurant des indicateurs tels que les jetons par seconde et les temps de pré-remplissage/décodage. Ces tests, utilisant la quantification INT8 et exploitant les unités de traitement neuronal (NPU), démontrent des performances en temps réel et une gestion efficace des contextes étendus. Les résultats montrent qu’un Mac M4 Pro atteint 173 jetons/seconde, un iPhone 17 Pro 136 jetons/seconde, un Galaxy S25 Ultra 91 jetons/seconde et un Raspberry Pi 5 24 jetons/seconde. Tests de référence détaillés.
En termes de taille, le plus petit modèle, gemma-3-270m-it, occupe 172 Mo et ne prend en charge que la complétion de texte. Qwen3-0.6B nécessite 394 Mo et prend en charge la complétion, les appels d’outils, l’intégration et la parole. À l’autre extrémité, Gemma-3-1b-it requiert 642 Mo, tandis que Qwen3-1.7B atteint 1 161 Mo.
Cactus met également à disposition des applications de chat pour iOS et Android, permettant aux développeurs de comparer la latence et le débit des différents LLM via le SDK Cactus.
Cactus est open source et gratuit pour les étudiants, les enseignants, les organisations à but non lucratif et les petites entreprises. Le code source est disponible sur GitHub.
À ne pas manquer
