본문 바로가기

개발

llama2, ollama, LLM on device 간단 리뷰, 장단점

서론

삼성 S24를 필두로 온디바이스 LLM이 매우 인기이다.
챗GPT가 멍청해졌다는 소문과, 원래 오픈 소스를 지향하다가 수익모델로 전환함 등등
챗GPT에 의존하면 안되겠다는 생각이 많이 들었다.

추가로 AI의 개발자들 밥그릇을 파괴하는 미래가 뻔히 보였기에,
AI를 잘 다루는 사람이 살아남지 않을까 라는 N의 망상도 한 몫했다.

그래서 나만의 AI를 만들어 보고 싶었고,
더 나아가 회사에서 사용 가능한 AI를 도입해보면 너무 좋지 않을까? 싶었다.


오픈소스 LLM

관련자료는 너무 많다.

  • llama2 (메타에서 만듦, 동성능llm대비 리소스효율적, 번역능력 좋음, 코딩 잘함, ram 8gb 필요)
  • mistral 7B(mistal AI 라는 프랑스회사, ram 16gb 필요, 7B = billion, 70억개의 파라미터를 의미)

이 둘이 가정용 컴퓨터 스펙에 알맞고 가성비가 좋아 가장 많이 사용된다고 한다.

그외 몇가지 llama2기반 튜닝된 모델
code llama (llama2에 다양한 코딩을 먹임, instruct(사람 명령어)버전과 python버전으로 나뉨.)
giraffe, vicuna 등이 있다.

근데 llama2 기준으로 데이터셋 중 한글 차지하는 비중이 0.06%이기 때문에,
이 모델들의 한국어 실력은 꽤나 형편 없다.

따라서 흥미롭게도 발견한 한글 패치가 된 llama2가 오픈소스로 되어 있었다...만 (링크)
일단 가장 빠르게 적용해볼 수 있는 방법을 선택해서 빠르게 찍먹해보기로 한다.

ollama 소개

올라마는 정말 대단하다.


(올라마 홈페이지)에서 OS에 따른 파일을 설치한 후

ollama run llama2

이 한줄만 입력하면 알아서 llama2를 다운로드 받고 바로 대화창으로 진입한다.
(240201기준 윈도우 버전은 커밍쑨이라고 하는데, wsl에서 리눅스 버전 바로 실행하면 된다)

거기에 약간의 세팅만 추가하면 웹 인터페이스도 제공한다.

ollama web ui 설치방법! (스킵해도 됨)

도커를 사용하지 않는 Ollama WebUI 설치방법은 WSL 프롬프트 상태에서 아래 코드를 순서대로 실행하시면 됩니다.

1) 깃허브 리포지터리 복사
2) Node Package Manager를 활용한 패키지(모듈, 라이브러리 등) 설치 및 배포
3) requirements.txt 의존성 설치
4) 쉘 스크립트 실행

git clone https://github.com/ollama-webui/ollama-webui.git
cd ollama-webui/

# Copying required .env file
cp -RPp example.env .env

# Building Frontend
npm i
npm run build

# Serving Frontend with the Backend
cd ./backend
pip install -r requirements.txt
sh start.sh

진짜 너무너무 쉽다

ollama 관련 몇가지 질문

Q. ollama 로 실행한 AI는 휘발성인가? 저장되는가? 그렇다면 그 경로는?

모델 자체는 저장된다. bash실행 계정의 디렉터리 중 .ollama/ 가 생성되고 그 안에 저장된다.
그리고 history 라는 텍스트 파일 속에 나의 입력값만 저장된다.

Q. ollama 로 실행한 AI와의 대화는 기억되나?

기억 안된다. 요약하자면 "휘발적인 맥락"이다. 대화를 통해 맥락을 파악하고 나의 입력값을 점점 더 잘 파악한다.
하지만 재부팅시 맥락은 초기화되어 휘발적이다.
유의미한 학습은 미세조정을 통해서만 가능해보인다.

 

결론

찾아보면 많은 사람들이 아직은 Chat GPT 3.5 를 사용하라고 결론 짓는다.
알고나서 보니 그 말이 더 맞다고 느껴진다.

장점은 보안에 강하다는 점...
하지만 파인튜닝을 할 줄 모르면 학습이 불가능하다는 관점에서
일반인들은 그냥 챗지피티나 쓰는게 베스트인것 같다.

반응형