Ollama와 Loacl LLM

cheshire0105·2024년 3월 3일
0

article

목록 보기
3/4
post-thumbnail

들어가며

오래 전 부터 Local LLM 즉, 네트워크 없이 내부 연산 장치로만 작동 하는 LLM에 대한 갈망이 있었다. 맥북의 M chip 시리즈는 연산 능력이 비약적으로 상승 했기 때문에 여타 다른 그래픽 카드나 장치 없이도 쉽게 실행이 가능 해졌는데, 오늘은 ollama를 통해 언어 모델을 설치 하고 실행 하고 나아가 web UI를 통해 chatGPT의 디자인과 흡사한 디자인으로 Local LLM을 실행 하는 방법을 소개 해본다.

Ollama...?

먼저 Ollama에 대한 개념을 정리 하고자 한다. ollama는 그 자체로는 언어 모델은 아니다. 다만 대중에게 공개된 오픈소스 LLM 들을 쉽게 사용하고 관리, 실행 할 수 있는 쉬운 프레임워크 이다. 즉, 시중에 나와 있는 언어모델을 쉽게 관리 할 수 있는 프로그램이라는 것이다. Ollama를 통해 언어 모델들을 쉽게 다운 받을 수 있고 로컬에서 실행 하는데 도움을 주는 프로그램이라고 할 수 있겠다.

사용 방법은 매우 쉽다.
Ollama에 들어가서 다운로드 하고 설치 하면 끝이다. ollama를 설치 하고 그 후엔 ollama를 통해 모델들을 터미널로 쉽게 다운 받고 실행 할 수 있다.

설치 되면 생기는 귀여운 라마 아이콘.

이 ollama가 떠 있으면 실행 중이라는 뜻임으로 터미널에서 실행 할 수 있다.

ollama
// ollama의 명령어 목록을 볼 수 있다.

ollama list 
// 설치 되어 있는 모델을 보여준다

ollama run (모델 이름)
// 설치 되어 있는 모델을 실행 하거나 모델을 설치 할 수 있다. 


터미널에서 gemma 모델이 ollama를 통해 실행 된 예.

하지만 ollama 프레임워크를 통해 모델을 다운 받고 터미널로 실행 해보았지만 터미널을 실행 해야 하는 불편함이 있었고 쓰기가 불편했다. 그러던 중 ollama web UI 라는 프로그램이 있다는 걸 보고 그 프로그램을 통해 실행 해보기로 했다.

Open WebUI

Ollama는 앞선 설명 처럼 터미널로 실행 되기에 사용에 불편함이 있다. 일반적인 웹 GUI가 아니기 때문이다. 그렇기 때문에 우리에게 익숙한 ChatGPT와 비슷한 UI로 사용 할 수 있게 여러 오픈소스가 존재 한다. GUI 오픈 소스 중에 나는 가장 유명한 Open WebUI를 이용한 설치 법을 소개해보겠다.

Open WebUI 설치기

Open WebUI Git Hub
처음엔 이 Git에 나와 있는 방법 대로 설치 하려고 했으나 실패 했다. 우선 Doker에 익숙하지 않았다. 처음 사용 해보는 프로그램이였고 공식 Git에 있는 사용 방법으로는 계속 실패 하였다. 그러던 중 [LLM] Ollama Web-UI설치블로그를 보았고, 이 블로그로 설치 하여 성공 했다. 이 방법은 Doker 프로그램을 설치, 실행된 후에 시작된 방법을 미리 알린다.

폴더를 만들고, 그 폴더로 이동 한다.

mkdir ollama-webui
// 폴더를 만드는 터미널 명령어

cd ollama-webui
// 그 폴더로 이동 하는 터미널 명령어

그리고 그 폴더에 GitHub clone 기능으로 프로그램을 복사해온다.

git clone https://github.com/ollama-webui/ollama-webui.git
// web-UI 를 폴더에 clone 하는 터미널 명령어.

cd ollama-webui
// 클론 후 폴더로 이동 한다. 

docker compose up -d --build
// docker를 이용 하여 컨테이너를 빌드 하고 실행 한다. 

마지막으로 브라우저에서 http://localhost:3000/를 접속 하면 된다.
필자는 이 방법으로 설치를 성공 하였다. llama2 모델은 조금 오래 된거 같아. 며칠 전 구글에서 출시한 로컬 llm 모델인 Gemma 7b 모델로 실행 해보았다.

마치며...

이번 글을 통해 로컬 LLM을 설치하고 사용하는 과정을 소개해보았다. 특히, Gemma와 Llama2 모델을 직접 경험해보면서, 이들이 ChatGPT 3.5와 비슷하거나 약간 못 미치는 수준임을 느꼈다. 하지만 로컬 LLM 사용 시 속도 저하, 상당한 램 사용, 그리고 CPU 자원의 대량 소비와 같은 단점도 존재 하였다. 이는 로컬 LLM의 장단점을 동시에 보여주는 현상이라 할 수 있겠다.

그럼에도 불구하고, 모델이 더욱 경량화되고 최적화됨에 따라, 간단한 작업들은 로컬 환경에서도 충분히 처리 가능할 것으로 보인다. 이러한 로컬 환경에서의 AI 사용이 발전하고 대중화됨으로써, 다양한 기기에서 큰 도움이 될 것이라는 점에서 기대가 된다. 또한, 채팅 내용이 외부로 유출될 위험이 없기 때문에, 사내에서의 사용에 있어 더욱 안전한 대안이 될 수 있다는 생각이 들었다.

로컬 LLM의 발전은 기술적 한계를 넘어서 우리가 일상에서 AI를 활용하는 방식을 재정의할 잠재력을 지니고 있다. 앞으로 이러한 기술이 더욱 발전하여, 더욱 빠르고, 효율적이며, 사용자 친화적인 AI 도구들이 등장하기를 기대한다. 이는 단순히 개인의 편의를 넘어서, 사회적, 경제적, 교육적 측면에서도 큰 변화를 가져올 수 있으며, 로컬 LLM의 미래는 이제 막 시작된 것이라 할 수 있겠다.

0개의 댓글