Um novo tutorial mostra como executar modelos de linguagem grandes e modelos de visão-linguagem localmente no microcontrolador Arduino UNO Q. Marc Pous da Edge Impulse delineou passos usando a ferramenta yzma para habilitar inferência de IA offline no ambiente Linux da placa. Esta abordagem permite aplicações focadas em privacidade em computação de borda.
O Arduino UNO Q, introduzido nos últimos meses, gerou opiniões variadas entre os usuários. Alguns apreciam seu poder computacional aumentado e capacidade de executar Linux, enquanto outros veem o ambiente App Lab como confuso e restritivo. Diferente das placas Arduino anteriores, o UNO Q possui um coprocessador STM32H5, tornando-o adequado para projetos complexos além de tarefas básicas como piscar um LED. nnEm um tutorial publicado no Hackster.io, o engenheiro da Edge Impulse Marc Pous demonstra a execução de modelos de linguagem grandes de alto desempenho (LLMs) e modelos de visão-linguagem (VLMs) diretamente no UNO Q. O guia utiliza yzma, um wrapper Go para llama.cpp desenvolvido por Ron Evans, conhecido por projetos como Gobot e TinyGo. O yzma simplifica a integração de inferência de IA em aplicações Go, evitando ligações CGo complexas, e opera no sistema Linux baseado em Debian da placa. nnOs usuários seguem passos para instalar Go no UNO Q, configurar yzma e baixar modelos GGUF compatíveis do Hugging Face. Para tarefas baseadas em texto, Pous usa o modelo SmolLM2-135M-Instruct, que tem cerca de 135 milhões de parâmetros. A quantização e a eficiência do llama.cpp permitem que ele rode em hardware baseado em Arm, suportando interações de chat totalmente offline. nnO tutorial se estende a capacidades multimodais com o modelo SmolVLM2-500M-Video-Instruct, com cerca de 500 milhões de parâmetros. Este modelo processa imagens e vídeos curtos junto com texto. Em um exemplo, o UNO Q analisa uma foto de marcadores em uma mesa e produz uma descrição detalhada sem conectividade em nuvem. nnTal execução local de IA suporta sistemas de borda conscientes da privacidade, combinando controle de microcontrolador com IA para aplicações em robótica e casas inteligentes. Desenvolvedores podem interpretar imagens, lidar com comandos de voz ou processar dados de sensores no dispositivo, abrindo possibilidades para designs inovadores.