Encontre a solução de IA/ML certa para seu app

Este guia foi criado para ajudar você a integrar as soluções de inteligência artificial generativa e machine learning (IA/ML) do Google aos seus aplicativos. Ele oferece orientações para navegar pelas várias soluções de inteligência artificial e machine learning disponíveis e escolher a que melhor se adapta às suas necessidades. O objetivo deste documento é ajudar você a determinar qual ferramenta usar e por que, focando nas suas necessidades e casos de uso.

Para ajudar você a selecionar a solução de IA/ML mais adequada para seus requisitos específicos, este documento inclui um guia de soluções. Ao responder a uma série de perguntas sobre as metas e restrições do projeto, o guia direciona você para as ferramentas e tecnologias mais adequadas.

Este guia ajuda você a escolher a melhor solução de IA para seu app. Considere estes fatores: o tipo de dados (texto, imagens, áudio, vídeo), a complexidade da tarefa (resumo simples a tarefas complexas que exigem conhecimento especializado) e o tamanho dos dados (entradas curtas versus documentos grandes). Isso vai ajudar você a decidir se usa o Gemini Nano no seu dispositivo ou a IA baseada na nuvem do Firebase (Gemini Flash, Gemini Pro ou Imagen).

Fluxograma de decisão para casos de uso da IA generativa. Os critérios incluem Modalidade
           (texto, imagem versus áudio, vídeo, geração de imagem), Complexidade
           (resumir, reescrever versus conhecimento de domínio) e Janela de contexto
           (entrada/saída curta versus documentos/mídia extensos), levando à
           IA generativa no dispositivo (Gemini Nano) ou à lógica de IA do Firebase (Gemini
           Flash, Pro, Imagen).
Figura 1: esta ilustração representa um guia de soluções de alto nível para ajudar você a encontrar a solução de IA/ML certa para seu app Android. Para um detalhamento mais detalhado das opções de IA e ML, consulte o guia de soluções mais adiante neste documento.

Aproveite o poder da inferência no dispositivo

Ao adicionar recursos de IA e ML ao seu app Android, você pode escolher diferentes maneiras de acessá-los, no dispositivo ou usando a nuvem.

As soluções no dispositivo, como o Gemini Nano, oferecem resultados sem custo extra, melhorando a privacidade do usuário e oferecendo funcionalidade off-line confiável, porque os dados de entrada são processados localmente. Esses benefícios podem ser essenciais para determinados casos de uso, como a síntese de mensagens, tornando o dispositivo uma prioridade ao escolher as soluções certas.

O Gemini Nano permite executar a inferência diretamente em um dispositivo Android. Se você estiver trabalhando com texto ou imagens, comece com as APIs GenAI do kit de ML para soluções prontas. As APIs GenAI do Kit de ML são alimentadas pelo Gemini Nano e ajustadas para tarefas específicas no dispositivo. As APIs de IA generativa do Kit de ML são um caminho ideal para a produção dos seus apps devido à interface de nível superior e à escalonabilidade. Essas APIs permitem implementar casos de uso para resumir, revisar e reescrever texto, além de gerar descrições de imagens.

Para ir além dos casos de uso fundamentais fornecidos pelas APIs de IA generativa do Kit de ML, considere o acesso experimental ao Gemini Nano. O acesso experimental do Gemini Nano oferece acesso mais direto a comandos personalizados com o Gemini Nano.

Para tarefas tradicionais de machine learning, você tem a flexibilidade de implementar seus próprios modelos personalizados. Oferecemos ferramentas robustas, como o ML Kit, o MediaPipe, o LiteRT e os recursos de envio do Google Play para simplificar seu processo de desenvolvimento.

Para aplicativos que exigem soluções altamente especializadas, use seu próprio modelo personalizado, como o Gemma ou outro modelo adaptado ao seu caso de uso específico. Execute seu modelo diretamente no dispositivo do usuário com o LiteRT, que fornece arquiteturas de modelo pré-projetadas para otimizar o desempenho.

Você também pode considerar criar uma solução híbrida usando modelos no dispositivo e na nuvem.

Os apps para dispositivos móveis geralmente usam modelos locais para dados de texto pequenos, como conversas de chat ou artigos de blog. No entanto, para fontes de dados maiores (como PDFs) ou quando mais conhecimento é necessário, uma solução baseada na nuvem com modelos Gemini mais poderosos pode ser necessária.

Integrar modelos avançados do Gemini

Os desenvolvedores do Android podem integrar os recursos avançados de IA generativa do Google, incluindo os modelos Gemini Pro, Gemini Flash e Imagen, aos apps usando o SDK da Firebase AI Logic. Esse SDK foi desenvolvido para necessidades de dados maiores e oferece recursos e adaptabilidade expandidos, permitindo o acesso a esses modelos de IA multimodais de alto desempenho.

Com o SDK da lógica de IA do Firebase, os desenvolvedores podem fazer chamadas do lado do cliente para os modelos de IA do Google com o mínimo de esforço. Esses modelos, como o Gemini Pro e o Gemini Flash, executam inferências na nuvem e permitem que apps Android processem uma variedade de entradas, incluindo imagens, áudio, vídeo e texto. O Gemini Pro se destaca em raciocinar sobre problemas complexos e analisar dados extensos, enquanto a série Gemini Flash oferece velocidade superior e uma janela de contexto grande o suficiente para a maioria das tarefas.

Quando usar o aprendizado de máquina tradicional

Embora a IA generativa seja útil para criar e editar conteúdo como texto, imagens e código, muitos problemas do mundo real são resolvidos melhor usando técnicas tradicionais de aprendizado de máquina (ML). Esses métodos estabelecidos se destacam em tarefas que envolvem previsão, classificação, detecção e compreensão de padrões nos dados atuais, muitas vezes com maior eficiência, menor custo computacional e implementação mais simples do que os modelos generativos.

Os frameworks tradicionais de ML oferecem soluções robustas, otimizadas e, muitas vezes, mais práticas para aplicativos focados em analisar entradas, identificar recursos ou fazer previsões com base em padrões aprendidos, em vez de gerar saídas completamente novas. Ferramentas como o ML Kit, o LiteRT e o MediaPipe do Google oferecem recursos poderosos adaptados para esses casos de uso não generativos, principalmente em ambientes de computação móvel e de borda.

Comece a integração de aprendizado de máquina com o Kit de ML

O Kit de ML oferece soluções otimizadas para dispositivos móveis e prontas para produção para tarefas comuns de machine learning, sem a necessidade de experiência em ML. Esse SDK para dispositivos móveis fácil de usar traz a experiência em ML do Google diretamente para seus apps Android e iOS, permitindo que você se concentre no desenvolvimento de recursos em vez de treinamento e otimização de modelos. O Kit de ML oferece APIs predefinidas e modelos prontos para uso em recursos como leitura de código de barras, reconhecimento de texto (OCR), detecção facial, rotulagem de imagens, detecção e rastreamento de objetos, identificação de idiomas e resposta inteligente.

Esses modelos geralmente são otimizados para execução no dispositivo, garantindo baixa latência, funcionalidade off-line e privacidade aprimorada do usuário, já que os dados geralmente permanecem no dispositivo. Escolha o Kit de ML para adicionar rapidamente recursos de ML estabelecidos ao seu app para dispositivos móveis sem precisar treinar modelos ou gerar saídas. É ideal para melhorar apps de maneira eficiente com recursos "inteligentes" usando modelos otimizados do Google ou implantando modelos personalizados do TensorFlow Lite.

Comece a usar nossos guias e documentação abrangentes no site do desenvolvedor do ML Kit.

Implantação de ML personalizada com o LiteRT

Para ter mais controle ou implantar seus próprios modelos de ML, use uma pilha de ML personalizada criada com o LiteRT e os serviços do Google Play. Essa pilha fornece os recursos essenciais para implantar recursos de ML de alto desempenho. O LiteRT é um kit de ferramentas otimizado para executar modelos do TensorFlow de maneira eficiente em dispositivos móveis, incorporados e de borda com recursos limitados, permitindo que você execute modelos significativamente menores e mais rápidos que consomem menos memória, energia e armazenamento. O ambiente de execução do LiteRT é altamente otimizado para vários aceleradores de hardware (GPUs, DSPs, NPUs) em dispositivos de borda, permitindo inferência de baixa latência.

Escolha o LiteRT quando precisar implantar de maneira eficiente modelos de ML treinados (geralmente para classificação, regressão ou detecção) em dispositivos com capacidade computacional ou de bateria limitada, como smartphones, dispositivos de IoT ou microcontroladores. É a solução preferida para implantar modelos preditivos personalizados ou padrão na borda, onde a velocidade e a conservação de recursos são essenciais.

Saiba mais sobre a implantação de ML com o LiteRT.

Crie percepção em tempo real nos seus apps com o MediaPipe

O MediaPipe oferece soluções de aprendizado de máquina personalizáveis, de código aberto e multiplataforma projetadas para mídia ao vivo e em streaming. Aproveite as ferramentas otimizadas e pré-criadas para tarefas complexas, como rastreamento de mãos, estimativa de pose, detecção de malha facial e detecção de objetos, que permitem interação de alto desempenho em tempo real, mesmo em dispositivos móveis.

Os pipelines baseados em gráfico do MediaPipe são altamente personalizáveis, permitindo que você adapte soluções para aplicativos Android, iOS, Web, desktop e back-end. Escolha o MediaPipe quando o app precisar entender e reagir instantaneamente a dados de sensores em tempo real, principalmente transmissões de vídeo, para casos de uso como reconhecimento de gestos, efeitos de RA, rastreamento de condicionamento físico ou controle de avatar, todos focados em analisar e interpretar a entrada.

Conheça as soluções e comece a criar com o MediaPipe.

Escolher uma abordagem: no dispositivo ou na nuvem

Ao integrar recursos de IA/ML ao seu app Android, uma decisão inicial crucial é se você vai realizar o processamento diretamente no dispositivo do usuário ou na nuvem. Ferramentas como o Kit de ML, o Gemini Nano e o TensorFlow Lite ativam recursos no dispositivo, enquanto as APIs Gemini Cloud com a lógica de IA do Firebase podem oferecer um processamento poderoso baseado na nuvem. Fazer a escolha certa depende de vários fatores específicos do seu caso de uso e das necessidades do usuário.

Considere os seguintes aspectos para orientar sua decisão:

  • Conectividade e funcionalidade off-line: se o app precisar funcionar de forma confiável sem uma conexão de Internet, as soluções no dispositivo, como o Gemini Nano, são ideais. Por natureza, o processamento baseado na nuvem requer acesso à rede.
  • Privacidade de dados: para casos de uso em que os dados do usuário precisam permanecer no dispositivo por motivos de privacidade, o processamento no dispositivo oferece uma vantagem distinta, mantendo informações sensíveis localmente.
  • Capacidades do modelo e complexidade da tarefa: os modelos baseados na nuvem geralmente são significativamente maiores, mais poderosos e atualizados com mais frequência, o que os torna adequados para tarefas de IA altamente complexas ou ao processar entradas maiores em que a qualidade de saída mais alta e os recursos amplos são essenciais. Tarefas mais simples podem ser bem gerenciadas por modelos no dispositivo.
  • Considerações sobre custos: as APIs Cloud geralmente envolvem preços com base no uso, o que significa que os custos podem ser escalonados com o número de inferências ou a quantidade de dados processados. A inferência no dispositivo, embora geralmente não tenha cobranças diretas por uso, incorre em custos de desenvolvimento e pode afetar recursos do dispositivo, como a duração da bateria e o desempenho geral.
  • Recursos do dispositivo: os modelos no dispositivo consomem espaço de armazenamento no dispositivo do usuário. Também é importante conhecer a compatibilidade de modelos específicos, como o Gemini Nano, para garantir que o público-alvo possa usar os recursos.
  • Ajuste fino e personalização: se você precisar ajustar modelos para seu caso de uso específico, as soluções baseadas na nuvem geralmente oferecem maior flexibilidade e opções mais amplas de personalização.
  • Consistência entre plataformas: se os recursos de IA consistentes em várias plataformas, incluindo o iOS, forem essenciais, tenha em mente que algumas soluções no dispositivo, como o Gemini Nano, talvez ainda não estejam disponíveis em todos os sistemas operacionais.

Ao considerar cuidadosamente os requisitos do caso de uso e as opções disponíveis, você pode encontrar a solução de IA/ML perfeita para aprimorar seu app Android e oferecer experiências inteligentes e personalizadas aos usuários.


Guia de soluções de IA/ML

Este guia de soluções pode ajudar você a identificar as ferramentas de desenvolvedor adequadas para integrar tecnologias de IA/ML aos seus projetos do Android.

Qual é o objetivo principal do recurso de IA?

  • A) Gerar novo conteúdo (texto, descrições de imagens) ou realizar processamento de texto simples (resumo, revisão ou reescrita de texto)? → Acesse IA generativa
  • B) Analisar dados/entradas atuais para previsão, classificação, detecção, compreensão de padrões ou processamento de streams em tempo real (como vídeo/áudio)? → Acesse ML tradicional e percepção

ML tradicional e percepção

É necessário analisar a entrada, identificar recursos ou fazer previsões com base em padrões aprendidos, em vez de gerar uma saída totalmente nova.

Que tarefa específica você está realizando?

  • A) Precisa de integração rápida de recursos comuns de ML pré-criados para dispositivos móveis? Por exemplo, leitura de código de barras, reconhecimento de texto (OCR), detecção facial, rotulagem de imagens, detecção e rastreamento de objetos, ID de idioma, resposta inteligente básica)
    • → Use: Kit de ML (APIs tradicionais)
    • Motivo: a integração mais fácil para tarefas de ML para dispositivos móveis, geralmente otimizadas para uso no dispositivo (baixa latência, uso off-line, privacidade).
  • B) Precisa processar dados de streaming em tempo real (como vídeo ou áudio) para tarefas de percepção? (por exemplo, rastreamento de mãos, estimativa de pose, malha facial, detecção e segmentação de objetos em tempo real em vídeo)
    • → Use: MediaPipe
    • Por que: framework especializado em pipelines de percepção de alto desempenho e em tempo real em várias plataformas.
  • C) Precisa executar de forma eficiente seu próprio modelo de ML personalizado (por exemplo, para classificação, regressão, detecção) no dispositivo, priorizando desempenho e baixo uso de recursos?
    • → Uso: LiteRT (ambiente de execução do TensorFlow Lite)
    • Motivo: o ambiente de execução otimizado para implantar modelos personalizados de maneira eficiente em dispositivos móveis e de borda (tamanho pequeno, inferência rápida, aceleração de hardware).
  • D) Precisa treinar seu próprio modelo de ML personalizado para uma tarefa específica?
    • → Use: LiteRT (ambiente de execução do TensorFlow Lite) + treinamento de modelo personalizado
    • Motivo: oferece as ferramentas para treinar e implantar modelos personalizados, otimizados para dispositivos móveis e de borda.
  • E) Precisa de classificação avançada de conteúdo, análise de sentimento ou tradução de muitos idiomas com muitas nuances?
    • Considere se os modelos de ML tradicionais (possivelmente implantados usando o LiteRT ou a nuvem) se encaixam ou se a NLU avançada exige modelos generativos (retorne à tela inicial e escolha A). Para classificação, sentimento ou tradução baseada na nuvem:
    • → Uso: soluções baseadas na nuvem (por exemplo, API Google Cloud Natural Language, API Google Cloud Translation, que pode ser acessada usando um back-end personalizado ou a Vertex AI). (Prioridade menor do que as opções no dispositivo, se o modo off-line ou a privacidade forem importantes).
    • Motivo: as soluções em nuvem oferecem modelos poderosos e suporte a vários idiomas, mas exigem conectividade e podem gerar custos.

IA generativa

Você precisa criar conteúdo novo, resumir, reescrever ou realizar tarefas complexas de compreensão ou interação.

Você precisa que a IA funcione off-line, precisa de privacidade de dados máxima (mantendo os dados do usuário no dispositivo) ou quer evitar custos de inferência na nuvem?

  • A) Sim, a privacidade máxima off-line ou sem custo de nuvem é fundamental.
  • B) Não, a conectividade está disponível e é aceitável, os recursos e a escalonabilidade da nuvem são mais importantes ou recursos específicos exigem a nuvem.

IA generativa no dispositivo (usando o Gemini Nano)

Observações: requer dispositivos Android compatíveis, suporte limitado ao iOS, limites específicos de tokens (1024 comandos, 4096 contextos), os modelos são menos potentes do que os da nuvem.

Seu caso de uso especificamente corresponde às tarefas simplificadas oferecidas pelas APIs GenAI do Kit de ML? (Resumo de texto, Revisão de texto, Reescrita de texto, Geração de descrições de imagem) E os limites de token são suficientes?

  • A) Sim:
    • → Uso: APIs GenAI do Kit de ML (com tecnologia Gemini Nano)
    • Motivo: a maneira mais fácil de integrar tarefas generativas específicas e comuns no dispositivo, solução de maior prioridade no dispositivo.
  • B) Não (você precisa de solicitações ou tarefas mais flexíveis além das APIs específicas do Kit de IA do ML, mas ainda quer a execução no dispositivo dentro dos recursos do Nano):
    • → Use: Gemini Nano Experimental Access
    • Por que: oferece recursos de solicitação aberta no dispositivo para casos de uso além das APIs estruturadas do ML Kit GenAI, respeitando as limitações do Nano.

IA generativa do Cloud

Usa modelos mais poderosos, requer conectividade, geralmente envolve custos de inferência, oferece maior alcance de dispositivos e consistência mais fácil entre plataformas (Android e iOS).

Qual é sua prioridade: facilidade de integração no Firebase OU flexibilidade/controle máximo?

  • A) Prefere uma integração mais fácil, uma experiência de API gerenciada e já usa o Firebase?
  • B) Precisa de flexibilidade máxima, acesso à maior variedade de modelos (incluindo modelos personalizados/de terceiros), ajuste fino avançado e quer gerenciar sua própria integração de back-end (mais complexa)?
    • → Uso: API Gemini com um back-end de nuvem personalizado (usando o Google Cloud Platform)
    • Motivo: oferece o maior controle, o acesso mais amplo ao modelo e as opções de treinamento personalizado, mas exige um esforço significativo de desenvolvimento de back-end. Adequada para necessidades complexas, em grande escala ou altamente personalizadas.

(Você escolheu o SDK de lógica de IA do Firebase) Qual tipo de tarefa generativa e perfil de desempenho você precisa?

  • A) Precisa de um equilíbrio entre desempenho e custo, adequado para geração de texto geral, resumo ou aplicativos de chat em que a velocidade é importante?
  • B) Precisa de mais qualidade e capacidade para geração de texto, raciocínio, PLN avançado ou acompanhamento de instruções complexos?
  • C) Precisa de geração de imagens sofisticada ou compreensão avançada de imagens ou manipulação com base em comandos de texto?