>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Python

Como integrar IA em óculos inteligentes sem enlouquecer com o lag

Imagine que você está construindo software para óculos inteligentes ou um smartwatch. Você precisa que o dispositivo entenda comandos de voz: "desligue as luzes", "como vai estar o tempo amanhã em São Petersburgo?" ou "reserve uma mesa." Geralmente, você chamaria APIs de modelos de linguagem grandes como Gemini ou GPT-4. Mas então os problemas começam: alguns segundos de latência destroem toda a experiência do usuário, e as contas de tokens crescem mais rápido do que sua base de usuários.

A equipe da Cactus Compute decidiu seguir uma abordagem diferente. Eles pegaram o conhecimento do massivo Gemini 1.5 e "transferiram" para um modelo minúsculo chamado Needle, que tem apenas 26 milhões de parâmetros. Para comparação: isso é centenas de vezes menor que os "pequenos" populares como Llama-3-8B ou até Qwen-0.5B.

Logo

O que esse modelo minúsculo pode fazer

Needle não é um chatbot que vai discutir o sentido da vida com você. É uma ferramenta de propósito específico para Function Calling. Ele recebe um pedido do usuário em linguagem natural e o transforma em JSON estruturado que seu código pode entender.

O principal recurso aqui é a velocidade. Na própria infraestrutura deles, o modelo entrega impressionantes 6.000 tokens por segundo no prefill e 1.200 na geração. Mas mesmo se você executá-lo localmente em um MacBook comum, ele funciona praticamente instantaneamente.

Aqui estão algumas coisas que tornam o Needle um projeto interessante:

  • O modelo foi treinado em 200 bilhões de tokens. Isso é uma quantidade séria para o seu tamanho.
  • É otimizado para computação de borda — celulares, wearables e dispositivos IoT.
  • Ele vem com um Playground conveniente onde você pode fazer fine-tuning do modelo para suas ferramentas específicas em apenas alguns cliques.

Como funciona por dentro

A arquitetura é chamada de Simple Attention Network. Se você olhar o diagrama que os autores deixaram no repositório, pode ver uma solução bastante elegante.

O modelo consiste em um encoder de 12 camadas e um decoder de 8 camadas. Curiosamente, o encoder não tem redes Feed-Forward tradicionais (FFN) — ele só tem Self-Attention e conexões Gated Residual. Isso economiza muita memória e recursos computacionais. Os pesos de embedding e a camada linear de saída são compartilhados, o que também é um truque padrão para reduzir o tamanho do modelo sem perder qualidade.

Os autores dizem honestamente: Needle é um experimento. Ele supera o FunctionGemma-270m e o Qwen-0.6B em tarefas de chamada de função, mas fica atrás em conversas normais. Modelos pequenos têm pouca "memória" do mundo, então é fácil confundi-los com uma pergunta complexa fora do assunto.

Início rápido e fine-tuning

Implantar o projeto é extremamente simples. Após clonar o repositório e executar o script de configuração, o comando needle playground abre a interface web. Lá você pode testar imediatamente o modelo com seus próprios exemplos.

Se você precisa embedar o Needle em um projeto Python, o código parece familiar:

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="Сколько градусов сейчас в Сочи?",
    tools='[{"name":"get_weather","description":"Узнать погоду в городе.","parameters":{"location":{"type":"string","description":"Название города."}}}]'
)
print(result)
# [{"name":"get_weather","arguments":{"location":"Сочи"}}]

A coisa mais valiosa é a simplicidade do fine-tuning. Se você tem APIs específicas, pode "treinar" o Needle nelas. Os autores recomendam preparar pelo menos 120 exemplos por ferramenta para evitar overfitting. O repositório até tem um script para gerar esses dados usando o "mais antigo" Gemini.

Quem deveria experimentar

Eu vejo o Needle em projetos onde privacidade e operação offline são críticas. Por exemplo, em um sistema de casa inteligente que não deveria enviar suas conversas para a nuvem, ou em um aplicativo móvel para controlar uma interface complexa com sua voz.

Claro, 26 milhões de parâmetros impõem limitações. Você não poderá pedir para ele escrever uma redação ou traduzir textos técnicos complexos. Mas se sua tarefa é entender o que o usuário quer quando ele diz "abaixe isso" ou "agende uma reunião para quinta-feira", o Needle vai lidar com isso mais rápido e mais barato do que qualquer outro modelo.

O projeto é open source, os pesos estão no Hugging Face, e a licença MIT permite que você use em produtos comerciais. Se você estava procurando uma forma de adicionar IA a um microcontrolador ou um celular antigo — este é um ótimo candidato para testar.

Projetos relacionados