llama.cpp Docker

llama.cpp Docker (Docker)

llama.cpp는 Docker 이미지로도 제공돼요. 미리 빌드된 이미지를 받아서 실행 파일만 바로 쓰거나, 모델 변환·양자화 도구까지 포함한 full 이미지를 쓸 수 있어요. 환경을 손대고 싶지 않을 때 편리해요.

시작하기 전에 Docker가 설치·실행 중이어야 하고, 큰 모델과 중간 파일을 보관할 폴더(예: /llama/models)를 하나 만들어 두는 게 좋아요.

출처: llama.cpp Docker 가이드

기본 이미지

프로젝트에서 제공하는 세 가지 기본 이미지가 있어요.

  1. ghcr.io/ggml-org/llama.cpp:fullllama-clillama-completion 실행 파일, 그리고 LLaMA 모델을 ggml로 변환하고 4-bit 양자화로 바꾸는 도구까지 포함. (지원 플랫폼: linux/amd64, linux/arm64, linux/s390x)
  2. ghcr.io/ggml-org/llama.cpp:lightllama-clillama-completion 실행 파일만 포함. (지원 플랫폼: linux/amd64, linux/arm64, linux/s390x)
  3. ghcr.io/ggml-org/llama.cpp:serverllama-server 실행 파일만 포함. (지원 플랫폼: linux/amd64, linux/arm64, linux/s390x)

하드웨어 가속 이미지

기본 이미지와 구조는 같지만 특정 하드웨어 백엔드로 컴파일된 이미지도 준비돼 있어요.

  • CUDA: full-cuda, light-cuda, server-cuda (CUDA 12 지원, linux/amd64, linux/arm64)
  • CUDA 13: full-cuda13, light-cuda13, server-cuda13
  • ROCm: full-rocm, light-rocm, server-rocm (AMD GPU, linux/amd64)
  • MUSA: full-musa, light-musa, server-musa (linux/amd64)
  • Intel(SYCL): full-intel, light-intel, server-intel (linux/amd64)
  • Vulkan: full-vulkan, light-vulkan, server-vulkan (linux/amd64, linux/arm64)

full-cudafull에 CUDA 12 지원을 더한 것이라고 보면 돼요. 각 이미지는 -cuda, -cuda13, -rocm, -musa, -intel, -vulkan 접미사로 어떤 백엔드로 컴파일됐는지 구분돼요.

이미지 실행하기

예를 들어 경량 이미지를 받아 실행하는 명령은 다음과 같아요.

docker run -it --rm \
  -v /llama/models:/models \
  ghcr.io/ggml-org/llama.cpp:light \
  llama-cli -m /models/my-model.gguf

모델 파일이 담긴 폴더를 볼륨으로 마운트하고, 컨테이너 안의 llama-cli로 모델을 실행하는 구조예요.

더 알아보기