Repolode
google

google/gemma.cpp

Google의 Gemma 모델을 CPU에서 실행하는 경량 독립형 C++ 추론 엔진입니다.

스타
7,079
포크
673
열린 이슈
52
마지막 커밋
12시간 전

어떤 프로젝트인가요?

gemma.cpp는 Gemma-2, Gemma-3, PaliGemma-2 모델을 위한 미니멀한 C++ 추론 엔진입니다. 실험과 연구를 위해 만들어졌으며, 배포에 초점을 둔 C++ 런타임과 Python 기반 ML 프레임워크의 중간 지점을 지향합니다. 핵심 구현을 작고 읽기 쉽게 유지해 수정하거나 다른 프로젝트에 임베드하기 편합니다.

Google Highway를 사용해 이식성 있는 SIMD를 지원하며, CPU에서만 추론을 실행합니다. 가중치 압축을 행렬 곱셈에 직접 통합하고, 사용자 정의 fp8 형식과 bf16, f32, 비균등 4비트 양자화를 지원합니다. Gemma 연구를 위한 backward pass와 Adam optimizer도 포함합니다.

단일 및 배치 쿼리를 스트리밍 방식으로 처리하는 C++ API, 기본적인 대화형 명령줄 앱, pybind11 기반 Python 바인딩을 제공합니다. 가중치는 Kaggle에서 다운로드하며, Linux, Windows, macOS에서 CMake 또는 Bazel로 빌드할 수 있습니다.

핵심 기능

  • 01CPU에서 Gemma-2, Gemma-3, PaliGemma-2 추론을 실행합니다.
  • 02fp8, bf16, 4비트 NUQ 등의 가중치 압축을 GEMM에 통합합니다.
  • 03이식성 있는 SIMD와 런타임 ISA 선택에 Google Highway를 사용합니다.
  • 04단일 및 배치 추론을 위한 C++ 스트리밍 API를 제공합니다.
  • 05기본적인 대화형 CLI와 pybind11 기반 Python 바인딩을 포함합니다.
  • 06연구용 backward pass와 Adam optimizer를 지원합니다.

활용 사례

  • Gemma 모델의 저수준 추론 최적화를 실험합니다.
  • 소규모 로컬 LLM 런타임을 C++ 애플리케이션에 임베드합니다.
  • 연구 목적으로 CPU만 사용하는 머신에서 Gemma 또는 PaliGemma 모델을 실행합니다.
  • 간결하고 읽기 쉬운 LLM 구현을 살펴봅니다.

빠른 시작

  1. 1

    CMake와 Clang C++ 컴파일러(C++17 이상)를 설치합니다

  2. 2

    Kaggle에서 모델 가중치와 tokenizer를 다운로드하고(gemma2-2b-it-sfp 권장) 아카이브를 압축 해제합니다

    tar -xf archive.tar.gz
  3. 3

    CMake로 gemma 실행 파일을 구성하고 빌드합니다

    cmake --preset make
  4. 4

    tokenizer 및 가중치 파일을 지정해 gemma를 실행합니다

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

사용 전 알아둘 점

  • CPU 추론만 지원하며 GPU는 지원하지 않습니다.
  • 동의 양식에 동의한 뒤 Kaggle에서 모델 가중치를 다운로드해야 합니다.
  • Windows에서 네이티브 빌드를 하려면 clang-cl이 포함된 Visual Studio Build Tools가 필요합니다. 대신 WSL 사용을 권장합니다.
  • 프로덕션 배포보다 실험과 연구를 위해 설계되었습니다.

토픽

자주 묻는 질문

gemma.cpp은(는) 무엇인가요?
Google의 Gemma 모델을 CPU에서 실행하는 경량 독립형 C++ 추론 엔진입니다. gemma.cpp는 Gemma-2, Gemma-3, PaliGemma-2 모델을 위한 미니멀한 C++ 추론 엔진입니다. 실험과 연구를 위해 만들어졌으며, 배포에 초점을 둔 C++ 런타임과 Python 기반 ML 프레임워크의 중간 지점을 지향합니다. 핵심 구현을 작고 읽기 쉽게 유지해 수정하거나 다른 프로젝트에 임베드하기 편합니다.
gemma.cpp은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
gemma.cpp은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
gemma.cpp은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. gemma.cpp의 마지막 커밋은 2026년 11월 6일입니다.
gemma.cpp은(는) 어디에 사용할 수 있나요?
Gemma 모델의 저수준 추론 최적화를 실험합니다. 소규모 로컬 LLM 런타임을 C++ 애플리케이션에 임베드합니다. 연구 목적으로 CPU만 사용하는 머신에서 Gemma 또는 PaliGemma 모델을 실행합니다. 간결하고 읽기 쉬운 LLM 구현을 살펴봅니다.
gemma.cpp는 어떻게 설치하나요?
CMake와 Clang C++ 컴파일러(C++17 이상)를 설치합니다 Kaggle에서 모델 가중치와 tokenizer를 다운로드하고(gemma2-2b-it-sfp 권장) 아카이브를 압축 해제합니다: tar -xf archive.tar.gz CMake로 gemma 실행 파일을 구성하고 빌드합니다: cmake --preset make tokenizer 및 가중치 파일을 지정해 gemma를 실행합니다: ./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs
gemma.cpp은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/google/gemma.cpp

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트