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 fornece orientação para ajudar você a 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 quê, com foco nas suas necessidades e casos de uso.

Para ajudar você a selecionar a solução de IA/ML mais adequada às suas necessidades específicas, este documento inclui um guia de soluções. Ao responder a uma série de perguntas sobre as metas e restrições do seu 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 até tarefas complexas que exigem conhecimento especializado) e o tamanho dos dados (entradas curtas x documentos grandes). Isso vai ajudar você a decidir entre usar 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 x áudio, vídeo, geração de imagens), complexidade (resumir, reescrever x conhecimento do domínio) e janela de contexto (entrada/saída curta x documentos/mídia extensos), resultando em 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 uma análise mais detalhada das opções de IA e ML, consulte o guia de soluções encontrado 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 disponibilizá-los: no dispositivo ou usando a nuvem.

Soluções no dispositivo, como o Gemini Nano, oferecem resultados sem custo adicional, aumentam a privacidade do usuário e oferecem 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 o resumo de mensagens, tornando o dispositivo uma prioridade ao escolher as soluções certas.

Com o Gemini Nano, você pode executar inferências diretamente em um dispositivo Android. Se você estiver trabalhando com texto, imagens ou áudio, comece com as APIs de IA generativa do ML Kit para soluções prontas para uso. As APIs GenAI do ML Kit são alimentadas pelo Gemini Nano e ajustadas para tarefas específicas no dispositivo. As APIs de IA generativa do ML Kit são um caminho ideal para a produção dos seus apps devido à interface de nível mais alto e à escalonabilidade. Com elas, é possível implementar casos de uso para resumir, revisar e reescrever textos, gerar descrições de imagens e realizar reconhecimento de fala.

Para ir além dos casos de uso fundamentais fornecidos pelas APIs GenAI do Kit de ML, considere o acesso experimental ao Gemini Nano. O acesso experimental ao 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 entrega 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 oferece arquiteturas de modelo pré-projetadas para um desempenho otimizado.

Você também pode 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 é necessário mais conhecimento, uma solução baseada na nuvem com modelos do Gemini mais potentes pode ser necessária.

Integrar modelos avançados do Gemini

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

Com o SDK do Firebase AI Logic, os desenvolvedores podem fazer chamadas do lado do cliente para 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 imagem, áudio, vídeo e texto. O Gemini Pro é excelente para 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 são excelentes em tarefas que envolvem previsão, classificação, detecção e compreensão de padrões em dados existentes, geralmente 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 geralmente 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 resultados totalmente novos. Ferramentas como o ML Kit, o LiteRT e o MediaPipe do Google oferecem recursos avançados personalizados para esses casos de uso não generativos, principalmente em ambientes de computação móvel e de borda.

Comece sua 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 exigir experiência prévia em ML. Esse SDK para dispositivos móveis fácil de usar leva 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 do treinamento e da 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 ML Kit para adicionar rapidamente recursos de ML estabelecidos ao seu app para dispositivos móveis sem precisar treinar modelos ou exigir saída generativa. Ele é ideal para melhorar apps de maneira eficiente com recursos "inteligentes" usando modelos otimizados do Google ou implantando modelos personalizados do TensorFlow Lite.

Comece com nossos guias e documentação abrangentes no site para desenvolvedores do ML Kit.

Implantação personalizada de ML com LiteRT

Para ter mais controle ou implantar seus próprios modelos de ML, use uma pilha de ML personalizada criada no LiteRT e nos Serviços do Google Play. Essa pilha fornece o essencial para implantar recursos de ML de alta performance. 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. Assim, você pode executar 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 com eficiência modelos de ML treinados (normalmente para classificação, regressão ou detecção) em dispositivos com poder computacional ou duração da bateria limitados, como smartphones, dispositivos 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 fundamentais.

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

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

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

Os pipelines baseados em gráficos 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 seu aplicativo precisar entender e reagir instantaneamente a dados de sensores em tempo real, especialmente streams de vídeo, para casos de uso como reconhecimento de gestos, efeitos de RA, monitoramento de fitness ou controle de avatar. Tudo isso focado em analisar e interpretar entradas.

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 o processamento será feito diretamente no dispositivo do usuário ou na nuvem. Ferramentas como o ML Kit, o Gemini Nano e o TensorFlow Lite ativam recursos no dispositivo, enquanto as APIs de nuvem do Gemini com a lógica de IA do Firebase oferecem um processamento poderoso baseado na nuvem. A escolha certa depende de vários fatores específicos do seu caso de uso e das necessidades dos usuários.

Considere os seguintes aspectos para orientar sua decisão:

  • Conectividade e funcionalidade off-line: se o aplicativo precisar funcionar de maneira confiável sem uma conexão de Internet, soluções no dispositivo, como o Gemini Nano, são ideais. O processamento baseado na nuvem, por natureza, 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 ao manter as informações sensíveis locais.
  • Capacidades do modelo e complexidade da tarefa: os modelos baseados na nuvem costumam ser 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 da saída e recursos extensos são fundamentais. Tarefas mais simples podem ser bem processadas por modelos no dispositivo.
  • Considerações sobre custos: as APIs do Google Cloud geralmente envolvem preços baseados 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 livre de cobranças diretas por uso, incorre em custos de desenvolvimento e pode afetar os recursos do dispositivo, como a vida útil 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 estar ciente da compatibilidade de dispositivos com modelos específicos no dispositivo, como o Gemini Nano, para garantir que seu público-alvo possa usar os recursos.
  • Ajuste e personalização: se você precisar ajustar modelos para seu caso de uso específico, as soluções baseadas na nuvem geralmente oferecem mais flexibilidade e opções de personalização mais abrangentes.
  • Consistência entre plataformas: se recursos de IA consistentes em várias plataformas, incluindo iOS, forem essenciais, lembre-se de que algumas soluções no dispositivo, como o Gemini Nano, ainda não estão disponíveis em todos os sistemas operacionais.

Ao considerar cuidadosamente os requisitos do seu 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 para 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 Android.

Qual é o objetivo principal do recurso de IA?

  • A) Gerar conteúdo novo (texto, descrições de imagens) ou realizar processamento de texto simples (resumir, revisar ou reescrever texto)? → Acesse IA generativa
  • B) Analisar dados/entradas atuais para previsão, classificação, detecção, compreensão de padrões ou processamento de fluxos em tempo real (como vídeo/áudio)? → Acesse Percepção e aprendizado de máquina tradicional

ML tradicional e percepção

Você precisa analisar a entrada, identificar recursos ou fazer previsões com base em padrões aprendidos, em vez de gerar uma saída totalmente nova.

Qual tarefa específica você está realizando?

  • A) Precisa de uma integração rápida de recursos comuns de ML para dispositivos móveis pré-criados? (por exemplo, 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, resposta inteligente básica)
    • → Use: Kit de ML (APIs tradicionais)
    • Motivo: integração mais fácil para tarefas de ML móvel estabelecidas, geralmente otimizadas para uso no dispositivo (baixa latência, off-line, privacidade).
  • B) Você 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 quê: framework especializado para pipelines de percepção em tempo real e de alta performance em várias plataformas.
  • C) Precisa executar com eficiência seu próprio modelo de ML treinado de forma personalizada (por exemplo, para classificação, regressão, detecção) no dispositivo, priorizando o desempenho e o baixo uso de recursos?
    • → Use: LiteRT (ambiente de execução do TensorFlow Lite)
    • Motivo: tempo 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 de conteúdo avançada, análise de sentimento ou tradução de vários idiomas com alta nuance?
    • Considere se os modelos de ML tradicionais (potencialmente implantados usando LiteRT ou nuvem) são adequados ou se a NLU avançada exige modelos generativos (volte ao início e escolha A). Para classificação, sentimento ou tradução baseada na nuvem:
    • → Use: soluções baseadas na nuvem (por exemplo, API Natural Language do Google Cloud, API Translation do Google Cloud, potencialmente acessadas usando um back-end personalizado ou a Vertex AI). (Prioridade menor que as opções no dispositivo se o modo off-line ou a privacidade for essencial).
    • Por quê: as soluções de nuvem oferecem modelos avançados 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, quer o máximo de privacidade de dados (mantendo os dados do usuário no dispositivo) ou quer evitar custos de inferência na nuvem?

  • A) Sim, o modo off-line, a privacidade máxima ou o custo zero da nuvem são essenciais.
  • 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: exige dispositivos Android compatíveis, suporte limitado para iOS, limites específicos de tokens (1.024 de comando, 4.096 de contexto), os modelos são menos potentes do que os equivalentes na nuvem.

Seu caso de uso especificamente corresponde às tarefas simplificadas oferecidas pelas APIs GenAI do Kit de ML? (resumir, revisar, reescrever, gerar descrições de imagens ou fazer reconhecimento de fala) E os limites de tokens são suficientes?

  • A) Sim:
    • → Uso: APIs GenAI do Kit de ML (com tecnologia do 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 comandos mais flexíveis ou tarefas além das APIs GenAI específicas do Kit de ML, mas ainda quer execução no dispositivo dentro dos recursos do Nano):
    • → Usar: acesso experimental ao Gemini Nano
    • Por quê: oferece recursos de solicitação aberta no dispositivo para casos de uso além das APIs GenAI do Kit de ML estruturadas, respeitando as limitações do Nano.

IA generativa do Cloud

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

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

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

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

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