본문으로 건너뛰기

© 2026 Molayo

r/LocalLLaMA분석2026. 06. 19. 05:51

llama.cpp 열풍을 거부해 왔지만, 제가 틀렸습니다. (Docker + AMD GPU 초보자 가이드)

요약

Ollama 대신 llama.cpp를 사용하여 AMD GPU 환경에서 로컬 LLM을 구동하는 초보자용 가이드입니다. Docker Compose를 활용해 llama.cpp 서버와 Open WebUI를 연동하는 설정 방법을 상세히 다룹니다.

핵심 포인트

  • llama.cpp는 Ollama보다 빠르고 안정적인 성능을 제공할 수 있음
  • AMD GPU 사용자를 위한 ROCm 기반 Docker 이미지 활용법 안내
  • Docker Compose를 이용한 llama.cpp와 Open WebUI의 효율적인 연동
  • gemma 모델을 활용한 로컬 추론 환경 구축 팁 제공

저는 몇 달 동안 망설이고 고집을 피우며, Ollama만으로도 충분하다고 스스로를 설득해 왔습니다. 사용하기 쉬웠고, 제 요구 사항은 단순했으니까요. 그것만으로도 충분했습니다.

결국 여러분, 끈질긴 승리자들이군요. 제가 굴복했습니다.

전환을 마쳤고, 세상에, 결과에 정말 감탄했습니다! llama.cpp는 더 빠르고, 더 안정적이며, 전반적으로 사용감이 더 좋게 느껴집니다. 설정하는 데 약간의 노력이 필요하며, Ollama는 여전히 별도의 설정 없이 바로 작동하는 용도로 유용합니다. 웹 인터페이스를 위해 Open WebUI는 그대로 유지했지만, Ollama를 사용할 때와 비슷한 수준으로 두 가지를 모두 작동시키기 위해 약간의 작업이 필요했습니다.

이동하고 싶지만 학습 곡선(learning curve) 때문에 겁을 먹고 있는 다른 초보자들을 위해 몇 가지 팁을 공유합니다. 이것들을 따르며 계속 나아가다 보면, 어느덧 보조 바퀴가 사라졌음을 깨닫게 될 것입니다. 당신도 할 수 있습니다.

이 모든 내용은 초보자가 다른 초보자에게 전하는 것이므로, 유용한 내용이 있다면 언제든지 수정하거나 추가해 주세요.

제 설정 (My Setup)

Linux + Docker Compose
AMD GPU
모델: gemma-4-12b-it-Q4_K_M 및 gemma-4-26b-A4B-it_UD_Q4_K_M

docker-compose.yml
(참고: 저는 AMD 카드를 위해 ROCm 이미지를 사용하고 있지만, NVIDIA 사용자들은 이를 변경해야 합니다)

services: llamacpp:
image: ghcr.io/ggml-org/llama.cpp:server-rocm
container_name: llamacpp
environment:
- AMD_VISIBLE_DEVICES=all
devices:
- /dev/kfd:/dev/kfd
- /dev/dri:/dev/dri
volumes:
- ./models:/models
ports:
- 8080:8080
restart: unless-stopped
command:
> --models-dir /models/
--models-max 1
--n-gpu-layers 99
--parallel 2
--flash-attn auto
--ctx-size 8192
--mmap
--cache-type-k q8_0
--cache-type-v q8_0
--jinja
--reasoning-budget 0
--temp 0.8
--top-p 0.95
--top-k 40
--min-p 0.05
--presence-penalty 1.1
--repeat-penalty 1.1
--sleep-idle-seconds 30
--no-ui
--port 8080
--host 0.0.0.0
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
environment:
- OPENAI_API_BASE_URL=http://llamacpp:8080/v1
- OPENAI_API_KEY=none
volumes:
- ./open-webui-data:/app/backend/data # 여기에 healthcheck를 추가하세요
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8080/"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
depends_on:
- llamacpp
Multiple Models and Vision

여러 모델을 매번 llama.cpp를 재시작할 필요 없이 사용하려면, --models-dir /models/를 사용하고 /models 폴더에 모든 .gguf 파일을 포함시키세요.
만약 Vision 기능을 원한다면, 해당 mmproj 파일을 다운로드하여 모델 파일과 함께 동일한 하위 폴더에 배치하세요. 더 자세한 내용은 GitHub를 참조하세요.

Unloading Models

Open WebUI 인터페이스에서 Admin >> Settings >> Connections로 이동하여 톱니바퀴 아이콘(Gear Icon) / Configure를 클릭하고 http://llamacpp:8080/v1을 위해 llama.cpp를 Provider로 선택하세요. 더 많은 정보는 Open WebUI 문서를 참조하세요.
--sleep-idle-seconds 30은 VRAM이 자동으로 비워지도록 하는 설정입니다.

Things I Couldn't Figure Out

--no-ui가 활성화되어 있지만, 기본 llama.cpp 웹 UI가 여전히 로드됩니다. 리소스를 절약하기 위해 실제로 이 기능을 끄는 방법을 모르겠습니다.

submitted by /u/x6q5g3o7
[link] [comments]

AI 자동 생성 콘텐츠

본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0