基于 llama.cpp 的分支,专注 CPU 推理性能,提供更多量化类型,用于本地运行 GGUF 大模型。
google/gemma.cpp
面向 Google Gemma 模型的轻量级独立 C++ 推理引擎,主要在 CPU 上运行。
- Star
- 7,079
- Fork
- 673
- 未关闭 Issue
- 52
- 最近提交
- 20小时前
这是什么?
gemma.cpp 是一个面向 Gemma-2、Gemma-3 和 PaliGemma-2 模型的极简 C++ 推理引擎,定位于实验与研究。它介于面向部署的 C++ 运行时和基于 Python 的机器学习框架之间,核心实现约 2K 行代码,便于阅读、修改和嵌入其他项目。
引擎仅支持 CPU 推理,借助 Google Highway 实现可移植的 SIMD 加速,并将权重压缩直接集成到矩阵乘法中,支持自定义 fp8、bf16、f32 以及非均匀 4-bit(NUQ)格式。项目还包含用于 Gemma 研究的反向传播和 Adam 优化器。
项目提供支持流式输出的 C++ API(单条与批量推理)、基础交互式命令行工具以及基于 pybind11 的 Python 绑定。模型权重从 Kaggle 获取,可使用 CMake 或 Bazel 在 Linux、Windows 和 macOS 上构建。
核心功能
- 01在 CPU 上运行 Gemma-2、Gemma-3 和 PaliGemma-2 推理。
- 02将 fp8、bf16、4-bit NUQ 等权重压缩直接集成到矩阵乘法中。
- 03借助 Google Highway 实现可移植 SIMD,并在运行时选择指令集。
- 04提供支持流式输出的 C++ API,可用于单条和批量推理。
- 05包含基础交互式命令行工具和 pybind11 Python 绑定。
- 06支持反向传播和 Adam 优化器,便于 Gemma 相关研究。
适用场景
- 在 Gemma 模型上试验底层推理优化。
- 将轻量级本地大模型运行时嵌入 C++ 应用。
- 在仅有 CPU 的机器上运行 Gemma 或 PaliGemma 模型进行研究。
- 学习一个紧凑、易读的大语言模型实现。
快速上手
- 1
安装 CMake 和支持 C++17 的 Clang 编译器
- 2
从 Kaggle 下载模型权重和分词器(推荐 gemma2-2b-it-sfp)并解压
tar -xf archive.tar.gz - 3
使用 CMake 配置并编译 gemma 可执行文件
cmake --preset make - 4
使用分词器和权重文件运行 gemma
./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs
使用前须知
- 仅支持 CPU 推理,不支持 GPU。
- 需要在接受同意书后从 Kaggle 下载模型权重。
- 在 Windows 上原生构建需要 Visual Studio Build Tools 和 clang-cl,README 推荐使用 WSL。
- 项目面向实验和研究,而非生产部署。
标签
常见问题
- gemma.cpp 是什么?
- 面向 Google Gemma 模型的轻量级独立 C++ 推理引擎,主要在 CPU 上运行。 gemma.cpp 是一个面向 Gemma-2、Gemma-3 和 PaliGemma-2 模型的极简 C++ 推理引擎,定位于实验与研究。它介于面向部署的 C++ 运行时和基于 Python 的机器学习框架之间,核心实现约 2K 行代码,便于阅读、修改和嵌入其他项目。
- gemma.cpp 可以免费使用吗?用的什么许可证?
- gemma.cpp 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- gemma.cpp 还在维护吗?
- 活跃维护中。gemma.cpp 最近一次提交是在 2026年11月6日。
- gemma.cpp 适合用来做什么?
- 在 Gemma 模型上试验底层推理优化。 将轻量级本地大模型运行时嵌入 C++ 应用。 在仅有 CPU 的机器上运行 Gemma 或 PaliGemma 模型进行研究。 学习一个紧凑、易读的大语言模型实现。
- gemma.cpp 怎么安装和运行?
- 安装 CMake 和支持 C++17 的 Clang 编译器 从 Kaggle 下载模型权重和分词器(推荐 gemma2-2b-it-sfp)并解压: tar -xf archive.tar.gz 使用 CMake 配置并编译 gemma 可执行文件: cmake --preset make 使用分词器和权重文件运行 gemma: ./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs
- 在哪里获取 gemma.cpp?
- 源代码和安装说明在 GitHub 上:https://github.com/google/gemma.cpp
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用可移植 C99 实现的推理引擎,在单颗 CPU 上运行 2.78 万亿参数的 Kimi K3,无需 GPU 或 BLAS。
微软官方推出的 1-bit 大语言模型推理框架,支持 CPU 与 GPU 上的低比特推理。
C++ 和 Python 推理库,通过量化和优化内核,更快、更省内存地运行 Whisper、Llama、NLLB 等 Transformer 模型。
用纯 Mojo 编写的单文件 Llama 2 推理实现,利用 SIMD 向量化与多线程加速。
一个纯 C/C++ 编写的机器学习张量库,力求简洁、可移植且高效,部署门槛低。