Pular para o conteúdo
    Guia · Nível Intermediário

    Guia do DiffusionGemma: rode o modelo de difusão da DeepMind em uma VM com GPU

    Guia técnico para implantar o DiffusionGemma, modelo aberto de difusão de texto da Google DeepMind, em uma VM com GPU no Google Cloud e usá-lo atrás da API de perguntas tipadas do modelo discriminativo. Inclui pré-requisitos, passo a passo do script oficial, verificação e erros comuns.

    Filipe Mendes

    7 de out. de 2026 · 11 min de leitura

    Seguir no Google
    Fotografia noturna de uma bancada metálica em sala de máquinas escura, onde mãos de um técnico encaixam uma placa de vídeo com ventoinhas de aro âmbar e ciano em um servidor aberto; à direita, um monitor exibe imagem abstrata com estática d
    Instalação de GPU em VM é o passo central para rodar o DiffusionGemma, modelo aberto de difusão de texto da Google DeepMind, por meio da API de perguntas tipadas.

    Difusão também gera texto. Essa é a premissa do DiffusionGemma (abre em nova aba), modelo aberto e experimental da Google DeepMind anunciado em 10 de junho de 2026, que troca a decodificação token a token dos LLMs autoregressivos por um processo de denoising paralelo. Em vez de escrever uma palavra, avaliar, escrever outra, o modelo preenche blocos inteiros de 256 tokens por vez e os refina em conjunto até a resposta convergir.

    O resultado prático é velocidade. A página oficial da DeepMind (abre em nova aba) fala em mais de 1.000 tokens por segundo em uma única NVIDIA H100, e o relatório técnico publicado no arXiv (abre em nova aba) relata uma média de cerca de 1.500 tokens por segundo e 20 tokens por passo de inferência, medidos em suíte completa de avaliação. Para quem constrói aplicações interativas, agentes com resposta em tempo real ou pipelines de decisão, esse perfil muda o que é viável colocar na frente do usuário.

    Este guia mostra o caminho documentado para colocar o modelo no ar: uma VM com GPU no Google Cloud, os pesos públicos no Hugging Face e uma camada de serving que expõe a mesma API de perguntas tipadas usada pelo modelo discriminativo. Ao final, você terá um endpoint respondendo a perguntas do tipo Choice, Score e Noul com probabilidades calibradas.

    Fotografia noturna de uma mesa de trabalho vista em ângulo elevado, com a mão de uma pessoa pousada sobre um teclado mecânico diante de um monitor que emite brilho azulado de terminal fora de foco. À direita, um gabinete de servidor aberto
    Uma noite de configuração: o terminal roda em silêncio enquanto a GPU aguarda o primeiro comando do DiffusionGemma na VM.

    O que o DiffusionGemma é, e o que a documentação chama de "discriminativo"

    Vale desfazer um nó de vocabulário antes de qualquer comando. Segundo o model card oficial (abre em nova aba), o DiffusionGemma é um modelo generativo: ele recebe texto, imagem e vídeo como entrada e gera texto como saída. O que o aproxima do mundo "discriminativo" é o fluxo de trabalho documentado no Codelab da Google (abre em nova aba), que usa uma camada chamada djev-run para servir, por trás do DiffusionGemma, exatamente a mesma API do modelo discriminativo hospedado, o jev-1.13 (alias jev-latest) da TypeSafe AI, lançado em 19 de setembro de 2026.

    O modelo discriminativo não gera texto. Você envia um estado (texto, JSON ou lista) e perguntas tipadas, e recebe respostas tipadas com probabilidades calibradas. Como o formato de comunicação é o mesmo, o SDK da TypeSafe conversa com o DiffusionGemma hospedado por você sem nenhuma alteração, o que explica por que a documentação trata os dois como intercambiáveis na prática. Para o cliente da sua aplicação, pouco importa se quem responde é o modelo hospedado pela TypeSafe AI ou a sua VM com o DiffusionGemma.

    Como a difusão discreta funciona aqui

    O DiffusionGemma é um fine-tuning da arquitetura Gemma 4 com Mixture-of-Experts: 25,2 bilhões de parâmetros totais, 3,8 bilhões ativos por passo. O relatório técnico da equipe descreve um pipeline de treinamento em dois estágios com menos de 10% do orçamento de tokens do modelo autoregressivo original: primeiro supervised fine-tuning para ensinar denoising bidirecional, depois aprendizado por reforço combinado com destilação de sampler para melhorar qualidade e eficiência de inferência ao mesmo tempo.

    Na inferência, o mecanismo central é o canvas: um bloco de 256 tokens gerado por denoising iterativo e paralelo. A arquitetura é encoder-decoder, com um encoder autoregressivo que processa e faz cache do prompt, e atenção bidirecional sobre o canvas durante a geração. Cada token do bloco enxerga todos os outros. Isso permite o que a DeepMind chama de autocorreção inteligente: o modelo reavalia o bloco inteiro a cada iteração e fecha formatos complexos, como JSON e marcações aninhadas, sem os erros em cascata típicos da geração sequencial.

    O modelo preserva do Gemma 4 o suporte a modo de raciocínio (thinking mode), entradas multimodais e contextos longos, de até 256 mil tokens.

    Especificações que importam no dimensionamento

    Os números abaixo vêm do model card oficial e servem de base para decidir hardware, tamanho de prompt e expectativa de custo computacional.

    EspecificaçãoValor
    Parâmetros totais25,2B
    Parâmetros ativos3,8B
    Camadas30
    Janela deslizante1.024 tokens
    Contextoaté 256K tokens
    Comprimento do canvas256 tokens
    Vocabulário262K
    Especialistas8 ativos / 128 totais + 1 compartilhado
    Modalidades de entradatexto, imagem, vídeo
    Encoder de visão~550M parâmetros

    O ponto de atenção para quem vai rodar localmente é a memória. O anúncio no blog da Google (abre em nova aba) afirma que o modelo quantizado cabe em 18 GB de VRAM de GPUs de consumo de ponta, enquanto a página da DeepMind menciona conforto dentro do limite de 24 GB de uma RTX 4090 ou 5090. Os dois números não se contradizem: 18 GB é o piso do modelo quantizado segundo o blog, e 24 GB é o teto prático das GPUs que a DeepMind cita como alvo. Em qualquer leitura, uma GPU de 24 GB como a L4 usada no fluxo oficial dá folga para o checkpoint quantizado de 17,5 GB que o Codelab baixa.

    Nos benchmarks divulgados no model card, os resultados são: MMLU Pro 77,6%, AIME 2026 sem ferramentas 69,1% e LiveCodeBench v6 69,1%. Trate esses números como ponto de partida declarado pelo fabricante, não como garantia no seu caso de uso. Benchmarks de laboratório raramente reproduzem a distribuição dos seus dados.

    Pré-requisitos para começar

    O fluxo documentado é o do Codelab "Getting started with Discriminative (Jev/DiffusionGemma) models", um workshop de cerca de 90 minutos que também posiciona o modelo como componente de decisão ao lado do Gemini em um fluxo de trabalho do Google ADK. Antes do primeiro comando, confirme o que está na caixa abaixo.

    Se a intenção é comparar custo antes de subir infraestrutura, o modelo discriminativo hospedado pela TypeSafe AI cobra US$ 0,042 por milhão de tokens de entrada e nada pela saída, com latência declarada entre 70 e 500 ms. A VM com GPU tem custo por hora de máquina, mas zero custo por token e dados que não saem do seu projeto. Qual opção vale mais depende do volume de chamadas e dos requisitos de privacidade.

    Passo a passo: do script ao endpoint respondendo

    A implantação documentada automatiza quase tudo. O script scripts/setup_gemma.sh, fornecido no Codelab, orquestra a criação da infraestrutura e o provisionamento do modelo.

    1. Confirme a cota de GPU. O próprio setup_gemma.sh verifica a cota de GPU disponível no projeto e falha se não houver capacidade para a L4. Se o script reportar cota insuficiente, solicite o aumento no console do Google Cloud antes de continuar.
    1. Execute o script de setup. Ele cria uma VM g2-standard-4 com 1 GPU L4 de 24 GB, 4 vCPUs e 16 GB de RAM, baseada na imagem de deep learning do Google com o driver NVIDIA 580. Esse par imagem mais driver é a combinação validada pelo fluxo oficial; trocar por outra imagem pode quebrar a detecção da GPU.
    1. Aguarde a primeira inicialização. No primeiro boot, a VM instala o Docker, baixa do Hugging Face o checkpoint nvidia/diffusiongemma-26B-A4B-it-NVFP4 (17,5 GB, público, sem token) e executa o djev-run, a camada que coloca o DiffusionGemma por trás da API exata do modelo discriminativo. O download do checkpoint é a etapa mais longa: reserve tempo para ela e não interprete a espera como falha.
    1. Abra o túnel do IAP. Com o túnel ativo, o endpoint local do modelo responde em:
    http://127.0.0.1:8096
    1. Ou use o Cloud Run. O Codelab também oferece o caminho de implantação gerenciada, com o modelo servido em uma URL do Cloud Run no formato https://djev-...run.app. Essa opção serve o mesmo endpoint POST /v1/systemone, com as mesmas perguntas noul, choice e score, e dispensa o túnel.
    1. Envie perguntas tipadas. Qualquer cliente que já fale com o modelo discriminativo funciona sem mudanças. O contrato é: estado em texto, JSON ou lista na entrada; pergunta tipada (Choice para escolher entre alternativas, Score para avaliar, Noul na ausência de resposta aplicável); resposta tipada com probabilidade calibrada na saída. Se a sua stack já usa o SDK da TypeSafe AI, aponte a base URL para o seu endpoint e mantenha o resto do código.

    O modelo por trás dessa API é o DiffusionGemma, com 26 bilhões de parâmetros totais e cerca de 4 bilhões ativos, sob licença Apache 2.0. A licença permissiva é o que permite o checkpoint quantizado da NVIDIA no Hugging Face e implantações no seu próprio ambiente sem negociação comercial.

    Como testar e verificar o resultado

    A verificação tem três camadas, do básico ao contratual.

    1. O endpoint está no ar. Com o túnel do IAP ativo, a porta 8096 em 127.0.0.1 deve responder. Se você escolheu o Cloud Run, a URL djev deve responder da mesma forma. Um endpoint que não responde indica problema no túnel ou no djev-run, não na sua lógica de aplicação.

    2. As respostas vêm tipadas e calibradas. Envie uma pergunta Choice com um estado simples e alternativas definidas. O que você deve observar: uma resposta escolhendo uma das alternativas, acompanhada de probabilidade. Esse é o comportamento que distingue a API discriminativa de um LLM comum: não há prosa livre, há seleção com medida de confiança. Repita com uma pergunta Score e verifique se o valor retornado acompanha a mudança do estado de entrada. Se você mudar o contexto e o score não se mover, algo está errado no pipeline, provavelmente no estado que está sendo enviado.

    3. A compatibilidade com o SDK está intacta. Como o formato de comunicação é o mesmo do modelo hospedado jev-latest, a forma mais robusta de validar é rodar contra o seu endpoint um cliente existente que já funcione contra o serviço da TypeSafe AI. Se as mesmas chamadas passam sem alteração de código, a implantação está fiel ao contrato documentado.

    Como referência de latência, o modelo hospedado declara respostas entre 70 e 500 ms. Uma VM com uma única L4 não reproduz necessariamente esses números, e a documentação não promete paridade de latência entre as duas formas de servir. Use a janela declarada como régua de sanidade, não como requisito.

    Erros comuns e soluções rápidas

    • Script falha na verificação de cota. O setup_gemma.sh checa a cota antes de criar a VM. A solução é aumentar a cota de L4 no projeto, ou verificar se você está apontando para o projeto correto com a autenticação ativa.
    • Primeiro boot parece travado. O download dos pesos tem 17,5 GB e acontece na primeira inicialização, junto com a instalação do Docker. Antes de recriar a VM, confirme que o processo está em andamento. Recriar a máquina reinicia o download do zero.
    • GPU 24 GB e ainda assim risco de estouro de memória. O checkpoint NVFP4 de 17,5 GB cabe na L4 de 24 GB, mas o cabeçalho de memória depende do comprimento do contexto. Prompts longos, permitidos pelo contexto de até 256K do modelo, não cabem em qualquer GPU. Para cargas com contextos extensos, monitore o uso de VRAM antes de escalar o tráfego.
    • Endpoint local não responde no 8096. O acesso passa pelo túnel do IAP. Sem o túnel ativo, 127.0.0.1:8096 não existe para a sua máquina. Verifique o túnel antes de suspeitar do djev-run.
    • Driver ou imagem errada na VM. A combinação validada é a imagem de deep learning do Google com o driver NVIDIA 580. Imagens genéricas sem a stack de GPU não completam o provisionamento. Se estiver criando a VM manualmente, replique essa combinação.
    • Respostas sem probabilidade. Se o retorno vem como texto livre em vez de resposta tipada calibrada, o cliente provavelmente está falando com um LLM genérico, não com o endpoint /v1/systemone. Confirme a URL e o formato da pergunta (noul, choice, score).

    Onde ir depois que o endpoint está no ar

    O Codelab que origina este fluxo é um workshop completo: além da implantação, ele mostra o modelo de decisão operando como componente do Sistema Um ao lado do Gemini em um fluxo de trabalho do Google ADK. Essa combinação é a razão de existir da API tipada: um modelo generativo para produzir, um discriminativo rápido e calibrado para decidir, cada um no papel em que é melhor.

    Há também o caminho generativo puro. O checkpoint oficial da Google DeepMind está publicado como google/diffusiongemma-26B-A4B-it no Hugging Face (abre em nova aba), aberto sob Apache 2.0, e serve para uso direto como modelo de geração de texto por difusão, com as velocidades altas de decodificação descritas acima. Quem precisa de controle total sobre o serving, do jev ao DiffusionGemma, tem na mesma base de pesos as duas portas.

    Uma questão fica em aberto pela própria natureza do projeto: o DiffusionGemma é explícito e experimental, e a Google não promete paridade de qualidade com modelos autoregressivos de produção em todas as tarefas. O relatório técnico sustenta que o modelo estabelece uma nova fronteira de Pareto entre velocidade e capacidade, com avaliações próprias como evidência. Para decidir se a troca compensa no seu caso, o caminho é o mesmo que este guia monta: endpoint no ar, perguntas tipadas, medições suas. A infraestrutura documentada existe justamente para que essa verificação custe uma tarde, não um trimestre.

    Filipe Mendes

    Ver perfil completo