EmbeddingGemma 2 traz busca semântica multimodal para rodar no celular sem GPU pesada
O Google DeepMind lançou o EmbeddingGemma 2, modelo aberto de 740 milhões de parâmetros que junta texto, imagem, vídeo e áudio num único espaço vetorial e roda com menos de 600MB de RAM, sem depender de nuvem.

O que é o EmbeddingGemma 2
O Google DeepMind lançou nesta terça-feira (6/10) o EmbeddingGemma 2, um modelo de embeddings multimodal e de pesos abertos que mapeia texto, imagem, frame de vídeo e áudio num único espaço vetorial. Diferente de pipelines que encadeiam um modelo de legendagem de imagem, outro de transcrição de áudio e um terceiro de embedding de texto, ele faz as três coisas com um encoder só. Para quem desenvolve busca local e recuperação de mídia, isso corta latência e uso de memória justamente no ponto onde esses pipelines costumam travar.
O anúncio foi publicado no Google Developers Blog, pelo time do Google AI Edge e do Android↳Android46 conteúdosAndroid push notifications com Quasar Framework, Firebase e integração com WordPressDev (Back & Front) · mai 2019O X do Xamarin Forms – O guia das funcionalidades nativas - Parte 02: AndroidDev (Back & Front) · abr 2019Modularização de AndroidDev (Back & Front) · ago 2019Ver tudo em Dev (Back & Front) → ML em conjunto. O modelo tem 740 milhões de parâmetros e chega com encoders modulares: carregar só texto consome cerca de 191MB de RAM ativa; a versão multimodal completa (texto, imagem e áudio) fica em torno de 567MB num Pixel 11 Pro. Isso é RAM, não armazenamento em disco: dá pra rodar isso no mesmo processo de um app comum sem estourar o orçamento de memória do dispositivo.
Um espaço vetorial para tudo, sem fine-tuning
A peça mais interessante tecnicamente não é a busca por similaridade em si, é o uso do EmbeddingGemma 2 como motor de decisão zero-shot. Sem nenhum dado de treinamento ou fine-tuning, o modelo compara a entrada do usuário diretamente contra rótulos e descrições de classificação, devolvendo roteamento de intenção em milissegundos. Na prática, isso substitui um classificador treinado especificamente pra cada app por um encoder genérico que já entende a tarefa pela própria descrição da categoria.
O Google demonstra isso com o novo MediaPipe Decision Task, que roda num jogo de xadrez avaliando 500 opções por rodada em menos de 100ms, inteiramente no dispositivo. É um exemplo de brinquedo, mas o padrão de uso é sério: roteamento de comandos de voz, triagem de conteúdo, ou decidir qual fluxo de um app disparar a partir de uma frase livre, sem treinar nada antes.
Já dá pra testar: Gallery e Foresight
A forma mais rápida de ver o modelo funcionando é pelos dois apps que o Google atualizou hoje. O Google AI Edge Gallery, disponível pra Android e iOS, ganhou dois demos novos: Instant Media Search e Video Moments Finder.
- Instant Media Search converte a consulta e as fotos/vídeos do aparelho em vetores, guarda os vetores num banco SQLite local e rankeia por similaridade de cosseno. A busca atualiza a cada tecla digitada: escrever "Katze" (gato, em alemão) já traz as fotos de felinos, e completar para "Katze schläft auf Tastatur" (gato dormindo no teclado) reordena e traz a foto certa pro topo, em tempo real, sem round-trip pra nuvem.
- Video Moments Finder indexa frames de vídeo e trechos de áudio localmente e permite buscas como "crianças rindo" ou "cachorro pegando o frisbee", destacando o timestamp exato do trecho, sem transcrever o áudio nem gerar legendas intermediárias.
No Mac, o Google lançou o Google AI Edge Foresight, um app experimental de companhia de reuniões que roda 100% local: ele enriquece anotações feitas à mão com detalhes capturados da conversa em tempo real e permite buscar por linguagem natural em imagens, documentos, transcrições e notas, tudo processado no próprio Mac, sem assinatura de nuvem e sem que o áudio da reunião saia do aparelho.
Pra quem desenvolve: ML Kit, MediaPipe e LiteRT
Pra quem constrói apps Android de produção, o Google confirmou que o EmbeddingGemma 2 chega ao ML Kit nas próximas semanas, com aceleração por NPU quando disponível e atualização automática do modelo, sem que o app tenha que embutir os pesos e inchar o APK.
Pra quem precisa de multiplataforma (iOS, macOS, Windows, Linux↳Linux34 conteúdosKali Linux em um Servidor VPS: como, quando e por que usar?DevSecOps · dez 2024Construindo um Windows Service ou Linux Daemon com Worker Service & .NET Core – Parte 2Dev (Back & Front) · jul 2020Criando uma WebApi utilizando .NET, Linux e VSCodeDev (Back & Front) · ago 2019Ver tudo em DevSecOps →, Web), o caminho é o MediaPipe Tasks, que ganhou dois componentes novos:
- Universal Embedder: recebe imagem ou texto cru e devolve vetores normalizados de 768 dimensões (ou truncados para 128-512 via Matryoshka Representation Learning), cuidando de redimensionamento, normalização de tensor e tokenização multimodal sem código extra.
- Semantic Retriever: a nova interface do RAG SDK do Google, que indexa os embeddings no dispositivo e roda busca aproximada de vizinhos mais próximos (ANN) com retorno em milissegundos de dígito único.
Quem precisa de controle fino sobre aceleração de hardware vai direto no LiteRT, o motor que já roda por baixo do ML Kit, do MediaPipe e dos dois apps de demo. O modelo é distribuído como um único arquivo .litertlm que roda em CPU, GPU ou NPU sem recompilar nada por plataforma.
Os números que o Google divulgou
O dado concreto de desempenho que a Google publicou é o de embedding visual num MacBook M5 Pro: 37,3 milissegundos por imagem usando a GPU, o equivalente a 26,9 imagens por segundo, com um orçamento máximo de 70 tokens visuais por imagem. O post promete uma tabela comparando CPU, GPU e NPU em outros aparelhos, mas o benchmark detalhado por dispositivo está no model card do Hugging Face, não no post em si.
Duas otimizações explicam esse desempenho. A primeira é Quantization-Aware Training, que comprime os pesos pra INT4 e INT8, trazendo busca vetorial multimodal pra hardware de linha intermediária. A segunda é o truncamento via Matryoshka Representation Learning na saída: o mesmo vetor de 768 dimensões pode ser cortado em tempo real, reduzindo em até 8 vezes o espaço ocupado pelo índice local, às custas de alguma precisão na busca.
O que isso substitui, e onde ainda não compensa
Em termos de arquitetura, o EmbeddingGemma 2 substitui a prática comum de encadear três modelos especializados por um único encoder modular que já nasce no mesmo espaço vetorial. Isso elimina o custo de manter três modelos carregados ao mesmo tempo, e evita o erro de comparar embeddings de espaços vetoriais diferentes, uma fonte clássica de bug silencioso em busca semântica.
Para quem desenvolve no Brasil, o ganho mais prático talvez nem seja de latência: é não depender de uma chamada de API de embedding na nuvem pra cada busca, o que importa tanto pra custo quanto pra cenários de conectividade instável. Rodar local também simplifica a conversa sobre LGPD↳LGPD14 conteúdosComo utilizar a LGPD com o objetivo de conformidade e inovação?Gestão Dev & TI · out 2021LGPD coloca pressão inédita nos responsáveis pela tecnologia das empresasData · ago 2021Proteção de dados: LGPD é sancionada e começa a valerData · set 2020Ver tudo em Gestão Dev & TI →, já que fotos, áudio e transcrições de usuário nunca saem do aparelho.
Onde isso ainda não resolve tudo: o modelo serve pra busca e roteamento, não pra geração de texto ou resposta aberta, então continua sendo uma peça de um sistema de busca ou RAG, não substitui um LLM completo. Além disso, a integração via ML Kit com aceleração por NPU ainda está "chegando nas próximas semanas" segundo o próprio post, então quem quer produção no Android hoje depende da integração direta via LiteRT ou MediaPipe Tasks, sem a camada de gerenciamento automático de modelo prometida depois.
Pra começar a testar, o caminho mais direto é baixar os pacotes .litertlm pré-quantizados direto da comunidade LiteRT no Hugging Face, ou seguir o guia no GitHub, que inclui um Colab interativo e acesso à Developer Device Platform do Google Cloud, com mais de 200 aparelhos físicos pra rodar benchmark antes de decidir se o modelo roda bem no hardware que o seu usuário de fato tem.
Fonte: Google Developers Blog
Este artigo foi escrito por Alan Andrade, colunista de inteligência artificial. Conteúdo produzido por agente de IA da redação iMasters, sob revisão editorial humana. Saiba como produzimos no expediente.
Dots, Muse e Fusion Claw mostram que a guerra dos agentes de IA já começou
No DevDay de 29 de setembro, a OpenAI lançou o dots para competir com o Muse da Meta e o Fusion Claw da Oracle. Para quem constrói no Brasil, a pergunta não é qual agente é melhor, e sim em que camada dessa pilha dá pra competir.













