stamatios
← Voltar ao feed
Needle 2: LLM agêntico de 14 MB para dispositivos minúsculos
IA & Modelos · Hardware & Chips

Needle 2: LLM agêntico de 14 MB para dispositivos minúsculos

resumo de ~3 min

O modelo

A Cactus lançou o Needle 2, um LLM agêntico aberto de 45 milhões de parâmetros, distribuído como um binário único de 14 MB e projetado para rodar em dispositivos pequenos. O modelo ocupa cerca de 28 MB de RAM por sessão e foi criado para três tarefas principais: chamada de ferramentas, controle de dispositivos e extração estruturada de dados.

Ele é baseado na arquitetura Simple Attention Network e usa compressão CQ2-bit via Cactus Quants. Diferente de quantização feita depois do treino, o Needle 2 é treinado desde o início já nesse formato de 2 bits, o que permite reduzir o tamanho sem perda relevante de qualidade segundo a empresa.

Desempenho e dispositivos-alvo

O Needle 2 alcança 500 tokens/s de decode em um Raspberry Pi 5, entre 400 e 1.500 tokens/s em dispositivos como Meta Quest 3S e Apple Vision Pro, e entre 300 e 700 tokens/s em celulares abaixo de US$ 200, como a linha Samsung A. Com RAM máxima de sessão em torno de 28 MB, ele também roda em microcontroladores mais recentes, como o ESP32-S3.

A aposta da Cactus é levar IA local para hardware barato: a empresa afirma que há mais de 21 bilhões de dispositivos IoT conectados contra cerca de 1,5 bilhão de PCs, e que a maior parte dos dispositivos de borda custa menos de US$ 200. A ideia é que acionar uma luz, controlar um robô ou preencher um formulário não exige um modelo de fronteira, apenas mapear linguagem natural para funções com parâmetros tipados.

Como funciona

O modelo responde sempre com um envelope de chamada; uma chamada vazia funciona como recusa. Uma gramática em nível de byte, compilada a partir dos schemas declarados, restringe cada token gerado, deixando os 45 milhões de parâmetros concentrados em escolher funções e preencher argumentos.

Cada resposta inclui um score de confiança aprendido. Se a confiança estiver acima do limite definido, o dispositivo executa a ação localmente; se estiver abaixo, pode reconfirmar ou escalar para a nuvem. A janela de atenção é de 256 tokens, o que mantém o cache de KV limitado e evita crescimento de memória conforme a conversa avança. O system prompt e as declarações de ferramentas ficam fixos como “sinks” permanentes, para que o modelo nunca esqueça as ferramentas disponíveis.

Arquitetura e eficiência

O Needle 2 foi pré-treinado em um corpus proprietário de 115 bilhões de tokens e pós-treinado em 38 bilhões de tokens. Para comparação, o LFM2.5-230M foi pré-treinado em cerca de 19 trilhões de tokens, aproximadamente 120 vezes mais.

A arquitetura reduz custo computacional: um transformador convencional com a mesma largura e profundidade gastaria 164 MFLOPs por token; um equivalente comprimido para o mesmo número de parâmetros, 87 MFLOPs; o Needle 2 gasta 70 MFLOPs por token. A Cactus afirma que ele consome de 7 a 85 vezes menos FLOPs por token do que modelos comparados.

O motor de inferência não descomprime os pesos para RAM: os códigos de 2 bits são expandidos dentro de registradores vetoriais e combinados em produtos escalares inteiros, mantendo o caminho aritmético em int8. A gramática também otimiza o cálculo, pois o motor conhece os tokens legais antes dos logits e pula até 98% da projeção de vocabulário em tokens estruturais. Um único binário seleciona kernels conforme a CPU na inicialização, com suporte a SDOT, NEON, AVX2, vetores RISC-V, SIMD em WebAssembly e modo escalar.

Benchmarks

A avaliação usou correspondência exata estrita ordenada em cinco benchmarks públicos: Mobile Actions, DroidCall, Seal-Tools in-domain e out-of-domain, e BFCL v4 single-turn.

No Google Mobile Actions, o Needle 2 obteve 63,7% de precisão, atrás do LFM2.5 230M (69,1%) e à frente do FunctionGemma 270M (64,0%) e do Apple FM (57,6%). Teve a melhor precisão de nome de função: 98,3%.

No DroidCall, ficou com 17,0%, praticamente empatado com FunctionGemma (17,5%) e acima do LFM2.5 (11,0%). No Seal-Tools in-domain, liderou com 32,6%; no out-of-domain, 28,7%, também à frente dos concorrentes citados.

No BFCL v4, o resultado geral foi 42,6%, atrás de Apple FM (61,7%), LFM2.5 (60,8%) e FunctionGemma (46,1%). A empresa explica que o Needle 2 não foi treinado para function calling geral, mas para ações de dispositivos de consumo; mesmo assim, em chamadas simples em Python ficou a menos de um ponto do FunctionGemma.

Uso em produção

O modelo está sob licença Apache 2.0, com pesos no Hugging Face e repositório disponível. A Pebble usa o Needle localmente no aplicativo Index 01 para converter pedidos falados em ações sem depender de conexão com a internet. O fundador da Pebble, Eric Migicovsky, afirmou que o Index Ring não tem tela e precisa responder sempre, com ou sem internet, e que o modelo tem footprint pequeno e desempenho confiável.