chanyong's notepad

우바부가(text-generation-webui) & ollama 설치 및 모델 사용 방법(+2024/04/10) 본문

컴퓨터 공학 공부/Computation and language

우바부가(text-generation-webui) & ollama 설치 및 모델 사용 방법(+2024/04/10)

chanyongp 2024. 2. 4. 00:37

리눅스 민트 환경에서 작동시키는 방법에 대해 서술하겠습니다.

윈도우 유저의 경우 wsl을 활용해 리눅스 환경을 구축해두면 되고, mac 유저의 경우에는 그대로 따라해주시면 됩니다. (unix 기반)

1. 우바부가(text-generation-webui)

1. Anaconda 설치하기

터미널에 다음 명령어를 작성합니다.

wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
...
bash Anaconda3-2023.09-0-Linux-x86_64.sh
...

 

두 번째 명령어를 입력하고 난 뒤에는 라이선스 관련 내용이 나오는데, enter를 누르며 스킵하다가 총 두 번, y/n이 뜰 때에 y를 눌러주시면 됩니다.

 

2. 가상환경 설정

원하는 위치로 cd한 다음, 다음 명령어를 작성합니다.

conda create -n textgen python=3.11
conda activate textgen

 

작성 후에는 명령어를 치는 줄 맨 왼쪽에 (textgen)이 적혀있는 것을 확인할 수 있습니다.

cf) 가상환경에서 벗어나려면 다음 명령어를 작성하면 됩니다.

conda deactivate

3. Pytorch 설치

Linux/WSL NVIDIA pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Linux/WSL CPU only pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
Linux AMD pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6
MacOS + MPS Any pip3 install torch torchvision torchaudio
Windows NVIDIA pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Windows CPU only pip3 install torch torchvision torchaudio

 

NVIDIA 그래픽 카드를 이용하는 경우 맨 위의 명령어를 붙여넣으면 되고, 아래의 명령어도 입력합니다.

conda install -y -c "nvidia/label/cuda-12.1.1" cuda-runtime

 

4. web UI 설치

cd로 web UI 폴더를 위치하고 싶은 곳으로 이동하고, 아래 명령어를 입력합니다.

git clone https://github.com/oobabooga/text-generation-webui
cd text-generation-webui
pip install -r <requirements file according to table below>
NVIDIA has AVX2 requirements.txt
NVIDIA no AVX2 requirements_noavx2.txt
AMD has AVX2 requirements_amd.txt
AMD no AVX2 requirements_amd_noavx2.txt
CPU only has AVX2 requirements_cpu_only.txt
CPU only no AVX2 requirements_cpu_only_noavx2.txt
Apple Intel requirements_apple_intel.txt
Apple Apple Silicon requirements_apple_silicon.txt

 

일반적으로 pip install -r requirements.txt를 입력하면 됩니다.

5. web UI 실행

다음 명령어를 실행하면, http://127.0.0.1:7860/ 창이 뜹니다.

conda activate textgen
cd text-generation-webui
python server.py --auto-launch --api --n_ctx 2048 --auto-devices --load-in-4bit

 

 

맨 위에서 Model을 클릭한 다음 Huggingface에서 원하는 모델의 이름을 복사한 뒤, 다운로드 항목에 붙여넣으면 모델을 다운로드할 수 있습니다.

ex) 저의 경우, 다음 모델을 입력한 뒤 다운로드받았습니다.

OpenBuddy/openbuddy-mistral-7b-v17.1-32k

이후 위 창의 Model에서 다운로드받은 모델을 선택한 뒤 load 버튼을 눌러주시면 됩니다.

 

이때 발생하는 오류들은 대부분 github에 나와 있는 Installation guide를 따라가면 해결할 수 있습니다.

저의 경우에도 아래 화면과 같은 에러가 발생했으나, pip uninstall torch 후 pytorch를 다시 설치한 뒤 순차적으로 guide를 따라감으로써 해결할 수 있었습니다.

RuntimeError, 관련 포럼 검색 결과 flash_attn이나 torch 설치에 문제가 있었던 것 같습니다.

https://github.com/oobabooga/text-generation-webui?tab=readme-ov-file#manual-installation-using-conda

 

GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, lla

A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models. - GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Mod...

github.com

또한, 모델을 load하다가 중간에 중단되는 경우가 있는데, 이는 크기가 더 작은 모델로 대체하여 해결하였습니다.

 

 

+2024/04/10

세팅과 관련해서 아래 영상을 참조하시는 걸 추천드립니다.

https://www.youtube.com/watch?v=rr_BsjL4nQM&t=611s

(섬네일이 부적절하니 주의하세요...)

위 영상의 경우, text-generation-webui 세팅과 더불어 채팅에 적합한 모델 불러오기 및 캐릭터(프롬프트) 불러오기, 확장 기능 설명이 추가로 서술되어 있습니다.

langchain, RAG 관련해서는 추후에 글 올리겠습니다.

2. ollama

1. ollama 설치

아래 링크에서 명령어를 복사해줍니다.

https://ollama.ai/

 

Ollama

Get up and running with large language models, locally.

ollama.ai

curl https://ollama.ai/install.sh | sh

cf) curl이 깔려있지 않다고 나와있으면 sudo apt install curl을 입력해줍니다.

 

2. 모델 선택 및 작동

https://ollama.ai/library

 

library

Get up and running with large language models, locally.

ollama.ai

위 라이브러리에서 원하는 모델을 클릭한 뒤 ollama run (모델 이름)을 입력하면 알아서 모델을 다운로드 받은 뒤 프롬프트 창이 뜨게 됩니다.

 

 

각 UI에 관한 설명과 활용에 대해서는 추후에 설명드리도록 하겠습니다.

Reference :

https://arca.live/b/alpaca/91542560?mode=best&p=4

 

[뉴뉴비] wsl설치 + 우바부가(text-generation-webui) 설치 + 모델 다운로드 및 사용 방법 - Ai 언어모델 로

- LLM 오늘 입문했습니다.- 뉴뉴비인데 눈팅해보니 파란창 다들 가지고 있으셔서 저도 열심히 찾아보고 구동까지 완료했습니다.- 저같이 늦게 시작하시는 분들 도움이 되셨으면해서 글 쓰게 되었

arca.live

https://arca.live/b/alpaca/96121667?target=all&keyword=ollama&p=1

 

내 로컬 컴퓨터에 copilot 같은 코딩 조수를 깔아보자 (feat. ollama + continue.dev) - Ai 언어모델 로컬 채

나이먹어서 코딩하려고 하니 눈도 침침하고 기억력도 감퇴되고 해서 도구의 힘을 빌어야 하는 사람. 그렇지만 매달 꼬박꼬박 돈나가는 copilot 같은걸 결제하기엔 그돈이 아까운 사람을 위해 이

arca.live

https://meuse.tistory.com/entry/Linux%EC%97%90-Anaconda-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

Linux에 Anaconda 설치하기

2023. 10. 20. 업데이트 된 내용입니다. 1. 최신버전 확인하기 Free Download | Anaconda Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 자신

meuse.tistory.com

https://github.com/oobabooga/text-generation-webui

 

GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, lla

A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models. - GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Mod...

github.com

 

반응형