테마 전환

Ollama GPU 가속 설정: CUDA, ROCm, Metal 전 플랫폼 실전 가이드

Easton editorial illustration: one local-model engine connected to three GPU acceleration lanes

터미널에 글자가 한 줄씩 천천히 올라오고, 시간을 보니 47초가 지나 있었습니다. 오래된 노트북에서 Llama 3 8B를 CPU로 돌렸을 때의 속도입니다. CPU는 꽉 차고, 팬은 계속 돌고, 초당 대략 5 token 정도 나왔습니다. 솔직히 꽤 지치는 경험이었습니다. 원래는 코드 작업을 조금 도와 달라고 쓰려던 건데, 답을 기다리는 시간에 직접 Google에서 찾아보는 편이 더 빨랐습니다.

나중에 같은 GPU를 데스크톱에 옮기고 CUDA 드라이버를 설치한 뒤, 같은 모델과 같은 파라미터로 다시 실행했습니다. 이번에는 3초였습니다.

과장이 아닙니다. 거의 1분 가까이 걸리던 작업이 몇 초로 줄었습니다. 질문을 던진 직후 바로 답을 보고 싶은 그 느낌이 다시 돌아왔습니다.

이 글은 Ollama의 GPU 가속 설정을 제대로 끝내는 데 초점을 맞춥니다. NVIDIA, AMD, Apple Silicon 중 어떤 환경이든 설정 방법, 검증 방법, 문제가 생겼을 때 빠져나오는 방법을 차례대로 정리합니다. 기다리는 시간을 줄이고, 더 흥미로운 일에 시간을 쓰면 됩니다.

GPU 가속은 얼마나 체감될까: 30초에서 3초로 줄어드는 차이

먼저 결론부터 말하면, GPU로 로컬 대규모 언어 모델을 실행하면 속도가 10-20배까지 빨라질 수 있습니다. 광고 문구가 아니라 직접 테스트한 결과이기도 하고, 커뮤니티에서 반복적으로 확인된 체감이기도 합니다.

아마 이런 질문이 나올 수 있습니다. CPU로도 실행은 되는데 굳이 GPU까지 설정해야 할까요?

실행은 됩니다. 하지만 경험은 완전히 다릅니다. CPU로 7B 파라미터 모델을 돌리면 초당 보통 3-8 token 정도가 나오고, 500자 안팎의 답변 하나를 받는 데 20-60초를 기다려야 합니다. GPU로 바꾸면 같은 모델이 초당 40-80 token까지 올라가고, 몇 초 안에 답변이 나옵니다. 이 차이는 “조금 더 빠르다”가 아니라 “겨우 쓸 수 있다”에서 “실제로 쓰기 좋다”로 바뀌는 수준입니다.

내 GPU는 지원될까?

Ollama는 세 가지 GPU 플랫폼을 지원하며, 각각 요구 조건이 다릅니다.

NVIDIA GPU: 가장 대중적이고 설정도 가장 편합니다. 공식 요구 사항은 Compute Capability 5.0 이상입니다. 대략 GTX 900 시리즈 이후의 카드라고 보면 됩니다. GTX 1060, RTX 3060, RTX 4090 같은 카드는 모두 문제가 없습니다. 제가 가진 RTX 3060 12GB로는 14B 이하 모델을 꽤 여유 있게 돌릴 수 있습니다.

AMD GPU: 설정은 조금 더 번거롭지만 충분히 사용할 수 있습니다. Linux에서는 ROCm v7이 필요하고, Windows에서는 현재 ROCm v6.1 Preview만 제공됩니다. 지원되는 GPU 모델에도 조건이 있습니다. RX 6000과 RX 7000 시리즈는 비교적 안정적이고, 오래된 카드는 추가 설정이 필요할 수 있습니다.

Apple Silicon: M1/M2/M3/M4 전 제품군을 지원하며 자동으로 활성화됩니다. Mac 사용자는 대부분 별도 설정 없이 Ollama를 설치하면 Metal 가속을 바로 사용할 수 있습니다. 2026년 이후에는 MLX 백엔드 선택지도 추가되어 성능이 한 번 더 올라갔습니다.

VRAM은 충분할까?

많은 사람이 놓치는 부분이 바로 VRAM입니다. GPU로 모델을 실행할 때 VRAM은 사실상 하드 제한입니다.

대략 계산해 보면, 4-bit 양자화된 7B 모델은 5-6GB VRAM이 필요하고, 14B는 10-12GB, 70B는 40GB 이상이 필요합니다. GPU의 VRAM 용량이 실행 가능한 모델 크기를 직접 결정합니다. 제 RTX 3060 12GB에서는 Llama 3 8B가 매우 편하게 돌아가지만, Mixtral 8x7B를 실행하면 빠듯해서 일부 메모리를 CPU 쪽에 기대야 합니다.

그래서 GPU 설정을 시작하기 전에 먼저 자신의 GPU 모델과 VRAM 용량을 확인해 두는 것이 좋습니다.

NVIDIA CUDA: 가장 수월한 선택지지만 몇 가지 함정은 있다

NVIDIA GPU를 사용한다면 다행입니다. 세 플랫폼 중 설정 과정이 가장 간단할 가능성이 높습니다.

드라이버가 설치되어 있는지 먼저 확인하기

터미널을 열고 다음을 입력합니다.

nvidia-smi

GPU 모델, VRAM 용량, 드라이버 버전이 포함된 표가 보인다면 드라이버는 이미 설치된 상태입니다. Ollama는 CUDA를 자동으로 감지해 사용합니다. 별도로 CUDA Toolkit을 설치할 필요도 없습니다. 맞습니다. Ollama에는 필요한 CUDA 라이브러리가 포함되어 있어 한 단계를 줄일 수 있습니다.

명령을 찾을 수 없다는 오류가 나온다면 드라이버부터 설치해야 합니다. Ubuntu 사용자는 다음 명령을 실행할 수 있습니다.

sudo apt install nvidia-driver-535  # 또는 더 새로운 버전

설치 후 재부팅하고, 다시 nvidia-smi로 확인합니다.

GPU가 여러 장이면 어떻게 할까?

모델 전체가 GPU 한 장의 사용 가능한 VRAM에 들어가면 Ollama는 PCI 버스 전송을 줄이기 위해 해당 GPU에만 모델을 로드합니다. 한 장에 들어가지 않을 때만 사용 가능한 여러 GPU에 자동으로 분산합니다. 특정 GPU만 선택하고 다른 GPU를 별도 작업용으로 남겨 둘 수도 있습니다.

이럴 때는 환경 변수를 설정합니다.

# 0번 GPU만 사용
export CUDA_VISIBLE_DEVICES=0

# 0번과 2번 GPU 사용
export CUDA_VISIBLE_DEVICES=0,2

이 줄을 ~/.bashrc나 systemd 서비스 설정에 추가하면 영구적으로 적용할 수 있습니다.

Docker에서 Ollama를 실행한다면?

모든 서비스를 컨테이너에 넣어 관리하는 분도 있습니다. Ollama도 가능합니다. 다만 Docker 컨테이너는 기본적으로 호스트 GPU에 접근할 수 없으므로 추가 설정이 필요합니다.

NVIDIA 공식 nvidia-container-toolkit을 사용합니다.

# toolkit 설치
sudo apt install nvidia-container-toolkit

# Docker runtime 설정
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

그다음 Ollama 컨테이너를 시작할 때 --gpus all 인자를 붙입니다.

docker run -d --gpus all -v ollama:/root/.ollama -p 11434:11434 ollama/ollama

GPU가 실제로 사용되는지 확인하는 방법

간단한 검증 방법이 있습니다. 모델을 실행하는 동안 다른 터미널을 열고 다음을 실행합니다.

ollama ps

출력에는 현재 실행 중인 모델과 GPU 사용 상태가 표시됩니다. GPU: 100%와 비슷한 표시가 보이면 가속이 적용된 것입니다.

또는 nvidia-smi -l 1로 VRAM 사용량을 실시간 모니터링할 수도 있습니다. 모델을 실행할 때 VRAM 사용량이 눈에 띄게 증가해야 합니다.

AMD ROCm: 설정은 조금 번거롭지만 실행되면 충분히 빠르다

AMD 사용자의 답답함은 이해합니다. 온라인 튜토리얼은 대부분 NVIDIA 중심이고, AMD 문서는 흩어져 있는 경우가 많습니다. 그래도 좋은 소식은 Ollama의 ROCm 지원이 꽤 안정화되었다는 점입니다. 단지 설정 단계가 몇 개 더 있을 뿐입니다.

Linux 사용자의 정석: ROCm v7

Ubuntu 22.04 이상 배포판을 사용한다면 ROCm 설치가 아주 어렵지는 않습니다.

# AMD 공식 저장소 추가
sudo apt update
sudo apt install amdgpu-install
sudo amdgpu-install --usecase=rocm

# 현재 사용자를 render/video 그룹에 추가
sudo usermod -aG render,video $USER

# 재부팅해 적용
sudo reboot

재부팅 후 rocminfo 명령으로 GPU가 인식되는지 확인합니다. GPU 정보가 보이면 Ollama를 설치하면 됩니다. AMD용 Ollama는 ROCm 환경을 자동으로 감지하므로 별도 설정이 필요 없습니다.

Windows 사용자: 아직은 Preview에 가깝다

솔직히 말하면 Windows에서 ROCm 지원은 아직 아주 성숙한 편은 아닙니다. 공식적으로 ROCm v6.1 Preview가 제공되지만, 지원 GPU 모델이 제한적이고 안정성도 Linux보다 떨어집니다. Windows에서 주로 작업하고 AMD GPU를 쓰고 있다면 제 추천은 이렇습니다.

WSL2 + Ubuntu를 우선 고려하세요. Linux 하위 시스템 안에서 Ollama를 실행하는 방식입니다. 성능과 안정성 모두 네이티브 Windows보다 한 단계 낫습니다.

오래된 GPU는 어떻게 할까? HSA_OVERRIDE가 도와줄 수 있다

AMD GPU 아키텍처 코드명은 조금 복잡합니다. ROCm은 공식적으로 비교적 새로운 아키텍처(gfx900, gfx1030 등)를 지원합니다. RX 580(gfx803)처럼 오래된 GPU는 ROCm이 기본적으로 인식하지 않을 수 있습니다.

이럴 때는 환경 변수로 강제 오버라이드할 수 있습니다.

export HSA_OVERRIDE_GFX_VERSION=10.3.0  # gfx1030 호환 모드 강제 사용

모든 경우에 통하는 방법은 아니지만, 커뮤니티에서는 여러 오래된 카드에서 효과가 있었다는 피드백이 있습니다. 한 번 시도해 볼 만합니다. 그래도 안 된다면 CPU 실행으로 돌아가야 합니다.

멀티 GPU 설정

NVIDIA와 비슷하게 AMD도 사용할 GPU를 지정할 수 있습니다.

export ROCR_VISIBLE_DEVICES=0,1  # 0번과 1번 GPU 사용

GPU 번호는 rocm-smi 명령으로 확인할 수 있습니다.

자주 보는 AMD GPU 아키텍처 코드명

문제 해결에 도움이 되도록 대표 모델과 아키텍처를 정리하면 다음과 같습니다.

GPU 모델아키텍처 코드명ROCm 지원
RX 7900 XTXgfx1100네이티브 지원
RX 6800 XTgfx1030네이티브 지원
RX 5700 XTgfx1010네이티브 지원
RX 580gfx803HSA_OVERRIDE 필요
Vega 56/64gfx900네이티브 지원

정리하면 AMD 설정은 NVIDIA보다 몇 군데 더 걸릴 수 있습니다. 하지만 한 번 성공하면 성능 차이는 크지 않습니다.

Apple Metal: Mac 사용자를 위한 숨은 장점

Apple Silicon Mac(M1/M2/M3/M4)을 사용한다면 좋은 소식이 있습니다. 아무것도 설정하지 않아도 됩니다.

정말입니다. 별도 설정이 없습니다. Ollama를 설치하고 모델을 실행하면 GPU 가속이 자동으로 활성화됩니다. Apple의 Metal 프레임워크는 Ollama에 이미 내장되어 있고, 시스템이 모델을 GPU에 자동으로 로드합니다.

M 시리즈 칩의 성능

커뮤니티 테스트 기준으로 Mac의 로컬 LLM 성능은 꽤 괜찮은 편입니다.

  • M1/M2 8GB: 7B 모델 실행 시 약 15-20 tok/s
  • M2 Pro 16GB: 14B 모델 실행 시 약 25-30 tok/s
  • M3 Max 36GB: 30B 이상 모델도 30+ tok/s 수준 유지

CPU-only 오래된 머신과 비교하면 이미 충분히 실용적인 속도입니다. RTX 4090 같은 즉답 수준에는 미치지 못하지만, 일상적인 코드 보조, 번역, 문장 다듬기에는 충분합니다.

2026년의 새 선택지: MLX 백엔드

M 시리즈 칩을 쓰고 있고 통합 메모리가 32GB 이상이라면, 예를 들어 M3 Max나 M4 Pro라면 MLX 백엔드도 사용할 수 있습니다. MLX는 Apple이 자사 칩에 맞춰 최적화한 머신러닝 프레임워크입니다.

개발자 커뮤니티 데이터에 따르면 MLX 백엔드는 추론 속도를 93% 높일 수 있습니다. 예를 들어 기존에 Llama 3 8B가 초당 57.8 token으로 실행됐다면, MLX에서는 111.4 tok/s까지 올라갈 수 있습니다. 체감상 “꽤 부드럽다”에서 “정말 빠르다”로 넘어가는 차이입니다.

활성화 방법도 어렵지 않습니다. 인자를 하나 추가하면 됩니다.

ollama run llama3 --backend mlx

다만 MLX는 현재 메모리 요구량이 높은 편입니다. 32GB 미만에서는 안정적이지 않을 수 있습니다. 또한 일부 모델만 MLX를 지원하며, 주로 mlx 형식으로 배포된 모델이 대상입니다.

GPU가 일하고 있는지 확인하는 방법

Activity Monitor(활동 모니터)를 열고 GPU History 탭으로 전환합니다. 모델을 실행할 때 GPU 사용률이 뚜렷하게 올라가야 합니다. 실행 내내 CPU만 움직이고 GPU가 전혀 반응하지 않는다면 Metal이 활성화되지 않았을 가능성이 있습니다. 이런 경우는 드물지만, 보통 Ollama를 다시 설치하면 해결됩니다.

GPU 감지에 실패했다면: 자주 만나는 문제 해결

하드웨어 설정을 만지다 보면 문제를 만나는 것은 거의 자연스러운 과정입니다. 제가 겪었거나 자주 보이는 문제와 해결 방법을 정리했습니다.

문제 1: no compatible GPUs were discovered

가장 흔한 오류입니다. Ollama가 사용할 수 있는 GPU를 찾지 못했다는 뜻입니다.

가능한 원인:

  • 드라이버가 설치되지 않았거나 버전이 너무 오래됨
  • GPU 모델이 지원되지 않음, 예를 들어 GTX 700 시리즈 같은 오래된 카드
  • Docker 컨테이너에 GPU 접근 권한이 설정되지 않음

확인 순서:

# NVIDIA: 드라이버 확인
nvidia-smi

# AMD: ROCm 확인
rocminfo

# 명령이 오류를 내면 먼저 드라이버를 설치

문제 2: Not compiled with GPU offload support

이 오류는 다운로드한 Ollama 버전에 GPU 지원이 포함되어 있지 않다는 뜻입니다.

해결 방법: 공식 사이트에서 올바른 버전을 다시 다운로드합니다. AMD 사용자는 Ollama에 ROCm 전용 버전이 있다는 점을 특히 주의해야 합니다. 다운로드 링크가 CUDA 버전과 다르므로 잘못 받지 않도록 확인하세요.

문제 3: NVIDIA 드라이버 버전이 너무 낮음

Ollama는 NVIDIA 드라이버 450 이상을 요구합니다. 시스템이 아직 400대 구버전 드라이버를 사용하고 있다면 CUDA가 동작하지 않습니다.

# 현재 드라이버 버전 확인
nvidia-smi | grep "Driver Version"

# 버전이 너무 낮으면 드라이버 업데이트
sudo apt install nvidia-driver-535

문제 4: AMD amdgpu 드라이버 누락

Linux에서 AMD GPU가 정상 동작하려면 amdgpu 드라이버가 필요합니다. 일부 시스템은 기본으로 오래된 radeon 드라이버가 설치되어 있을 수 있고, 이 경우 ROCm을 지원하지 않습니다.

# 현재 로드된 드라이버 확인
lsmod | grep amdgpu

# 출력이 없다면 수동 설치 필요
sudo apt install amdgpu-dkms

문제 5: SELinux가 컨테이너의 GPU 접근을 거부함

이 문제는 CentOS/RHEL 계열 시스템에서 만난 적이 있습니다. SELinux 기본 정책이 컨테이너의 GPU 장치 접근을 막을 수 있습니다.

임시 해결:

sudo setenforce 0  # SELinux 임시 비활성화

영구 해결은 SELinux 정책 조정이 필요해 조금 복잡합니다. Red Hat 공식 문서를 참고하는 것이 좋습니다. 또는 Ubuntu로 옮기면 훨씬 단순해집니다.

검증 명령 모음

마지막으로 빠르게 확인할 수 있는 명령 목록을 정리합니다. 문제가 생기면 이 순서대로 점검하세요.

# 1. GPU가 시스템에 인식되는지 확인
nvidia-smi       # NVIDIA
rocminfo         # AMD
system_profiler SPDisplaysDataType  # macOS

# 2. Ollama 프로세스 상태 확인
ollama ps

# 3. GPU 사용률 실시간 모니터링(모델 실행 중)
watch -n 1 nvidia-smi    # NVIDIA
rocm-smi -a              # AMD

# 4. 환경 변수 확인
echo $CUDA_VISIBLE_DEVICES
echo $ROCR_VISIBLE_DEVICES

대부분의 문제는 이 몇 가지 명령으로 위치를 좁힐 수 있습니다. 그래도 해결되지 않으면 Ollama의 GitHub Issues에서 검색해 보세요. 비슷한 문제를 겪은 사람이 꽤 많습니다.

마무리

지금까지의 내용을 빠르게 비교하면 다음과 같습니다.

플랫폼전제 조건설정 난이도추천도
NVIDIA드라이버 450+쉬움(거의 무설정)1순위
AMD (Linux)ROCm v7보통(몇 단계 명령 필요)2순위
AMD (Windows)ROCm v6.1 Preview어려움(WSL2 권장)보통
Apple Silicon별도 설정 없음가장 쉬움Mac 사용자 1순위

GPU 가속은 한 번 설정해 두면 오래 이득을 보는 작업입니다. CPU의 “실행은 된다”에서 GPU의 “쓸 만하다”로 넘어가면 체감 차이가 정말 큽니다. 사용 중인 GPU는 어느 플랫폼인가요? 설정 중 어떤 문제를 만났나요? 댓글에 남겨 주시면 확인하는 대로 답해 보겠습니다.

Ollama GPU 가속 설정

세 플랫폼에서 GPU 가속을 설정하는 전체 절차

⏱️ Estimated time: 30 min

  1. 1

    Step 1: GPU 모델과 드라이버 확인

    사용 중인 GPU 유형에 맞는 검증 방법을 선택합니다:

    - NVIDIA: nvidia-smi를 실행해 GPU 정보를 확인합니다
    - AMD: rocminfo를 실행해 ROCm이 GPU를 인식하는지 확인합니다
    - macOS: 별도 검증이 필요 없으며 Metal이 자동 활성화됩니다
  2. 2

    Step 2: NVIDIA CUDA 설정

    가장 간단한 방식입니다. 드라이버만 설치하면 됩니다:

    1. 드라이버 설치: sudo apt install nvidia-driver-535
    2. 시스템 재부팅
    3. 검증: nvidia-smi가 GPU 정보를 표시해야 합니다
    4. Ollama가 CUDA를 자동 감지하므로 추가 설정은 필요 없습니다
  3. 3

    Step 3: AMD ROCm 설정(Linux)

    ROCm v7 설치가 필요합니다:

    1. 설치: sudo apt install amdgpu-install
    2. 설정: sudo amdgpu-install --usecase=rocm
    3. 권한: sudo usermod -aG render,video $USER
    4. 재부팅 후 검증: rocminfo
    5. 오래된 GPU는 필요할 수 있습니다: export HSA_OVERRIDE_GFX_VERSION=10.3.0
  4. 4

    Step 4: GPU 가속 적용 여부 검증

    모델 실행 중 GPU가 실제로 동작하는지 확인합니다:

    - ollama ps를 실행해 GPU 사용률을 확인합니다
    - NVIDIA: nvidia-smi -l 1로 실시간 모니터링
    - AMD: rocm-smi -a로 실시간 모니터링
    - macOS: Activity Monitor에서 GPU History 확인
  5. 5

    Step 5: 멀티 GPU 환경 설정

    사용할 GPU를 지정합니다:

    - NVIDIA: export CUDA_VISIBLE_DEVICES=0,2
    - AMD: export ROCR_VISIBLE_DEVICES=0,1
    - 환경 변수를 ~/.bashrc에 추가해 영구 적용합니다

FAQ

Ollama는 어떤 GPU 플랫폼을 지원하나요?
Ollama는 NVIDIA(CUDA, Compute Capability 5.0+), AMD(ROCm v7 Linux / v6.1 Windows Preview), Apple Silicon(Metal 자동 활성화) 세 플랫폼을 지원합니다. 그중 NVIDIA 설정이 가장 간단하고, Apple Mac 사용자는 거의 설정 없이 사용할 수 있습니다.
GPU VRAM이 부족하면 어떻게 해야 하나요?
VRAM은 실행 가능한 모델 크기를 결정합니다. 7B 모델은 5-6GB, 14B는 10-12GB, 70B는 40GB 이상이 필요합니다. VRAM이 부족하면 1. 더 작은 양자화 모델을 사용하거나, 2. Ollama가 CPU 메모리를 보조로 쓰게 두거나(속도는 느려집니다), 3. 여러 GPU로 부하를 나눌 수 있습니다.
GPU 가속이 실제로 적용됐는지 어떻게 확인하나요?
모델을 실행하는 동안 ollama ps 명령을 실행해 GPU 사용률을 확인합니다. NVIDIA 사용자는 nvidia-smi -l 1로 VRAM 사용량을 실시간 모니터링할 수 있습니다. GPU 사용률이 올라가면 가속이 적용된 것입니다.
RX 580 같은 오래된 AMD GPU도 사용할 수 있나요?
일부 오래된 GPU는 환경 변수로 강제 활성화할 수 있습니다. export HSA_OVERRIDE_GFX_VERSION=10.3.0을 설정해 gfx1030 호환 모드를 강제로 사용합니다. 다만 모든 환경에서 동작하는 것은 아니므로 직접 테스트가 필요합니다.
Docker 컨테이너에서 GPU를 어떻게 사용하나요?
NVIDIA는 nvidia-container-toolkit을 설치한 뒤 Docker runtime을 설정해야 합니다. 컨테이너를 시작할 때 --gpus all 인자를 추가합니다. AMD 컨테이너 GPU 설정은 더 복잡하므로 가능하면 호스트 머신에서 Ollama를 직접 실행하는 편이 좋습니다.
Apple Silicon의 MLX 백엔드는 어떻게 활성화하나요?
모델 실행 시 --backend mlx 인자를 추가합니다. 예를 들어 ollama run llama3 --backend mlx처럼 실행합니다. MLX는 32GB 이상 통합 메모리를 권장하며, 일부 모델만 지원합니다. 성능 향상 폭은 약 93%입니다.
'no compatible GPUs were discovered' 오류가 나면 어떻게 하나요?
순서대로 확인합니다. 1. 드라이버가 설치됐는지(nvidia-smi 또는 rocminfo), 2. 드라이버 버전이 너무 낮지 않은지(NVIDIA는 450+ 필요), 3. Docker 컨테이너에 GPU 접근 권한을 설정했는지, 4. AMD 환경에서 amdgpu 드라이버가 빠지지 않았는지 확인합니다.

3분 읽기 · 게시일: 2026년 4월 25일 · 수정일: 2026년 10월 21일

댓글

GitHub로 로그인하여 댓글을 남기세요

Easton BlogEaston Blog