콘텐츠로 이동

Ollama 구성

Ollama는 로컬 환경에서 오픈 소스 LLM을 쉽고 간편하게 실행할 수 있게 해주는 도구입니다.

Ollama란?

  • llama.cpp를 기반 엔진으로 사용하는 사용자 친화적인 래퍼(Wrapper)
  • 로컬에서 효율적으로 실행하기 위해 GGUF 형식을 사용
  • 간단한 명령어로 다양한 LLM 모델 실행 가능

구성 결과

GPU 가속 기능을 활용하기 위해 Docker 컨테이너 환경에서 Ollama를 구동하도록 구성하였습니다.

항목 구성 비고
디렉토리 $HOME/lab/ollama
구동 Docker start-ollama.sh
버전 0.12.9 ollama/ollama:latest
WebUI OpenWebUI OpenWebUI 구성 참고

Ollama 구동

1단계: Docker 이미지 다운로드

docker pull ollama/ollama:latest

2단계: 실행 스크립트

$HOME/lab/ollama/start-ollama.sh
#!/usr/bin/bash

export PORT=11434
export CONTAINER=ollama

docker stop $CONTAINER 2>/dev/null 
docker rm $CONTAINER 2>/dev/null

docker run -d \
  --name $CONTAINER \
  --runtime=nvidia --gpus all \
  -e OLLAMA_SCHED_SPREAD=1 \
  -e OLLAMA_FLASH_ATTENTION=1 \
  -v ./ollama-data:/root/.ollama \
  -p 11434:11434 \
  --restart unless-stopped \
  ollama/ollama:latest

3단계: 실행

chmod +x start-ollama.sh
./start-ollama.sh

4단계: Alias 설정

터미널에서 ollama 명령어를 바로 사용할 수 있도록 설정합니다.

vi ~/.zshrc
  alias ollama="docker exec -it ollama ollama"

설정한 내용을 적용합니다.

source ~/.zshrc

Web UI

채팅 UI는 OpenWebUI를 사용하여 구성할 수 있습니다.

OpenWebUI 구성 참고


문제해결

nvidia 런타임 오류

현상: Docker 실행 시 nvidia runtime 관련 오류 발생

docker: Error response from daemon: unknown or invalid runtime name: nvidia

원인: Docker가 nvidia 런타임을 인식하지 못함

해결 방법:

# nvidia 런타임 등록
sudo nvidia-ctk runtime configure --runtime=docker

# Docker 서비스 재시작 (필수)
sudo systemctl restart docker