A tecnologia de IA está rapidamente mudando a forma como os dispositivos interagem com o mundo. Tradicionalmente, um programador precisa predeterminar como um sistema reagirá às diversas e imprevisíveis circunstâncias que podem surgir em cenários do mundo real. Com a IA, um modelo pode ser treinado de forma a capturar reações desejadas de tal maneira que o modelo possa fornecer de maneira confiável reações desejadas para circunstâncias que nunca foram antecipadas.
Um desafio para desenvolvedores novos em IA é personalizar uma implementação de IA para sua aplicação. A menos que uma aplicação específica tenha volume suficiente para justificar sua própria implementação de placa, as placas de IA disponíveis no mercado tendem a focar na eficácia de propósito geral. Elas terão recursos e interfaces que não são necessários para todas as aplicações, aumentando assim o custo desnecessariamente.
Por exemplo, kits de desenvolvimento como o Jetson Nano Developer Kit são uma ótima maneira de se familiarizar com a criação de uma implementação básica de IA. O Jetson Nano vem com uma variedade de interfaces, tornando-o direto para montar um sistema de teste em muito pouco tempo. O kit serve como um excelente ponto de partida para uma ampla gama de aplicações diversas, desde o processamento de sensores até análise de vídeo, processamento de som e além.
No entanto, uma vez que você entenda como construir um sistema de IA geral, você vai querer iniciar o desenvolvimento da sua aplicação usando um protótipo que se assemelhe o máximo possível ao hardware de produção final. Isso é particularmente importante quando se leva a IA para a borda.
O custo, a disponibilidade e a escalabilidade das GPUs na nuvem são extremamente flexíveis. Se você não estiver obtendo a resposta que precisa ou descobrir que seu modelo precisa de mais dados do que originalmente pensado para processar efetivamente, você pode facilmente alocar mais recursos na nuvem.
Não é assim na borda. Na borda, você precisa determinar a mistura ótima de recursos se quiser equilibrar custo, desempenho e precisão. Idealmente, você precisa de um sistema que reduza facilmente sem forçar mudanças extensivas de hardware como resultado.
Note que componentes como sensores, câmeras, interfaces, memória e MCUs que compõem o resto da aplicação impactam a facilidade de design também. Isso ocorre porque, em algum momento, você precisa integrar seu sistema de IA com o resto da aplicação.
Considere as mudanças em cascata necessárias se você descobrir que precisa aumentar o tamanho da imagem de vídeo para alcançar o que deseja. O modelo de IA agora tem que trabalhar com uma imagem de tamanho diferente, alterando completamente o desempenho e os requisitos de memória de todo o sistema. Além disso, você precisará integrar uma nova câmera de forma harmoniosa com seu firmware existente, esperando evitar a necessidade de reescrever o firmware. Equilibrar e depois otimizar essa nova combinação de recursos também levará tempo. Agora imagine que você precisa adicionar uma segunda câmera e aumentar a taxa de quadros efetiva.
Esta etapa de integração pode ser extremamente demorada e frustrante se você tiver que fazê-la manualmente. Por exemplo, drivers de câmera, mesmo do mesmo fornecedor, muitas vezes não são intercambiáveis; você ainda precisará fazer testes extensivos para confirmar que o novo driver funciona exatamente como o anterior.
Uma abordagem de plataforma personalizada para design como Geppetto pode reduzir tremendamente o seu tempo de desenvolvimento. Com o Geppetto, você pode arrastar e soltar blocos de funcionalidade comprovados no seu circuito personalizado. Para aplicações de IA, você pode começar com o Jetson Nano e remover qualquer funcionalidade que não precise. Em seguida, pode adicionar sensores, interfaces, processadores e outros circuitos de extensas bibliotecas de módulos para construir um módulo personalizado otimizado para a sua aplicação.
Uma vantagem chave dessa abordagem é que você pode produzir algumas placas de forma custo-efetiva para o desenvolvimento e testes iniciais. Se determinar que precisa de mais processamento – ou menos – você pode facilmente ajustar seu design sem ter que projetar um sistema completamente novo.
Além disso, sua placa personalizada vem com sistema operacional e drivers pré-integrados. Você não precisa fazer todos os componentes trabalharem juntos porque nós já fizemos isso por você.
A tecnologia de IA está verdadeiramente a apenas alguns cliques de distância. Visite Gumstix para saber mais.