vLLM 설치 및 설정
vLLM, Open WebUI란
vLLM는 여러 언어 모델을 자신의 서버에서 사용할 수 있도록 하는 도구로 Hugging Face를 통해 LLM 모델을 다운로드 받아 사용할 수 있는 프로그램 입니다.
기본적으로는 GPU의 VRAM을 사용하도록 구성되어 있어 작동 속도가 빠르며 LLM 모델에 따라서는 명령어 옵션을 자세히 파악하고 있어 야 원할한 사용이 가능하기에 중상급자에게 추천하는 프로그램입니다.
Open WebUI는 ollama와 연동하여 LLM 모델을 Web에서 사용할 수 있도록 하는 프로그램으로 OpenAI API를 지원하고 있어 vLLM와 연동이 가능하고 사용이 간편하며 여러 기능이 탑재되어 있습니다.
이 가이드에서는 vLLM와 Open WebUI의 설치 및 설정 방법에 대해 설명하며 설치 스크립트는 하단의 내용을 참고 해주시기 바랍니다.
설치 및 설정 방법
- 운영체제 : Ubuntu 24.04
- 설치 전 라이선스를 확인하시기 바랍니다.
- 설치에 실패할 경우 서버 내부에서 외부망 사용이 불가능한지 확인 해주세요.
1. 운영체제 업데이트 및 업그레이드
운영체제의 업데이트 및 업그레이드를 진행 후 리부팅을 진행합니다.
apt update
apt upgrade
reboot
2. vLLM & Open WebUI 설치
vLLM 설치에 필요한 패키지를 설치합니다.
apt install python3-pip python3.12-venv nvidia-driver-550
파이썬의 가상환경을 생성합니다.
python3 -m venv /iwinv_venv
가상환경으로 진입합니다.
source /iwinv_venv/bin/activate
가상환경 내부에서 vLLM, Open WebUI, huggingface_hub를 설치합니다.
pip install vllm open-webui huggingface_hub
3. vLLM 설정(블록스토리지를 추가할 경우)
LLM 모델의 종류 및 파라미터에 따라 저장되는 용량에 차이가 있어 사용 하다보면 서버 내부의 디스크 공간이 부족할 수 있습니다.
이 경우 블록스토리지 가이드을 참고하여 블록스토리지를 장착한 뒤 사용하는 것을 권장 합니다.
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 5.9G 1.1M 5.9G 1% /run
/dev/vda1 ext4 96G 21G 76G 22% /
tmpfs tmpfs 30G 4.0K 30G 1% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda16 ext4 881M 112M 707M 14% /boot
/dev/vda15 vfat 105M 6.2M 99M 6% /boot/efi
tmpfs tmpfs 5.9G 20K 5.9G 1% /run/user/0
블록스토리지를 추가했다면 vLLM에 사용될 LLM 모델이 저장될 디렉토리를 생성하고 마운트를 진행합니다.
mkdir /vLLM_llm
mount /dev/vdb1 /vLLM_llm
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 5.9G 1.1M 5.9G 1% /run
/dev/vda1 ext4 96G 21G 76G 22% /
tmpfs tmpfs 30G 4.0K 30G 1% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda16 ext4 881M 112M 707M 14% /boot
/dev/vda15 vfat 105M 6.2M 99M 6% /boot/efi
tmpfs tmpfs 5.9G 20K 5.9G 1% /run/user/0
/dev/vdb1 ext4 49G 1G 49G 1% /ollama_llm
vLLM
에서 LLM 모델이 저장되고 사용될 위치를 환경변수에 추가해 적용합니다.
echo 'export HF_HOME=/vLLM_llm/huggingface' >> ~/.bashrc
source ~/.bashrc
4. Open WebUI 설정
Open WebUI는 service, systemctl을 통한 서비스 데몬 실행이 제공되지 않으며 아래의 명령어를 통해 http://xxx.xxx.xxx.xxx:8080
으로 접근이 가능합니다. 실행 중 터미널에서 Ctrl + C
를 사용하거나 로그아웃 시 프로세스의 종료가 진행 됩니다.
open-webui serve
편리하게 사용하기 위해 서비스 데몬을 생성해보겠습니다.
[Unit]
Description=Open WebUI Service
After=network.target
[Service]
Type=simple
ExecStart=/iwinv_venv/bin/open-webui serve
ExecStop=/bin/kill -HUP $MAINPID
User=root
Group=root
# 로그 파일 별도 생성
StandardOutput=append:/var/log/openwebui/openwebui.log
StandardError=append:/var/log/openwebui/openwebui_error.log
[Install]
WantedBy=multi-user.target
로그 파일이 별도로 저장될 수 있도록 서비스 데몬에 설정한 위치에 디렉토리를 생성합니다.
mkdir /var/log/openwebui
서버의 리부팅 시 서비스가 동작하도록 설정 후 재시작합니다.
systemctl daemon-reload
systemctl enable openwebui.service
systemctl start openwebui.service
사용 방법
지금까지 설치 및 설정 방법에 대해 알아보았습니다.
vLLM을 사용하는 방법은 아래 링크에서 이어 확인하실 수 있습니다.