Test Needle 2 : un modèle de 14 Mo fait tourner un agent IA local sans GPU
Alors que toute l’industrie de l’IA poursuit des modèles géants de centaines de milliards de paramètres, une entreprise appelée Cactus Compute a pris le chemin exactement opposé — leur Needle 2 fraîchement publié est un modèle de seulement 45M de paramètres et 14 Mo, qui fait pourtant tourner un agent IA complet à 500 tokens par seconde sur un Raspberry Pi.
Ce n’est pas un concept de laboratoire. Needle 2 est déjà déployé commercialement dans la bague connectée Pebble Index 01.
Qu’est-ce que Needle 2 ?
Needle 2 est un modèle Agent Edge open-source développé par Cactus Compute. Il fait exactement trois choses :
- Appel d’outils (Tool Calling) : Mappe les instructions en langage naturel vers des appels de fonctions spécifiques
- Contrôle d’appareil (Device Use) : Exécute des séquences d’actions UI sur les appareils mobiles
- Extraction structurée (Structured Extraction) : Extrait des données structurées conformes à un schéma
En une phrase : Needle 2 n’est pas une « IA conversationnelle » — c’est une « IA d’action ».
Spécifications clés
| Métrique | Needle 2 | Détail |
|---|---|---|
| Paramètres | 45M | 45 millions de paramètres |
| Taille du modèle | 14 Mo | Fichier binaire unique |
| RAM d’exécution | 28 Mo | RAM de session maximale |
| GPU requis | Aucun | Inférence pure CPU |
| Quantification | CQ2-bit | Quantification 2-bit propriétaire |
| Vitesse décodage (RPi 5) | 500+ tok/s | CPU uniquement |
| Licence | MIT | Entièrement open source |
Architecture : Simple Attention Network
Les innovations clés :
1. Hadamard MLP remplace le FFN traditionnel — mélange de canaux pour un coût en paramètres quasi nul.
2. Système de mémoire Engram — Les connaissances sont dans des tables de n-grammes hachées, pas dans les poids du modèle.
3. Entraînement = Quantification — Needle 2 est entraîné en précision CQ2-bit du début à la fin. Le modèle 2-bit déployé EST le modèle entraîné.
Comparaison avec les modèles de même niveau
| Modèle | Paramètres | Taille | RAM | Tool Call | Device Use | Open Source |
|---|---|---|---|---|---|---|
| Needle 2 | 45M | 14 Mo | 28 Mo | ✅ | ✅ | MIT |
| FunctionGemma 270M | 270M | ~540 Mo | ~1 Go | ✅ | ❌ | ✅ |
| LFM2.5 230M | 230M | ~460 Mo | ~800 Mo | ✅ | ❌ | ✅ |
| Apple Foundation Model | Inconnu | ~centaines Mo | ~centaines Mo | ✅ | ✅ | ❌ |
Démarrage rapide
pip install cactus-needle
import needle
@needle.tool
def get_weather(city: str):
"""Obtenir la météo actuelle pour une ville."""
return {"city": city, "temp_c": 27, "sky": "clair"}
agent = needle.Needle(tools=[get_weather])
print(agent.run("Quel temps fait-il à Lagos ?")["results"])
Cas d’usage et limites
✅ Idéal pour
- Contrôle vocal domotique
- Appareils portables (montres, bagues)
- Appareils hors ligne nécessitant une inférence locale
- IoT (21 milliards+ d’appareils, la plupart < 100 Mo de RAM)
- IA dans le navigateur via WebAssembly
❌ Pas adapté pour
- Conversation ouverte
- Compréhension de longs documents
- Questions de connaissances générales
- Raisonnement complexe
Verdict
| Dimension | Note |
|---|---|
| Innovation technique | ⭐⭐⭐⭐⭐ |
| Utilité pratique | ⭐⭐⭐⭐ |
| Engagement open source | ⭐⭐⭐⭐⭐ |
| Rapport qualité-prix | ⭐⭐⭐⭐⭐ |
Needle 2 n’essaie pas de remplacer le grand modèle sur votre ordinateur — il donne aux appareils qui n’ont jamais eu d’IA la capacité d’être intelligents pour la première fois.
FAQ
Quelle est la différence entre Needle 2 et Needle 1 ?
Needle 2 passe de 26M à 45M paramètres, ajoute le contrôle d’appareil et l’extraction structurée, ainsi que la récupération d’outils et le gating de confiance.
Needle 2 peut-il fonctionner sur un téléphone ?
Oui. Sur les Samsung série A à moins de 200$, la vitesse de décodage est de 300-700 tok/s.
Needle 2 a-t-il besoin d’un GPU ?
Pas du tout. Inférence pure CPU, 500+ tok/s sur un Raspberry Pi 5.
Comment fine-tuner Needle 2 ?
Avec pip install cactus-needle, puis LoRA : préparer les données JSONL → needle finetune → needle build.
Que ne peut pas faire Needle 2 ?
Pas de conversation ouverte, pas de connaissances générales, pas de raisonnement complexe. C’est une « IA d’action », pas une « IA conversationnelle ».