Llama 3 & Oobabooga로 만드는 로컬 LLM – AI 입문자 가이드
포스트 30초 요약
최근 Meta(구. 페이스북)의 Llama 3, MS(마이크로소프트)의 Phi-3 등 오픈소스 생성형 AI 모델이 주목받고 있습니다. 하지만 이러한 모델을 사용하려면 인터넷에 연결된 상태에서 사용이 가능합니다. 그런데 만약 인터넷 접속에 문제가 생긴다면 이런 서비스를 사용할 수 있을까요?
당연히 불가합니다. 하지만, 이번 포스트를 통해 가능한 방법을 알려드리겠습니다. 우바부가(Oobabooga)라는 오픈소스 프로그램과 최신 AI모델인 라마 3(Llama 3)의 한국어 지원 모델을 이용하여 로컬 환경에서 인공지능 시스템을 이용할 수 있는 솔루션을 소개해 드리겠습니다.
우바부가 개요와 설치
개요
Oobagooga는 AI 모델을 로컬 컴퓨터 구축 후 인터넷 없이도 인공지능 시스템을 이용할 수 있도록 지원하는 오픈소스 프로그램입니다. 간단한 사용자 인터페이스를 통해 대화형 AI 모델을 로딩하고 실행할 수 있어 필수 사용 옵션만 알면 초보자도 나름 쉽게 접근할 수 있습니다.
Oobagooga는 다양한 설정 옵션을 제공하여 모델의 성능과 출력을 커스터마이징할 수 있습니다.(이 부분은 조금 까다로운 부분이 있어서 별도의 포스트로 다루도록 하겠습니다.)
설치(macOS를 메인으로)
그럼 먼저 아래의 순서에 따라 내 컴퓨터에 우바부가를 설치하겠습니다.
1. 설치파일 다운로드
위 제목의 ‘다운로드’를 클릭해서 Downloads 폴더로 ‘text-generation-webui-snapshot-2024-04-28.zip’ 파일을 내려받습니다. 해당 파일을 오른쪽 마우스 클릭 후 ‘Open’하여 압축을 풉니다.
* 윈도우 os의 경우 압축을 푼 폴더 내 'start_windows.bat' 파일을 더블클릭 하면 한번에 우바부가가 설치 됩니다. 설치화면 마지막에 아래의 '5. Oobabooga 실행' 단계에서의 local url을 확인할 수 있습니다.
2. 설치파일 실행
command(⌘) + spacebar를 눌러서 ‘terminal’을 검색하여 터미널창을 실행하고 아래와 같이 해당폴더로 이동하여 설치명령어를 실행합니다.(각종 패키지와 환경설정을 자동으로 수행합니다.)
# 터미널에서 입력 cd 명령어로 폴더 이동후
cd downloads/text-generation-webui-snapshot-2024-04-28
# 설치 명령어 실행
sh start_macos.sh
3. 가상환경 접속
아래의 화면이 2번 실행결과로 나타나는데 ‘conda activate ~중략~/env’를 터미널에서 실행하여 가상환경으로 들어갑니다.
# To activate this environment, use
# $ conda activate /Users/*******/downloads/text-generation-webui-snapshot-2024-04-28/installer_files/env
# To deactivate an active environment, use
# $ conda deactivate
만약, No module named 'yaml' 등의 메시지가 발생하면 pip install PyYAML 명령을 실행하여 패키지를 설치합니다.처음 실행해본 결과 rich, accelerate, gradio, markdown, transformers, numba 등을 pip install 명령으로 추가로 설치해야 합니다. 원클릭으로 설치가 된다고 되어있는데 말입니다. (이 부분은 다른 방안이 있을 것으로 보입니다. 향후 추가로 업데이트 하겠습니다.)
4. requirements 설치
아래 명령어를 실행하여 맥OS에 필요한 각종 패키지를 설치합니다. 컴퓨터 사양에 따라서 시간이 조금 다르지만 5분 이내에 설치가 됩니다.
pip install -r "requirements_apple_silicon.txt"
5. Oobabooga 실행
다음 명령어를 실행하여 Oobabooga를 구동합니다. 정확히는 ‘text generation web UI’ 입니다. 그러면 아래 그림과같이 터미널창에 local URL이나타나는데, URL을 복사하여 웹브라우저 주소창에 입력해서 접속합니다. 그러면 아래 두번째 그림처럼 웹브라저를 통해 우바부가가 실행됩니다.(내 컴퓨터 안에서 자체적으로 서버를 구동하게 됩니다.)
./start_macos.sh
Llama 3 모델 다운로드
우바부가 웹UI의 상단 Model 탭을 클릭한 뒤, Download 버튼 위의 2개의 입력 칸에 각각 아래의 텍스트를 복붙합니다. 그리고 Download 버튼을 눌러서 Llama3 한국어 지원 모델을 다운로드 합니다.
teddylee777/Llama-3-Open-Ko-8B-Instruct-preview-gguf
Llama-3-Open-Ko-8B-Instruct-preview-Q8_0.gguf
이 모델은 이준범(beomi)님께서 Meta-Llama-3-8B를 기반으로 사전학습한 모델인 Llama-3-Open-Ko-8B을 이경록(teddylee777)님이 저사양 컴퓨터에서 실행할 수 있도록 만든 GGUF 형식의 모델입니다.
아래의 그림과 같이 해당 모델을 다운받기 시작합니다. 무려 8GB가 넘는 모델이다 보니 인터넷 환경에 따라 시간이 다소 소요됩니다. 구축 아파트의 비애(?)로 인해 10분이 넘는 시간이 걸려서 라마 3 모델 파일이 다운로드 되었습니다.
Llama 3 Oobabooga Load & Chatting
모델을 다운로드 했으니 이제 Oobabooga가 이 상황을 인식하도록 해야 합니다. 1️⃣ 새로고침(?) 버튼을 누르면 다운로드한 라마 3 모델을 인지합니다. 2️⃣ 드롭다운 버튼을 눌러서 라마 3 모델을 선택합니다. 3️⃣ Load 버튼을 클릭해서 Ooobabooga에 라마 3를 장착합니다.
상단의 ‘Chat’ 메뉴를 클릭해서 아래 그림과 같이 라마 3와 대화가 가능합니다. ‘세종대왕 맥북 던진 사건’에 대해서 물어보겠습니다. 뭐라고 대답할지 궁금하군요.
이건 뭔가요. 한글도 아니고 영어로 아무말 대잔치가 벌어지는군요. 뭔가 제대로 된걸 보여드려야 할건데 말입니다. 제 구형 아이맥 성능 때문에 조금 버벅대는 것도 영향이 있는거 같습니다.
아래의 제원을 가진 윈도우OS 기반 게이밍 노트북으로 돌려본 결과를 보시겠습니다.그래도 일단 한글로 응답이 왔습니다. 하지만 아무말 대잔치를 하고 있습니다. 일단 이번 포스트에서는 로컬 LLM 구축에 의미를 두시는걸로 해야 할 것 같습니다.
# 윈도우OS가 설치된 게이밍 노트북 제원
CPU: AMD Ryzen 7 5800H with Radeon Graphics 3.20 GHz
Graphics: AMD Radeon RX 6600M
Memory: 16.0 GB
OS: Windows 11 Home
정리하기
이상으로 로컬 LLM 구축하는 방법을 알려드렸습니다. 이제 여러분은 최소 상위 1% 생성형 AI 활용능력 보유자가 되셨습니다. 축하드립니다.
Oobabooga를 설치하는데서 조금 집중이 필요했지만 그 외의 부분에서는 어려운 부분이 별로 없지않나 하고 생각합니다. 이제 인터넷이 없는 환경에서도 라마 3를 실행해서 인공지능 놀이가 가능해졌습니다.
물론 AI 모델의 파라미터가 8B이다보니 성능이 그렇게 우수하지는 않습니다. 서버급의 컴퓨터를 보유하신 분이라면 70B를 이용해 보시면 어느 정도 만족하실거라고 생각합니다.
앞으로는 각 분야별로 세분화된 전문 AI가 설치된 로컬 LLM 컴퓨터가 판매 되어서 외부 인터넷망과 분리되어 보안이 확보된 상태에서 자유롭게 AI 서비스를 이용하게 되는 날이 머지 않았습니다. 하나의 큰 사업, 아니 틈새시장이 되지 않을까요?
‘secondlife.lol’의 모든 콘텐츠는 저작권법의 보호를 받습니다. 무단 전재와 복사, 배포 등을 금합니다.