IT용어위키



Llama.cpp

llama.cpp는 Georgi Gerganov가 개발하고 현재 오픈소스 커뮤니티에서 유지·관리하는 C/C++ 기반 경량화 대형 언어 모델(LLM) 추론 엔진이다. Meta의 LLaMA 등 다양한 모델을 로컬 환경에서 CPU 또는 GPU로 실행할 수 있도록 설계되었다.

개요

llama.cpp는 GGML 기반의 추론 엔진으로, 외부 라이브러리 없이도 다양한 플랫폼에서 고속으로 실행된다. Apple Silicon, x86, ARM 기반 CPU는 물론 CUDA, Metal, Vulkan, SYCL을 활용한 GPU 가속도 지원한다.[1]

주요 특징

  • 플랫폼 독립 실행: macOS, Windows, Linux, Android, WebAssembly 등 지원
  • 의존성 없음: 순수 C/C++ 기반으로 작성되어 외부 패키지 없이 빌드 가능
  • 양자화 지원: int4, int8 등 다양한 양자화 형식을 통한 경량 모델 추론
  • GGUF 포맷 사용: 텐서와 메타데이터를 통합한 단일 모델 파일 포맷
  • 멀티스레딩 및 메모리 최적화: 메모리 맵핑과 쓰레드 분산 처리로 고속 추론

설치 방법

macOS / Linux

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make

Windows

  • 사전 컴파일 바이너리 다운로드 또는 CMake로 직접 빌드

실행 예시

  • 모델 실행
./main -m models/llama3.gguf -p "Hello, world!"
  • 채팅 모드
./chat -m models/llama3.gguf

통합 및 활용

  • Python 연동: llama-cpp-python을 통해 Python에서 추론 가능
  • LangChain 지원: 로컬 LLM 백엔드로 통합 가능
  • 모델 변환: Hugging Face 모델을 GGUF로 변환하는 스크립트 제공
  • GUI 및 서버: Ollama, llama-rs, LocalAI 등과 연동 가능

장단점

장점

  • 빠른 로컬 추론: GPU 없이도 효율적 실행 가능
  • 다양한 하드웨어 지원 및 경량성
  • 활발한 커뮤니티와 생태계 확장성

단점

  • 일부 기능 제한: 최신 LLM API 기능 미지원
  • 초기 설정 요구: 모델 변환, 빌드 등 진입 장벽 존재

같이 보기

참고 문헌

  • Gerganov, G. (2023). llama.cpp GitHub 저장소.
  • Intel AI (2024). Run LLMs on Intel GPUs Using llama.cpp.
  • Codecademy (2024). How to Use llama.cpp.

각주

  1. llama.cpp GitHub 저장소. https://github.com/ggerganov/llama.cpp

  출처: IT위키(IT위키에서 최신 문서 보기)
  * 본 페이지는 공대위키에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 공대위키에서 확인하세요!