Modelos Gemma 4 QAT: otimização de compactação para eficiência em celulares e notebooks
(blog.google)- Os checkpoints de treinamento com reconhecimento de quantização (QAT) do Gemma 4 otimizam os requisitos de memória e o desempenho no dispositivo para ajudar na execução local em dispositivos de borda comuns e GPUs de consumo
- O QAT simula a quantização durante o treinamento para reduzir a perda de qualidade na compactação, entregando qualidade geral superior à linha de base padrão de PTQ
- Os checkpoints publicados visam o formato Q4_0 e formatos especializados para mobile, e o formato mobile reduz a pegada de memória do Gemma 4 E2B para 1 GB
- O esquema mobile reduz a carga de trabalho e o uso de memória ativa em chips móveis com ativações estáticas, quantização por canal, quantização seletiva de 2 bits e otimizações de embeddings e cache KV
- Com suporte a pesos no Hugging Face, llama.cpp·Ollama·LM Studio, LiteRT-LM·Transformers.js, SGLang·vLLM·MLX·Unsloth, é possível fazer execução local, implantação on-device e fine-tuning
Contexto e escopo do lançamento
- Dois meses após o lançamento do Gemma 4, o Google publicou checkpoints QAT após o Multi-Token Prediction (MTP) para aceleração de inferência e o modelo 12B que preenche o espaço entre os modelos MOE E4B e 26B
- Os novos checkpoints fazem parte de um trabalho de eficiência para permitir a execução local do Gemma 4 em dispositivos de borda comuns e GPUs de consumo
- QAT é uma abordagem que simula a quantização durante o treinamento para minimizar a perda de qualidade na compactação do modelo
- Este lançamento oferece checkpoints QAT para o popular formato de quantização Q4_0 e um novo formato de quantização especializado para casos de uso mobile
Compromisso entre compactação e qualidade
- A quantização é uma tecnologia central para executar modelos em hardware de consumo, reduzindo a pegada de memória e aumentando a velocidade de decodificação
- A quantização pós-treinamento padrão (PTQ) frequentemente causa queda de desempenho, mas o QAT integra diretamente o processo de quantização ao treinamento
- Embora o PTQ também seja eficaz na preservação de qualidade, os resultados de QAT entregam qualidade geral superior à linha de base padrão de PTQ
- O Google aplicou uma receita de QAT ao formato Q4_0 para maximizar o desempenho de todos os modelos e projetou separadamente um esquema de quantização especializado para mobile para os modelos de borda E2B e E4B
Estrutura de otimização para mobile
- Como formatos de compactação padrão muitas vezes são difíceis de executar com eficiência em processadores móveis, o Gemma 4 usa um esquema de quantização mobile personalizado para hardware de borda
- Ativações estáticas pré-calculam as configurações de escala dos dados durante o treinamento para reduzir a carga de trabalho dos chips móveis e melhorar a velocidade de resposta
- A quantização por canal organiza os dados compactados de acordo com a arquitetura dos aceleradores móveis, permitindo computação nativa sem soluções alternativas lentas
- A quantização seletiva de 2 bits compacta agressivamente a parte de geração de tokens em 2 bits e mantém as camadas centrais de inferência em precisão mais alta para economizar armazenamento
- As otimizações de embeddings e cache KV concentram a compactação no vocabulário do modelo e na memória de curto prazo para reduzir bastante a pegada de memória ativa e permitir conversas longas
- Em casos de uso que não exigem codificadores de áudio e visão, é possível implantar apenas as modalidades necessárias para reduzir ainda mais a pegada de memória, e o modelo Gemma 4 E2B somente texto sem Per-Layer Embeddings requer menos de 1 GB de memória
Como usar e suporte de ferramentas
- O Google fornece pesos dos modelos Q4_0 e mobile no Hugging Face
- O formato GGUF pode ser usado diretamente no llama.cpp, tensores compactados são fornecidos para vLLM, e para outros fluxos de trabalho o Google compartilha checkpoints não quantizados que podem ser convertidos e quantizados para formatos com suporte a Q4_0
- Os métodos de implantação podem ser consultados na documentação
- No desktop, é possível baixar, gerenciar e executar localmente modelos Gemma 4 QAT com llama.cpp, Ollama e LM Studio
- Para implantação on-device, é possível usar o runtime leve LiteRT-LM do Google, e na web é possível executar diretamente com Transformers.js
- Para serving de modelos grandes, é possível usar SGLang e vLLM, e para otimização em Apple Silicon é possível usar MLX
- Checkpoints MTP QAT preservam o ganho de velocidade do MTP enquanto quantizam o modelo, e é possível fazer fine-tuning direto dos pesos com Hugging Face Transformers e Unsloth
1 comentários
Comentários do Hacker News
Testei rodar o Gemma 4 E2B localmente no Mac com
uvx litert-lm run, e na primeira execução ele baixou 3,2 GB em~/.cache/huggingface/hub/models--litert-community--gemma-4-E2B-it-litert-lmÉ bem impressionante que um modelo desse tamanho também processe entrada de áudio e imagem; para imagem dá para usar
--attachment image.jpg --prompt describee para áudio--attachment audio.wav --prompt transcribeO resultado do SVG do pelicano em si não foi grande coisa, mas foi surpreendente que um arquivo de 3,2 GB tenha produzido um SVG válido: https://gist.github.com/simonw/94b318afde4b1ce5ff67d4b5d0362...
Os modelos da MLX Community têm isso no nome, mas esses aqui não, e a data de upload também não parece bater exatamente
Agora já dá para ter conversas básicas em tempo real no dispositivo reconhecendo vídeo e áudio
uvxé realmente muito prático de usarQueria que a Nvidia também desse suporte de primeira classe, em vez de fazer as pessoas passarem por procedimentos para contornar com Docker
Também existe a coleção da Unsloth [0], e os resultados também estão publicados [1]
Em comparação com o modelo BF16 sem quantização, parece ficar muito perto de quase 100% de precisão, e a quantização da Unsloth parece melhor do que o QAT original do Google citado no post
Pessoalmente, mesmo com o modelo embarcado no celular, estou usando o modelo 2B via Unsloth Studio e API para busca na web e saída estruturada em JSON, e para esse uso ele se encaixa muito bem
[0] https://huggingface.co/collections/unsloth/gemma-4-qat
[1] https://unsloth.ai/docs/models/gemma-4/qat#qat-analysis
O que aparece ali não é BF16 comum, e sim BF16 QAT Q4_0
É mais no sentido de que o Google quantizou o modelo para 4 bits e depois salvou o resultado em formato BF16 por compatibilidade e conveniência com empacotadores posteriores
É parecido com guardar pequenos números de 8 bits dentro de inteiros de 32 bits, então isso não quer dizer que esteja perto de 100% do BF16 sem quantização
Ainda assim, eu queria entender por que o QAT Q4_0 de 4 bits divulgado pelo Google não é exatamente 100% do BF16 QAT Q4_0. A conversão entre os dois empacotamentos parece que deveria ser só manipulação de bits, sem quantização extra, mas a Unsloth diz que existe um problema de alinhamento de grade
Separadamente, também não gosto quando fabricantes de modelos pequenos, como Google e Qwen, lançam modelos novos mostrando apenas benchmarks em BF16. Na prática, as pessoas rodam quantização de 4 a 8 bits, e é difícil demais saber quanto se perde em 4 bits e em 6 bits
Só nesta semana já foi impressionante ver como o ecossistema Gemma está evoluindo rápido
Saíram o Gemma 12B, previsão de múltiplos tokens e modelos quantizados oficiais, e parece que o Google está realmente investindo pesado nesse ritmo de lançamentos, o que anima
É sexta-feira antes da WWDC, e chama atenção o fato de a Apple estar prestes a anunciar uma Siri “melhorada” baseada em modelos do Google
Pode ser uma parceria ainda sob sigilo, mas também pode ser que o Google esteja divulgando com antecedência os modelos que a Apple vai demonstrar na próxima semana
Não há informação concreta, é só especulação
Rodei
hf.co/google/gemma-4-12B-it-qat-q4_0-gguf:Q4_0comollamaem um notebook com AMD Ryzen 9 8940HX, NVIDIA GeForce RTX 5060 8GB e 14 GB de RAM, e foi mais rápido do que eu esperavaLançar o Gemma 4 12B(https://news.ycombinator.com/item?id=48385906) e, alguns dias depois, lançar o Q4_0 Gemma 4 12B oficial parece um pouco estranho
Ainda assim, é bom que este post registre o uso previsto de VRAM do Q4_0 Gemma 4 12B como 6,7 GB, e isso confirma que cabe com folga dentro dos 16 GB mencionados pelo Google, embora no fim isso só valha para a versão quantizada
Relacionado a isso, a nova Edge Gallery para macOS lançada pelo Google afirma explicitamente que o Gemma 4 12B não é suportado em máquinas com 16 GB por falta de RAM, mas olhando o uso previsto de VRAM aqui, a variante Q4_0 claramente deveria caber, então o Google precisa corrigir isso
Acho melhor publicar o modelo e as variantes à medida que forem ficando prontos, em vez de segurar tudo até que esteja tudo pronto de uma vez
O Q4_0 não é apenas o Gemma 4 12B quantizado de forma simples; ele é um checkpoint de treinamento com reconhecimento de quantização
O Google Pixel Intelligence pode acabar vencendo o Apple Intelligence
Conseguir rodar um modelo 12B com 8 GB de VRAM é uma grande mudança
É impressionante o quão rápido os pequenos modelos locais estão evoluindo
Tive resultados bem bons com o Gemma 4 E2B Unsloth 4Q: https://youtube.com/shorts/XLsAnz5aAAI
O modelo E4B não cabe no TPU do meu celular e acaba indo para swap na RAM, então fico feliz que a versão QAT melhore a precisão
Para nós, até o modelo E2B sem quantização foi completamente inútil até nas tarefas reais de classificação mais simples
Quero testar isso no meu Pixel também