Aiguille : Un modèle d'appel de fonctions de 26M paramètres fonctionnant à 6000 tok/s sur mobile

✍️ OpenClawRadar📅 Publié: May 12, 2026🔗 Source
Ad

Cactus a open-sourcé Needle, un modèle d'appel de fonction de 26M paramètres conçu pour fonctionner sur des téléphones, montres et lunettes économiques. Il atteint 6000 tok/s en pré-remplissage et 1200 tok/s en décodage sur des appareils grand public grâce à son moteur d'inférence personnalisé, Cactus.

Architecture : Simple Attention Networks

Needle utilise un Simple Attention Network — pas de MLP nulle part. Le modèle entier se compose de couches d'attention et de gating. Conception clé : d=512, 8H/4KV, BPE=8192, avec une structure encodeur-décodeur (12 couches encodeur, 8 couches décodeur) utilisant l'attention croisée, l'auto-attention masquée avec RoPE, et des embeddings liés.

Détails d'entraînement

  • Pré-entraîné sur 200B tokens avec 16 TPU v6e (27 heures)
  • Post-entraîné sur 2B tokens de données synthétisées d'appel de fonction (45 minutes)
  • Données synthétisées via Gemini avec 15 catégories d'outils (minuteries, messagerie, navigation, maison intelligente, etc.)

Résultats des benchmarks

Needle bat FunctionGemma-270M, Qwen-0.6B, Granite-350M et LFM2.5-350M sur l'appel de fonction en un seul tour. Cependant, ces modèles ont plus de portée/capacité et excellent dans les contextes conversationnels.

Ad

Démarrage rapide

git clone https://github.com/cactus-compute/needle.git
cd needle && source ./setup
needle playground

Ouvre une interface web à http://127.0.0.1:7860 pour tester et affiner vos propres outils.

Utilisation (Python)

from needle import SimpleAttentionNetwork, load_checkpoint, generate, get_tokenizer

params, config = load_checkpoint("checkpoints/needle.pkl") model = SimpleAttentionNetwork(config) tokenizer = get_tokenizer()

result = generate( model, params, tokenizer, query="Quel temps fait-il à San Francisco ?", tools='[{"name":"get_weather","parameters":{"location":"string"}}]', stream=False ) print(result)

[{"name":"get_weather","arguments":{"location":"San Francisco"}}]

Affinage local

# via playground (génère automatiquement des données via Gemini)

needle playground

ou fournissez vos propres données

needle finetune data.jsonl

Disponibilité

Les poids sont sur Hugging Face : Cactus-Compute/needle. Tout est sous licence MIT.

📖 Lire la source complète : HN AI Agents

Ad

👀 See Also

Sgai : Outil de développement logiciel multi-agent axé sur les objectifs
Tools

Sgai : Outil de développement logiciel multi-agent axé sur les objectifs

Sgai est un outil Go open-source qui coordonne des agents d'IA pour exécuter des objectifs logiciels définis dans des fichiers GOAL.md. Il décompose les objectifs en workflows DAG, exécute des tests pour les portes de validation, et fonctionne localement avec un tableau de bord web pour le suivi.

OpenClawRadar
Claude Code réimplémenté en open-source modifié pour la compatibilité avec les modèles locaux
Tools

Claude Code réimplémenté en open-source modifié pour la compatibilité avec les modèles locaux

Un développeur a corrigé la réimplémentation open-source de Claude Code pour la faire fonctionner avec Ollama et les modèles locaux en supprimant les dépendances clientes codées en dur d'Anthropic. L'interface CLI détecte maintenant automatiquement les fournisseurs à partir des noms de modèles et des variables d'environnement.

OpenClawRadar
OpenPlawd : Compétence OpenClaw pour la prise automatisée de notes de réunion Plaud
Tools

OpenPlawd : Compétence OpenClaw pour la prise automatisée de notes de réunion Plaud

OpenPlawd est une compétence OpenClaw qui traite automatiquement les enregistrements Plaud pour les transformer en comptes-rendus de réunion structurés au format HTML. Il interroge les comptes Plaud toutes les heures, effectue la transcription avec Whisper ou OpenAI, découpe les fichiers volumineux et génère des notes avec des points d'action via un agent OpenClaw.

OpenClawRadar
Mémoire persistante pour Claude : Stack local avec MCP, récupération en 39 ms, réduction de tokens de 82 %
Tools

Mémoire persistante pour Claude : Stack local avec MCP, récupération en 39 ms, réduction de tokens de 82 %

Un développeur a construit une couche mémoire persistante pour Claude en utilisant une recherche vectorielle locale (Qdrant + Qwen3) et une intégration MCP, atteignant 82 % de réduction de tokens, 39 ms de récupération à chaud, et la cristallisation des sessions via des nœuds L4.

OpenClawRadar