llama.cpp: 다양한 하드웨어에서 양자화된 LLM을 로컬로 실행하기 위한 고성능 C/C++ 추론 엔진
llama.cpp: 다양한 하드웨어에서 양자화된 LLM을 로컬로 실행하기 위한 고성능 C/C++ 추론 엔진
해결하는 문제
llama.cpp는 소비자용 CPU와 GPU를 포함한 다양한 하드웨어에서 최소한의 설정으로 대형 언어 모델(LLM)을 로컬에서 고성능으로 실행할 수 있는 방법을 제공합니다. 순수 C/C++ 구현을 통해 무거운 종속성을 없애고 LLM 추론을 수행합니다.
작동 방식
이 프로젝트는 C/C++로 LLM 추론을 구현하고 ggml 라이브러리를 사용해 성능을 최적화합니다. Apple Silicon용 Metal, NVIDIA용 CUDA, 일반 GPU용 Vulkan 등 다양한 하드웨어 백엔드를 지원하며, 정수 양자화(1.5비트부터 8비트까지)를 이용해 메모리 사용량을 줄이고 속도를 높입니다. 또한 하이브리드 CPU+GPU 추론을 수행해 사용 가능한 VRAM보다 큰 모델도 실행할 수 있습니다.
대상 사용자
클라우드 제공자나 복잡한 설치 과정에 의존하지 않고, MacBook부터 NVIDIA GPU, RISC‑V 아키텍처에 이르기까지 자신의 하드웨어에서 LLM을 로컬로 실행하고자 하는 개발자와 AI 애호가들을 위한 프로젝트입니다.
주요 특징
- 광범위한 하드웨어 지원: Apple Silicon, x86(AVX/AMX), RISC‑V, NVIDIA, AMD, Intel GPU에 최적화됨.
- 양자화: 1.5비트부터 8비트까지 다양한 정수 양자화 레벨을 지원해 작은 디바이스에서도 대형 모델을 실행 가능.
- 다양한 모델 지원: LLaMA, Mistral, Gemma, LLaVA 등 텍스트 전용 및 멀티모달 모델을 폭넓게 호환.
- 종속성 없음: 순수 C/C++로 작성되어 다양한 플랫폼에서 쉽게 빌드하고 배포할 수 있음.
- OpenAI 호환 API:
llama-server서버 모드를 통해 OpenAI 형식과 호환되는 REST API를 제공.
Sources
- undefinedggml-org/llama.cpp