llama.cpp 인퍼런스 엔진

llama.cpp 인퍼런스 엔진

llama.cpp는 C/C++로 작성된 고성능 추론 엔진으로, Llama 계열과 호환 모델을 GGUF 포맷으로 돌리는 데 최적화되어 있어요. 허브에서 GGUF 모델을 골라 엔드포인트를 만들면 llama.cpp 컨테이너가 자동으로 선택되고, 배포가 끝나면 OpenAI 호환 API가 열리는 구조예요. 하드웨어가 넉넉하지 않아도 되고 엔진이 가벼워서, 가성비 좋게 직접 서빙해 보고 싶을 때 매력적이에요.

llama.cpp의 핵심 특징

  • GGUF 모델 지원: GGUF 포맷과 그에 딸린 모든 양자화 타입을 기본 지원해요
  • 멀티 플랫폼: CPU·GPU 양쪽에 최적화되어 있고, AVX, AVX2, AVX512, CUDA 가속을 지원해요
  • OpenAI 호환 API: 채팅, 완성(completion), 임베딩 등 엔드포인트를 제공해서 기존 도구·워크플로우에 바로 붙일 수 있어요
  • 활발한 생태계: 개발이 빠르고 연동 도구·확장이 풍부해요

GGUF 모델로 엔드포인트를 만들면 llama.cpp 저장소의 master 브랜치로 빌드된 최신 이미지가 자동으로 잡혀요. 배포에 성공하면 OpenAI 호환 엔드포인트가 열리고, /tokenize, /health, /embedding 같은 여러 엔드포인트를 함께 쓸 수 있어요. 전체 목록은 API 문서에서 확인할 수 있어요.

배포 순서

  1. 새 엔드포인트를 만들면서 GGUF 모델이 담긴 저장소를 선택해요. llama.cpp 컨테이너가 자동으로 골라져요.
  2. 원하는 GGUF 파일을 고르는데, 파일에 따라 메모리 요구량이 달라져요. 예를 들어 F16 모델은 Q4_K_M 모델보다 메모리를 더 많이 써요.
  3. 원하는 하드웨어 구성을 선택해요.
  4. 필요하면 Max Tokens, Number of Concurrent Requests 같은 컨테이너 설정을 조정해요.

추가 설정

기본 설정 말고 더 세밀한 옵션은 환경 변수로 조절할 수 있어요. 사용 가능한 환경 변수 목록은 API 문서에 정리되어 있으니 참고하세요.

더 알아보기