Ollama & Open WebUI 최적화 가이드
등록일: 2026-05-06
본 문서는 AMD Ryzen 7 5825U CPU 및 32GB RAM 환경에서 EXAONE 3.5 2.4b 모델 등의 소형 LLM을 구동할 때, 응답 지연(Latency)을 최소화하고 시스템 자원을 효율적으로 사용하기 위한 가이드임.
1. Ollama (로컬 설치) 서비스 최적화
로컬에 설치된 Ollama 서비스의 환경 변수를 수정하여 CPU 가동 효율을 높이고 모델 상주를 강제함.
설정 방법
- 터미널에서 서비스 편집기 실행:
sudo systemctl edit ollama.service - 아래 내용을
[Service]섹션에 추가:[Service]
Environment="OLLAMA_NUM_PARALLEL=1"
Environment="OLLAMA_MAX_LOADED_MODELS=1"
Environment="OLLAMA_KEEP_ALIVE=-1" - 서비스 적용 및 재시작:
sudo systemctl daemon-reloadsudo systemctl restart ollama
설정 사유
- OLLAMA_NUM_PARALLEL=1: CPU 기반 추론 시 여러 요청을 동시 처리하면 컨텍스트 스위칭 비용으로 인해 개별 응답 속도가 급락함. 하나에 집중하도록 설정함.
- OLLAMA_MAX_LOADED_MODELS=1: 여러 모델을 동시에 램에 올리지 않음으로써 단일 모델에 최대 가용 자원을 할당함.
- OLLAMA_KEEP_ALIVE=-1: 모델을 램에 영구 상주시켜 첫 호출 시 발생하는 로딩 딜레이(약 5~10초)를 제거함.
2. Open WebUI (Docker) 최적화
docker-compose.yaml 수정을 통해 추론 전 불필요한 백그라운드 연산을 차단함.
docker-compose.yaml 수정안
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: always
ports:
- "8083:8080"
environment:
- "OLLAMA_BASE_URL=[https://ollama-api.sleepzz.xyz](https://ollama-api.sleepzz.xyz)"
- "VECTOR_DB=pgvector"
- "PGVECTOR_DB_URL=postgresql://sleepzz:e7sj2hka)@postgres:5432/postgres"
# [최적화 항목]
- "ENABLE_RAG=False" # 문서 검색 기능 비활성화
- "ENABLE_SEARCH_ENGINE=False" # 웹 검색 연동 비활성화
- "ENABLE_IMAGE_GENERATION=False" # 이미지 생성 엔진 비활성화
- "OLLAMA_KEEP_ALIVE=-1" # WebUI 단에서도 상주 설정 명시
networks:
- serverzz-net
설정 사유
- ENABLE_RAG=False: 대화 시작 시마다 모든 지식 베이스를 검색하는 오버헤드를 차단함. 음성 비서/봇 대화 시 불필요한 검색 딜레이를 방지함.
- ENABLE_SEARCH_ENGINE/IMAGE=False: 불필요한 외부 API 체크 및 엔진 로딩 시간을 단축함.
3. 하드웨어 가속 및 스레드 최적화 (Modelfile)
모델 자체의 동작 파라미터를 수정하여 5825U의 물리 코어 성능을 극대화함.
Modelfile 생성 및 적용
Modelfile생성:FROM exaone3.5:2.4b
PARAMETER num_thread 12
PARAMETER num_ctx 8192- 전용 모델 생성:
ollama create exaone-fast -f Modelfile
설정 사유
- num_thread 12: 5825U(8C/16T)에서 시스템 및 타 도커 자원을 배려하면서도 최대 성능을 내기 위한 최적의 수치임.
- num_ctx 8192: 컨텍스트 크기를 32k에서 8k로 축소함. CPU 환경에서 과도한 컨텍스트는 연산량을 기하급수적으로 늘려 응답 속도를 저해함. 일반적인 대화 10~20회분에는 8k면 충분함.
4. 기능 복구 및 유지보수
RAG(문서 검색) 기능이 다시 필요한 경우
docker-compose.yaml에서ENABLE_RAG=True로 수정 후 재배포함.- 특정 문서 분석 시에는 전체 RAG를 켜지 않고 채팅창에 파일을 직접 업로드하여 분석하는 방식을 권장함(CPU 부하 최소화).
램 자원 회수 방법
- 만약 다른 작업으로 인해 대용량 램이 필요한 경우,
ollama ps로 모델 확인 후ollama stop <모델명>을 통해 수동으로 램에서 내릴 수 있음.