Repolode
google

google/gemma.cpp

Um mecanismo de inferência C++ leve e independente para executar modelos Gemma do Google na CPU.

Estrelas
7,080
Forks
672
Issues abertas
52
Último commit
há 6 horas

O que é?

gemma.cpp é um mecanismo de inferência C++ minimalista para os modelos Gemma-2, Gemma-3 e PaliGemma-2. Foi criado para experimentação e pesquisa, com o objetivo de ocupar um espaço entre os runtimes C++ voltados à implantação e os frameworks de ML baseados em Python. Sua implementação central é enxuta e fácil de ler, modificar e incorporar a outros projetos.

O mecanismo executa inferência somente na CPU usando o Google Highway para SIMD portátil e integra a compressão de pesos diretamente à multiplicação de matrizes, com formatos como fp8 personalizado, bf16, f32 e quantização não uniforme de 4 bits. Também inclui uma etapa de retropropagação e o otimizador Adam para pesquisas com Gemma.

O projeto oferece APIs C++ com streaming para consultas individuais e em lote, um aplicativo básico de linha de comando interativo e bindings para Python via pybind11. Os pesos são baixados do Kaggle, e os builds usam CMake ou Bazel no Linux, Windows e macOS.

Recursos principais

  • 01Executa inferência dos modelos Gemma-2, Gemma-3 e PaliGemma-2 na CPU.
  • 02Integra à GEMM a compressão de pesos com formatos como fp8, bf16 e NUQ de 4 bits.
  • 03Usa o Google Highway para SIMD portátil e seleção de ISA em tempo de execução.
  • 04Oferece APIs C++ com streaming para inferência individual e em lote.
  • 05Inclui uma CLI interativa básica e bindings para Python via pybind11.
  • 06Oferece uma etapa de retropropagação e o otimizador Adam para pesquisa.

Casos de uso

  • Experimentar otimizações de inferência de baixo nível para modelos Gemma.
  • Incorporar um runtime LLM local e compacto em um aplicativo C++.
  • Executar modelos Gemma ou PaliGemma em máquinas sem GPU para pesquisa.
  • Estudar uma implementação de LLM compacta e fácil de ler.

Início rápido

  1. 1

    Instale o CMake e um compilador C++ do Clang (C++17 ou mais recente)

  2. 2

    Baixe os pesos do modelo e o tokenizer do Kaggle (gemma2-2b-it-sfp recomendado) e extraia o arquivo

    tar -xf archive.tar.gz
  3. 3

    Configure e compile o executável gemma com o CMake

    cmake --preset make
  4. 4

    Execute o gemma com os arquivos do tokenizer e dos pesos

    ./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs

Antes de usar

  • A inferência funciona apenas na CPU; não há suporte a GPU.
  • É necessário baixar os pesos do modelo do Kaggle após aceitar um formulário de consentimento.
  • Para compilar nativamente no Windows, é necessário ter o Visual Studio Build Tools com clang-cl; recomenda-se usar o WSL.
  • Projetado para experimentação e pesquisa, não para implantação em produção.

Tópicos

Perguntas frequentes

O que é gemma.cpp?
Um mecanismo de inferência C++ leve e independente para executar modelos Gemma do Google na CPU. gemma.cpp é um mecanismo de inferência C++ minimalista para os modelos Gemma-2, Gemma-3 e PaliGemma-2. Foi criado para experimentação e pesquisa, com o objetivo de ocupar um espaço entre os runtimes C++ voltados à implantação e os frameworks de ML baseados em Python. Sua implementação central é enxuta e fácil de ler, modificar e incorporar a outros projetos.
gemma.cpp é gratuito? Qual é a licença?
gemma.cpp é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
gemma.cpp ainda é mantido?
Manutenção ativa. O último commit de gemma.cpp foi em 7 de nov. de 2026.
Para que posso usar gemma.cpp?
Experimentar otimizações de inferência de baixo nível para modelos Gemma. Incorporar um runtime LLM local e compacto em um aplicativo C++. Executar modelos Gemma ou PaliGemma em máquinas sem GPU para pesquisa. Estudar uma implementação de LLM compacta e fácil de ler.
Como instalar gemma.cpp?
Instale o CMake e um compilador C++ do Clang (C++17 ou mais recente) Baixe os pesos do modelo e o tokenizer do Kaggle (gemma2-2b-it-sfp recomendado) e extraia o arquivo: tar -xf archive.tar.gz Configure e compile o executável gemma com o CMake: cmake --preset make Execute o gemma com os arquivos do tokenizer e dos pesos: ./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs
Onde consigo gemma.cpp?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/gemma.cpp

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados