GPU에서 실행되는 올라마 커스터마이징

Windows(컴퓨터)

다음은 Windows 시스템에서 GPU에서 실행되도록 Ollama를 사용자 지정하는 방법의 예시입니다.

Ollama 기본적으로 추론에는 CPU가 사용됩니다. 더 빠른 추론을 위해 Ollama에서 사용하는 GPU를 구성할 수 있으며, 이 튜토리얼에서는 Windows 시스템에서 GPU 가속을 사용하도록 환경 변수를 설정하는 방법을 안내합니다.

사전 조건

  • 컴퓨터에 NVIDIA 그래픽 카드가 있습니다.
  • NVIDIA 그래픽 드라이버가 설치되어 있으며 다음 명령과 함께 사용할 수 있습니다. nvidia-smi 를 클릭하여 드라이버가 설치되어 있는지 확인합니다.
  • CUDA 툴킷이 설치되어 다음 명령과 함께 사용할 수 있습니다. nvcc --version 를 클릭하여 CUDA가 설치되어 있는지 확인합니다.

NVIDIA 그래픽 드라이버 및 CUDA 툴킷 설치에 대해서는 관련 튜토리얼을 직접 검색할 수 있으므로 이 글에서는 반복하지 않겠습니다. 컴퓨터가 위의 전제 조건을 충족하는 경우, 올라마는 기본적으로 GPU 가속을 사용합니다. 특정 GPU를 지정하려면 아래 단계에 따라 설정할 수 있습니다.

환경 변수 구성

  1. 시스템 환경 변수 설정을 엽니다.
    • Windows 검색창에 '환경 변수'를 입력하고 '시스템 환경 변수 편집'을 선택합니다.
    • 시스템 속성 팝업 창에서 고급 탭을 클릭한 다음 환경 변수 버튼을 클릭합니다.
  2. OLLAMA_GPU_LAYER 변수 생성하기
    • '시스템 변수' 영역에서 '새로 만들기' 버튼을 클릭합니다.
    • 새 시스템 변수 대화 상자에서 다음 정보를 입력합니다:
      • 변수 이름: OLLAMA_GPU_LAYER
      • 변수 값: cuda (이렇게 하면 올라마가 GPU 가속을 위해 CUDA를 사용하도록 지시합니다).
    • "확인"을 클릭하여 변수를 저장합니다.

    Ollama 自定义在 GPU 中运行

  3. (선택 사항) 사용할 GPU 지정
    • 시스템에 여러 개의 GPU가 있고 올라마가 특정 GPU를 사용하도록 지정하려는 경우, 다음과 같이 설정할 수 있습니다. CUDA_VISIBLE_DEVICES 환경 변수.
    • GPU의 UUID를 찾습니다: 드라이버 업데이트나 시스템 재부팅으로 인해 번호가 변경될 수 있으므로 번호 대신 UUID를 사용하는 것이 좋습니다.
      • 명령 프롬프트 또는 PowerShell을 엽니다.
      • 실행 명령을 실행합니다:nvidia-smi -L
      • 출력에서 사용하려는 GPU의 "UUID" 값을 찾습니다. 예시:GPU 00000000:01:00.0 lower UUID : GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

      Ollama 自定义在 GPU 中运行

    • CUDA_VISIBLE_DEVICES 변수를 생성합니다:
      • '시스템 변수' 영역에서 '새로 만들기' 버튼을 클릭합니다.
      • 새 시스템 변수 대화 상자에서 다음 정보를 입력합니다:
        • 변수 이름: CUDA_VISIBLE_DEVICES
        • 변수 값: 발견된 GPU의 UUID입니다. 예를 들어:GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      • "확인"을 클릭하여 변수를 저장합니다.

중요: 환경 변수를 효과적으로 사용하기 위해서는 올라마가 실행 중인 터미널 또는 애플리케이션을 다시 시작합니다. .

GPU 가속이 적용되었는지 확인합니다:

  1. 명령 프롬프트를 엽니다.
  2. 예를 들어 Ollama를 실행합니다: ollama run deepseek-r1:1.5b
  3. 새 명령 프롬프트 창을 열고 ollama ps 명령을 사용하여 Ollama에서 실행 중인 프로세스를 볼 수 있습니다.
Ollama 自定义在 GPU 中运行

 

Linux

다음은 Linux 시스템에서 GPU에서 실행되도록 Ollama를 사용자 지정하는 방법의 예입니다.

  1. 설정 ollama_gpu_selector.sh 스크립트 파일에 다음 내용을 추가합니다:
#!/bin/bash

# Validate input
validate_input(){
if[[! $1 =~^[0-4](,[0-4])*$ ]];then
echo "Error: Invalid input. Please enter numbers between 0 and 4, separated by commas."
exit1
fi
}

# Update the service file with CUDA_VISIBLE_DEVICES values
update_service(){
# Check if CUDA_VISIBLE_DEVICES environment variable exists in the service file
if grep -q '^Environment="CUDA_VISIBLE_DEVICES='/etc/systemd/system/ollama.service;then
# Update the existing CUDA_VISIBLE_DEVICES values
sudo sed -i 's/^Environment="CUDA_VISIBLE_DEVICES=.*/Environment="CUDA_VISIBLE_DEVICES='"$1"'"/'/etc/systemd/system/ollama.service
else
# Add a new CUDA_VISIBLE_DEVICES environment variable
sudo sed -i '/\[Service\]/a Environment="CUDA_VISIBLE_DEVICES='"$1"'"'/etc/systemd/system/ollama.service
fi

# Reload and restart the systemd service
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
echo "Service updated and restarted with CUDA_VISIBLE_DEVICES=$1"
}

# Check if arguments are passed
if["$#"-eq 0];then
# Prompt user for CUDA_VISIBLE_DEVICES values if no arguments are passed
read -p "Enter CUDA_VISIBLE_DEVICES values (0-4, comma-separated): " cuda_values
validate_input "$cuda_values"
update_service "$cuda_values"
else
# Use arguments as CUDA_VISIBLE_DEVICES values
cuda_values="$1"
validate_input "$cuda_values"
update_service "$cuda_values"
fi
  1. 스크립트 파일에 실행 권한 추가하기
chmod +x ollama_gpu_selector.sh
sudo ./ollama_gpu_selector.sh

스크립트를 실행한 후 GPU 번호를 묻는 메시지에 따라 Ollama에서 사용하는 GPU를 지정합니다. 예를 들어 쉼표를 사용하여 여러 개의 GPU 번호를 구분할 수 있습니다:0,1,2.

  1. 올라마 서비스 다시 시작하기
cat /etc/systemd/system/ollama.service

명령을 실행한 후 Ollama 서비스 파일을 살펴보고 다음과 같이 표시되는지 확인합니다. CUDA_VISIBLE_DEVICES 환경 변수가 업데이트되었습니다.

업데이트된 경우 예를 들어 다음과 같은 내용이 추가됩니다. Environment="CUDA_VISIBLE_DEVICES=0,1,2" 환경 변수.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...