- Google AI Edge facilita a implantação de modelos de IA em dispositivos móveis, web e embarcados em geral
- Com um framework multiplataforma unificado, é possível executar o mesmo modelo em Android, iOS, web e ambientes embarcados
- Oferece compatibilidade com diversos frameworks de machine learning (JAX, Keras, PyTorch, TensorFlow)
- Fornece ferramentas avançadas de desenvolvimento, como visualização e depuração da conversão de modelos e construção de pipelines personalizados
- Permite usar ambientes de IA generativa on-device como o Gemini Nano nas plataformas Android e Chrome
Introdução ao Google AI Edge
- Google AI Edge é uma solução para implantação de IA on-device e multiplataforma
- É uma plataforma que permite implantar e executar modelos de IA com eficiência em várias plataformas, como aplicações móveis, web e ambientes embarcados.
Principais características
- Armazenamento no dispositivo: os dados permanecem localmente e de forma privada, reduzindo a latência e permitindo operação offline
- Suporte multiplataforma: é possível executar o mesmo modelo em Android, iOS, web e ambientes embarcados
- Compatibilidade com múltiplos frameworks: oferece compatibilidade com vários frameworks de machine learning, como JAX, Keras, PyTorch e TensorFlow
- Stack completa de IA de edge: integra suporte a frameworks flexíveis, soluções turnkey e aceleradores de hardware
Soluções prontas e frameworks flexíveis
APIs low-code para tarefas comuns de IA
- Oferece APIs multiplataforma low-code para lidar facilmente com tarefas comuns de IA, como IA generativa, visão, texto e áudio
- Como solução baseada em MediaPipe, permite início rápido e aplicação prática
Implantação multiplataforma de modelos personalizados
- Modelos de IA já treinados com JAX, Keras, PyTorch e TensorFlow podem ser executados com alto desempenho em Android, iOS, web e dispositivos embarcados
- Com suporte ao LiteRT, garante eficiência operacional e facilidade de implantação
Ferramentas de conversão e visualização de modelos
- Fornece recursos para visualizar o processo de conversão e quantização dos modelos
- Com sobreposição de benchmark de desempenho, é possível fazer depuração de hotspots em projetos de IA
Construção de pipelines de ML personalizados
- É possível encadear vários modelos de ML, incluindo lógica de pré-processamento e pós-processamento, para criar pipelines funcionais complexos
- Pipelines acelerados por GPU e NPU podem ser executados sem bloquear a CPU
Gemini Nano no Android e no Chrome
- Com o Gemini Nano, o mais recente modelo de IA generativa on-device do Google, é possível incorporar recursos de IA generativa a vários ambientes, como Android e Chrome
Conclusão
- Google AI Edge é uma opção poderosa para a implantação de tecnologias de IA distribuída e on-device.
- Com compatibilidade multiplataforma, suporte a diversos frameworks, ferramentas de produtividade para desenvolvimento e o mais recente ambiente de IA generativa, oferece uma experiência eficiente e robusta de adoção de IA para startups e para a comunidade de desenvolvedores de TI.
1 comentários
Comentários do Hacker News
Na minha opinião, a combinação de TensorFlow Lite com MediaPipe já foi excelente, mas dá a impressão de que foi quase abandonada pelo Google nos últimos 3 anos. O MediaPipe quase não recebeu atualizações significativas, e muitos dos modelos mais usados estão desatualizados ou são lentos. O TF Lite até tinha suporte a NPUs como a ANU da Apple, mas no MediaPipe isso nunca foi suportado. E ainda havia muita confusão de marca entre MLKit, Firebase ML, TF Lite e LiteRT. Hoje, acho melhor usar o
onnxruntimecom bibliotecas comohugging face transformersoutransformers.js, ou então esperar oexecutorchamadurecer. Quase nunca vi modelos SOTA recentes oficialmente portados para TensorFlow Lite / LiteRT (SAM2, EfficientSAM, EdgeSAM, DFINE, DEIM, Whisper, Lite-Whisper, Kokoro, DepthAnythingV2 etc.); basicamente tudo gira em torno de PyTorch, embora as comunidades de ONNX e MLX ainda sejam grandesEm https://github.com/google-ai-edge/gallery dá para ver uma galeria de casos de uso de ML/GenAI rodando diretamente no dispositivo. Dá para testar ou usar os modelos localmente ali mesmo
Acho bom existirem cada vez mais soluções para ML on-device. Ainda assim, tenho dúvidas se eu usaria isso espontaneamente, a não ser que fosse para um caso de uso específico meu. Também é difícil estimar a dificuldade de adicionar um modelo novo que receba entradas e saídas arbitrárias. Tenho usado ONNX para inferência entre dispositivos, e ONNX é realmente de baixo nível, então dá para aplicar praticamente qualquer peso que você quiser. Em muitos trabalhos, dá para encapsular o ONNX com
transformers.jse pular tarefas repetitivas como decodificação (sem precisar implementar beam search na mão). Um material mais abrangente, parecido com o guia citado acima, é https://github.com/huggingface/transformers.js-examples. As várias soluções que mencionei podem ser vistas em https://ai.google.dev/edge/mediapipe/solutions/guideIsso é TensorFlow Lite + MediaPipe reembalado como uma nova “marca”
Gostaria de saber se alguém aqui já usou essa solução. Passei bastante tempo sofrendo para exportar modelos PyTorch customizados para CoreML, com muita coisa sem suporte, segfaults interrompendo tudo e vários erros bobos. Seria bom se alguém me convencesse de que essa solução não é tão sofrida quanto isso
Testei isso pessoalmente e, pelo que vi, servia basicamente para reconstruir um modelo PyTorch puro como um modelo
.tflite. No meu caso, apliquei a um modelo finbert customizado, e o tamanho do modelo ficou praticamente igual. Converti uma versão quantizada, mas a saída ficou bem diferente. Pelo que lembro, a documentação era voltada para modelos PyTorch padrão, como os da famíliatorchvision.models. Então talvez funcione melhor para esse tipo de modelo. Vale dizer que isso foi há cerca de 1 ano, então talvez eu tenha tido a sorte de escapar antes de um grande patch de correção de bugsHá informações detalhadas aqui: https://ai.google.dev/edge/mediapipe/solutions/guide. E o link do open source é https://github.com/google-ai-edge/mediapipe. Pelo que vejo, isso é uma forma unificada de implantar modelos de IA que realmente rodam no dispositivo (na edge). Dá para imaginar uma posição meio “JavaScript da stack de IA”. Fico curioso sobre quem seria o público-alvo dessa tecnologia
Alguns modelos do MediaPipe são bem úteis, mas o próprio MediaPipe é uma tecnologia antiga, que existe desde por volta de 2019. Sempre foi focado em rodar IA na edge, especialmente visão computacional (por exemplo, rastreamento facial). Coisas como rastreamento facial ainda são úteis, mas em reconhecimento de imagem e afins o mundo mudou bastante
Acho que o público-alvo são pessoas que querem implantar modelos de ML de forma cross-platform. Especialmente quando é preciso dar suporte a código adicional que não se resolve apenas com o runtime do TFLite. Casos de uso como LLM ou visão computacional fazem sentido. Por exemplo, se você for implantar um reconhecedor de gestos com a mão, o processo acaba sendo algo complexo assim: pré-processar a imagem de entrada para um espaço de cor e tamanho específicos, copiar a imagem para a GPU, executar um modelo TFLite de detecção de mãos, redimensionar a saída, executar um modelo TFLite de reconhecimento de gestos e fazer o pós-processamento para gerar um resultado válido. Para implantar isso em iOS e Android, a quantidade de código auxiliar vai muito além de simplesmente executar TFLite. A abordagem escolhida pelo Google no MediaPipe foi empacotar esse tipo de pipeline e nós de processamento comuns como uma biblioteca em C++, da qual você usa só as partes necessárias. Essa biblioteca compila de forma cross-platform e também oferece opções de aceleração por GPU. Imagino que internamente o Google tenha discutido se expandia o runtime do TFLite para incluir isso ou se criava uma biblioteca separada como o MediaPipe. No fim, parece que a direção foi deixar o TFLite focado no “cálculo de tensores” em si e descarregar trabalhos mais amplos, como LLMs ou processamento de imagem, para uma biblioteca separada
Fico na dúvida se isso é um produto novo ou só uma página de marketing que reúne as tecnologias existentes do MediaPipe sob uma narrativa única. No começo fiquei bem animado, mas me confundi sobre o que exatamente é “Google AI Edge”. E, pesquisando, parece que isso é um rebranding de https://developers.googleblog.com/en/introducing-mediapipe-solutions-for-on-device-machine-learning/, lançado há uns 2 anos
Isso é uma solução alguns anos atrasada em relação ao que já é oferecido por frameworks como CoreML ou TimyML. E o Google primeiro precisa mostrar que não vai abandonar o produto logo de cara por causa do resultado trimestral seguinte
Na verdade, isso não está certo. Os dois produtos são completamente diferentes. O CoreML é restrito ao ecossistema da Apple: você pode converter um modelo PyTorch para CoreML (
.mlmodel) e executá-lo com os aceleradores do iOS/Mac. Já o Google Mediapipe é uma biblioteca enorme em C++ para rodar fluxos de ML de forma cross-platform (iOS/Android/web). Ele inclui o TensorFlow Lite (agora LiteRT) e também funciona como um processador de grafos para tarefas gerais de pré-processamento, como redimensionamento de imagem. Existe mesmo esse meme de que o Google abandona produtos cedo demais, mas o Mediapipe é open source, então pelo menos isso precisa ser reconhecido. Eu já construí um produto de visão computacional para iOS/Android usando um fork do Mediapipe; era bem complexo, mas funcionava bem. É uma solução cross-platform que o CoreML jamais conseguiria serO TensorFlow Lite já foi testado em dezenas de bilhões de dispositivos ao longo dos últimos anos. Vejo essa solução como o Mediapipe junto disso, reagrupado e rebatizado. O Google já investe seriamente em ML on-device há mais de 5 anos, então não parece algo que vá simplesmente matar de repente. Ainda assim, concordo que as mudanças frequentes de nome deixam tudo confuso
Será que a parte de IA generativa não é algo que falta no ecossistema da Apple? Se a Apple chegasse a algo como o que o Google está fazendo, seria uma mudança enorme. Pessoalmente, os recursos ligados a chat parecem bem úteis. E fico pensando: quando é que o Swift Assist vai sair?
Isso é só TensorFlow Lite com rebranding. Eu uso em edge devices desde 2019. CoreML também é ótimo
O CoreML surgiu porque a Apple viu o TensorFlow e decidiu criar algo parecido por conta própria, em vez de colaborar. O TF já existia havia 2 anos e era um framework bem-sucedido quando o CoreML foi anunciado. Até hoje, o CoreML na prática não passa de uma interface BLAS proprietária e não é amplamente usado na indústria. A visão de mundo de desenvolvedor iOS assusta
Também dá para fazer esse tipo de coisa com WebLLM