목차
3. 기본적인 경로를 통한 Ollama 사용 시 문제점
4. IPEX-LLM을 활용(Intel GPU를 활용)하여 Ollama 사용하는 방법
1. 개요
오픈AI가 ChatGPT를 발표한 이래로 연일 AI가 화제이다. ChatGPT 외에도 Gemini, Claude, 그리고 최근 발표되어 큰 관심을 끌고 있는 Deepseek까지 많은 모델들이 출시되고 있다.
그런데 최신의 LLM을 사용하려면 고사양의 컴퓨터가 필요하고, 따라서 예외 없이 클라우드 환경에서(인터넷 접속을 통해) 서비스를 제공하고 있다.
그러나 업무와 관련되어 LLM을 활용하려 할 경우에는 클라우드 환경에서 제공되는 서비스를 이용하기 어렵다. 보안에 관한 우려가 있기 때문이다.
그래서 LLM을 로컬 환경에서 사용하고자 하는 수요가 있게 되는데, 이에 대해서도 많은 서비스들이 제공되고 있다.
이 글에서는 로컬 환경에서 LLM을 사용할 수 있게 해주는 서비스들 가운데 Ollama를 다룬다.
특히, 필자의 경우 윈도우가 설치되어 있고 인텔 GPU(Iris Xe Graphics)가 탑재된 노트북(갤럭시북3 Pro)을 사용중인데, 이런 환경에서 조금 더 빠른 속도로 LLM을 사용할 수 있도록 해주는 IPEX-LLM도 함께 소개한다.
2. Ollama 설치 및 사용(기본적인 경로)
1. 설치
Ollama 설치 방법은 매우 간단하다. 먼저 공식 홈페이지에 접속해 Ollama를 다운로드 받아 설치한다.
Ollama
Get up and running with large language models.
ollama.com
설치가 다 되면 Ollama가 실행된다. Ollama가 가동중일 때는 아래와 같이 작업표시줄에 귀여운 Ollama 아이콘이 표시된다.
2. 사용
Ollama 사용 방법은 설치 방법이 쉬운 것에 비해서는 살짝 낯설다. 기본적으로 GUI가 아니라 CLI 환경에서 사용하게 돼 있기 때문이다. 먼저 커맨드 프롬프트를 연다. CMD이든 Powershell이든 관계 없다.
그리고 ollama를 입력해 본다. Ollama가 가동중이라면 Ollama의 사용법에 대한 간단한 안내문이 나온다.
PS C:\Users\codealone> ollama
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
다음으로는 원하는 LLM 모델을 골라야 한다. Ollama 공식 홈페이지 상단에서 Models를 클릭하면 다음과 같이 사용 가능한 모델들이 표시된다.
그중 원하는 모델을 골라 들어가보면 아래와 같이 사용 가능한 세부 모델들을 확인할 수 있다. 숫자가 클수록 고사양의 컴퓨터가 필요하다. 세부 모델들 중에서 원하는 모델을 선택한다.
그러면 해당 모델을 사용하는 데 필요한 커맨드가 표시된다. 이것을 복사해서 터미널에 입력해 실행하면 모델이 다운로드되고, 곧바로 실행된다.
PS C:\Users\codealone> ollama run llama3.2:1b
준비가 다 된 모습은 다음과 같다. 프롬프트에 원하는 질문을 하면 답변을 생성해준다.
pulling manifest
pulling 74701a8c35f6... 100% ▕████████████████████████████████████████████████████████▏ 1.3 GB
pulling 966de95ca8a6... 100% ▕████████████████████████████████████████████████████████▏ 1.4 KB
pulling fcc5a6bec9da... 100% ▕████████████████████████████████████████████████████████▏ 7.7 KB
pulling a70ff7e570d9... 100% ▕████████████████████████████████████████████████████████▏ 6.0 KB
pulling 4f659a1e86d7... 100% ▕████████████████████████████████████████████████████████▏ 485 B
verifying sha256 digest
writing manifest
success
>>> Send a message (/? for help)
3. 기본적인 경로를 통한 Ollama 사용 시 문제점
위의 순서에 따라 Ollama를 사용해 보면 답변의 품질은 둘째치고 생성 속도도 그다지 마음에 들지 않는다. 필자가 사용 중인 노트북의 경우 위의 설명에서 사용한 llama3.2 정도는 원활하게 돌아가지만, llama3.1 8b 모델 정도만 되어도 답변 생성속도가 느려서 사용이 불가능할 정도이다.
그런데 Ollama가 답변을 생성 중일 때 윈도우 작업관리자를 열어 보면 CPU는 허덕이고 있는 데 비해 GPU는 전혀 사용되고 있지 않은 것을 볼 수 있다.
Ollama의 문서를 보면 시스템 요구사항에 NVIDIA나 AMD Radeon 드라이버를 요구한다고 되어 있는데, 해당 드라이버가 없다면 CPU만으로 가동되도록 되어 있는 것 같다.
- NVIDIA 452.39 or newer Drivers if you have an NVIDIA card
- AMD Radeon Driver if you have a Radeon card
https://github.com/ollama/ollama/blob/main/docs/windows.md#system-requirements
ollama/docs/windows.md at main · ollama/ollama
Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 2, and other large language models. - ollama/ollama
github.com
가뜩이나 노트북으로는 로컬 환경에서 좋은 모델을 사용하기가 힘든데, 그나마 달려 있는 GPU도 사용하지 않으니 더 답답하다.
4. IPEX-LLM을 활용(Intel GPU를 활용)하여 Ollama 사용하는 방법
다행히도 이렇게 NVIDIA나 AMD Radeon 드라이버가 없는 환경에서 Intel GPU를 활용해 Ollama를 사용하는 방법이 있다. 바로 IPEX-LLM을 활용하는 것이다.
IPEX-LLM은 단지 Ollama를 사용하기 위한 용도에 그치는 것은 아니다. 공식 깃허브 페이지는 IPEX-LLM을 아래와 같이 설명하고 있다.
IPEX-LLM is an LLM acceleration library for Intel GPU(e.g., local PC with iGPU, discrete GPU such as Arc, Flex and Max), NPU and CPU
https://github.com/intel/ipex-llm
GitHub - intel/ipex-llm: Accelerate local LLM inference and finetuning (LLaMA, Mistral, ChatGLM, Qwen, Mixtral, Gemma, Phi, Mini
Accelerate local LLM inference and finetuning (LLaMA, Mistral, ChatGLM, Qwen, Mixtral, Gemma, Phi, MiniCPM, Qwen-VL, MiniCPM-V, etc.) on Intel XPU (e.g., local PC with iGPU and NPU, discrete GPU su...
github.com
우리는 그중 아래 페이지에 나오는 내용만 보면 된다.
https://github.com/intel/ipex-llm/blob/main/docs/mddocs/Quickstart/ollama_quickstart.md
ipex-llm/docs/mddocs/Quickstart/ollama_quickstart.md at main · intel/ipex-llm
Accelerate local LLM inference and finetuning (LLaMA, Mistral, ChatGLM, Qwen, Mixtral, Gemma, Phi, MiniCPM, Qwen-VL, MiniCPM-V, etc.) on Intel XPU (e.g., local PC with iGPU and NPU, discrete GPU su...
github.com
위의 설명에 따라서 몇가지 설치하고 명령어만 입력하면 된다
1. 그래픽 드라이버 업데이트
문서에 따르면, 현재 그래픽 드라이버의 버전이 31.0.101.5122 보다 낮다면 업데이트를 해야 한다. 아래의 Intel 공식 다운로드 페이지로 들어가 업데이트를 진행한다.
Intel® Arc™ & Iris® Xe Graphics - Windows*
Intel® Arc™ & Iris® Xe Graphics - Windows*
This download installs Intel® Graphics Driver 32.0.101.6557/32.0.101.6262 for Intel® Arc™ B-Series Graphics, Intel® Arc™ A-Series Graphics, Intel® Iris® Xe Graphics, and Intel® Core™ Ultra Processors with Intel® Arc™ Graphics.
www.intel.com
2. Miniforge
문서에 따르면, Miniforge를 사용할 것을 권하고 있다. 왜 그래야 하는지는 잘 모르겠지만, 권장사항에 따라 아래 페이지에 들어가 Miniforge를 설치한다.
conda-forge | community-driven packaging for conda | conda-forge | community-driven packaging for conda
Download page for the conda-forge installer
conda-forge.org
설치가 완료되면 Miniforge Prompt를 사용할 수 있다.
실행하면 윈도우의 커맨드 프롬프트와 비슷한 화면이 나타난다.
3. IPEX-LLM 설치
문서에 따라 다음의 커맨드를 입력해 IPEX-LLM을 설치한다.
conda create -n llm-cpp python=3.11
conda activate llm-cpp
pip install --pre --upgrade ipex-llm[cpp]
ipex-llm/docs/mddocs/Quickstart/llama_cpp_quickstart.md at main · intel/ipex-llm · GitHub
ipex-llm/docs/mddocs/Quickstart/llama_cpp_quickstart.md at main · intel/ipex-llm
Accelerate local LLM inference and finetuning (LLaMA, Mistral, ChatGLM, Qwen, Mixtral, Gemma, Phi, MiniCPM, Qwen-VL, MiniCPM-V, etc.) on Intel XPU (e.g., local PC with iGPU and NPU, discrete GPU su...
github.com
아래 커맨드를 이용하면 llm-cpp를 다시 deactivate 할 수 있다.
conda deactivate
4. Ollama 설치 및 실행
그리고 다음의 커맨드를 입력하면 Ollama가 설치된다. 이때는 프롬프트를 관리자 권한으로 실행해야 한다.
init-ollama.bat
마지막으로 다음의 커맨드를 입력하면 필요한 환경변수가 설정되고, Ollama가 실행된다. 최초 실행할 때 외에는 마지막 줄만 입력하면 된다.
set OLLAMA_NUM_GPU=999
set no_proxy=localhost,127.0.0.1
set ZES_ENABLE_SYSMAN=1
set SYCL_CACHE_PERSISTENT=1
rem under most circumstances, the following environment variable may improve performance, but sometimes this may also cause performance degradation
set SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1
ollama serve
이때는 예쁜 아이콘 같은 것은 안 나타나고 아래 그림처럼 많은 텍스트가 나타난다.
5. LLM 모델 설치
LLM 모델을 설치하고 사용하기 위해서 새 프롬프트를 열고, llm-cpp를 다시 활성화한다.
conda activate llm-cpp
그다음 다음 커맨드를 입력해서 원하는 모델을 설치한다. 이때는 왜인지 모르겠지만 run 명령어를 사용하면 오류가 발생하는 것 같다.
ollama pull llama3.1
설치가 다 되었으면 다음 커맨드를 입력해서 모델을 실행한다.
ollama run llama3.1
여기까지 하면 모두 끝이다.
6. GPU 사용 여부 확인
GPU를 사용하고 싶어서 여기까지 왔으니, 정말 GPU가 사용되고 있는지 확인해 보자. 아무 질문이나 던져보고, 작업관리자를 확인해 본다. 0%였던 것이 92%로 되었다. 수치로 측정은 안해봤지만 체감상 답변 속도도 훨씬 빠른다.
'그 외 컴퓨터 활용 > 기타' 카테고리의 다른 글
윈도우에서 파일, 폴더, 프로그램을 단축키로 실행하기, 상용구 자동 완성하기/오토핫키, AutoHotkey (0) | 2021.12.03 |
---|
댓글