로컬 대화형 AI (oobabooga) 가이드

oobabooga는 LLM 대형 언어 모델을 실행하기 위한 gradio 웹 UI를 개발한 프로그램 입니다.

이 웹 UI는 LLaMA, llama.cpp, GPT-J, Pythia, OPT, GALACTICA와 같은 모델을 실행하는 데 사용됩니다. 간단히 말하면 인터넷 연결없이 프로그램을 깔아서 챗 GPT와 같은 역할을 하는 것입니다. 이에 대한 자세한 정보는 GitHub 페이지에서 확인할 수 있습니다.

오늘은 생성형, 대화형 AI 프로그램인 oobabooga 설치하는법에 대한 가이드를 제공하겠습니다.


목차

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


1. Oobabooga란?

Oobabooga

텍스트 생성 웹 UI 이 웹 UI는 LLaMA, llama.cpp, GPT-J, Pythia, OPT, GALACTICA와 같은 큰 언어 모델을 실행하는 Gradio 기반의 웹 인터페이스입니다.

oobabooga의 목표는 텍스트 생성의 AUTOMATIC1111/stable-diffusion-webui (그림 AI)가 되는 것입니다.

기능 3가지 인터페이스 모드로는 기본, 노트북, 채팅

여러 모델 백엔드: transformers, llama.cpp, AutoGPTQ, GPTQ-for-LLaMa, ExLlama, RWKV, FlexGen 드롭다운 메뉴를 통한 빠른 모델 전환 기능

LoRA: 새로운 LoRA를 학습하거나 필요에 따라 런타임 중에 LoRA를 로드하고 언로드할 수 있으며, 동시에 여러 LoRA를 로드할 수 있습니다.

채팅 모드를 위한 정확한 명령어 템플릿 포함.

Alpaca, Vicuna, Open Assistant, Dolly, Koala, ChatGLM, MOSS, RWKV-Raven, Galactica, StableLM, WizardLM, Baize, Ziya, Chinese-Vicuna, MPT, INCITE, Wizard Mega, KoAlpaca, Vigogne, Bactrian, h2o, OpenBuddy를 포함합니다.

LLaVA 및 MiniGPT-4를 포함한 다중 모달 파이프라인 지원 bitsandbytes를 통한 8비트 및 4비트 추론 기능 지원 transformers 모델을 위한 CPU 모드

DeepSpeed ZeRO-3 추론 지원 확장 기능 사용자 지정 채팅 캐릭터 매우 효율적인 텍스트 스트리밍 LaTeX 렌더링이 가능한 Markdown 출력, GALACTICA와 함께 사용 가능 GPT-4chan을 위한 멋진 HTML 출력 API, 웹소켓 스트리밍을 위한 엔드포인트 포함.

결국 한마디로 챗GPT와 같은 LLM대형 언어 모델을 로컬로 돌리는 것과 같다고 보시면 되겠습니다!


2. 설치한 컴퓨터 사양

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”

우선적으로 저의 컴퓨터 사양은 다음과 같습니다.
(GPU에따라 성능이 다르거나 모델에 오류가 날 수 있습니다.)

  • CPU: AMD Ryzen 3 3300X 4-Core Processor 3.79 GHz
  • RAM: 16.0GB
  • GPU: RTX 3060 12GB
  • Windows 11

아마 이중에서는 GPU가 가장 중요할 것 같습니다.
(CPU로 실행할 수 있는 모델이 있지만 너무 느려 개인적으로 사용하지 않고 있습니다.)


함께 참고하면 좋은 글

NVIDIA 그래픽 카드: 구매 정보와 팁 (게임용, 고성능, 설계/작업용 2023)


3. Oobabooga 설치하기 과정

우선 https://github.com/oobabooga/text-generation-webui 에들어갑니다.

그후 밑으로 스트롤을 내리다보면 아래와 같은 링크가 있습니다.

Oobabooga 다운로드 윈도
윈도우 보호 나올시
Oobabooga 압축 푼 후 start를 더블클릭으로 실행

(기본적으로 경로에 한글에 포함되어 있지 않게합니다.)
ex) A:\oobabooga\oobabooga_windows\oobabooga_windows

받은후 압축을 풀어주고, 설치법은 너무나도 간단한합니다. 그냥 start 를 더블클릭으로 설치가 됩니다.
동일 폴더에 자동으로 폴더가 생성됩니다.

설치과정이 조금 길 수 있습니다. 커피한잔 하고 오세요!

Oobabooga 설치중 GPU 선택화면 이 나올시

위 사진과 같은 입력화면이 나오면 알맞은 사양을 선택후 엔터를 누르시면 됩니다.

저는 Nvidia의 RTX 3060 이므로 A를 입력한 후 엔터키를 눌렀습니다.

아래와 같이 로컬 URL이 나온다면 일단 기본적인 프로그램은 설치가 된 것입니다.

oobabooga url

4. 모델 설치하기 과정

다음으로 모델을 설치해야합니다.

oobabooga url

우선 ctrl키를 누른 상태에서 이 URL을 클릭 해 주세요 그러면 web ui 메인 웹페이지가 뜹니다. 그 후에

hugging face에서 맘에드는 url 선택 복사
hugging face 에서 맘에드는 모델을 선택하세요.
(저는 https://huggingface.co/TheBloke/Wizard-Vicuna-13B-Uncensored-GPTQ을 선택하였습니다.)
화살표 버튼을 눌러 복사를 해 줍니다.
우선 이복사 버튼을 눌러 복사한 후에 1)붙여넣기하고 2)다운로드를 클릭합니다.
(PC 또는 GPU 성능에 따라 7B 모델을 선택하거나, 다른 모델을 받아야 할 수 있습니다.)  이제 이 3)모양 한번 눌러주시고 4)모델을 선택합니다.  5)저는 Model loader  ExLlama로 선택했습니다. (좀더 긴대답을 해 줍니다.)  6)Load를 클릭해 주시면 이제 모델이 로드가 되고

1)붙여넣기하고 2)다운로드를 클릭합니다.
(PC 또는 GPU 성능에 따라 7B 모델을 선택하거나, 다른 모델을 받아야 할 수 있습니다.)

이제 이 3)모양 한번 눌러주시고 4)모델을 선택합니다.

5)저는 Model loader  ExLlama로 선택했습니다. (좀더 긴대답을 해 줍니다.)

6)Load를 클릭해 주시면 이제 모델이 로드가 됩니다.


5. Session 메뉴

그런다음에 Session 메뉴로 들어가 줍니다.

Oobabooga 세션 설정: 구글 번역

1)Mode는 알맞게 선택하시고(저는 chat을 선택하였습니다.)

그후 2)google_translate를 선택해 한국어로 번역할 수 있습니다.
(현재 한국어 모델이 많이 없어서 번역기능을 이용해야 합니다.)

그후 3)Apply and restart를 클릭해 줍니다.


6. parameters 메뉴

Oobabooga parameters 메뉴에서 divine intellect를 선택했다. 경우에 따라 파라미터 조정, 또는 프리셋 선택

parameters에 메뉴에 들어갑니다. 여기에는 여러 프리셋들이 있고, 파라미터 커스텀으로 알맞게 설정할 수도 있습니다. 크게 메뉴 설명은 다음과 같습니다.

  • Temperature: 더 높은 값은 더 많은 무작위성을 의미합니다.
  • top_p: 더 높은 값은 더 넓은 범위의 가능한 무작위 결과를 의미합니다.
  • top_k: top_p와 유사하지만, 대신 가장 가능성이 높은 상위 k개의 토큰만 선택합니다. 더 높은 값은 더 넓은 범위의 가능한 무작위 결과를 의미합니다.
  • repetition_penalty_range: 반복 벌칙을 고려할 최근 토큰의 수입니다. 0은 모든 토큰을 사용합니다.
  • encoder_repetition_penalty: 더 높은 값은 문맥에 더 유지되도록 하고, 낮은 값은 다른 방향으로 발산하도록 합니다.
  • no_repeat_ngram_size: 0으로 설정되지 않은 경우, 전혀 반복되지 않을 토큰 집합의 길이를 지정합니다. 더 높은 값은 더 큰 구문을 차단하고, 낮은 값은 단어나 글자의 반복을 차단합니다. 대부분의 경우 0 또는 높은 값만 사용하는 것이 좋습니다.
  • min_length: 토큰의 최소 생성 길이입니다.
  • penalty_alpha: 대조적 탐색은 이 값을 0보다 크게 설정하고 “do_sample”을 선택 해제하여 활성화됩니다. 예를 들어, top_k = 4와 함께 낮은 값을 사용해야 합니다.

저는 프리셋으로 Divine Intellect 를 선택하였습니다.


7. Chat settings (chat 선택시)

Oobabooga 캐릭터 생성및 instruction template 생

여기서 캐릭터를 생성하고, 지시 템플릿을 정할 수 있습니다.

instruction template는 Vicuna-v1.1을 선택 하였습니다.

캐릭터는 처음에는 우선 example 캐릭터가 있고 저는 example 으로 선택 했습니다.

이제 text generation 에서 생성을 하면 됩니다.


8. text generation (대화 하기!)

맨밑으로 내리면 Activate translation 이 있고 Language 를 korean 으로 바꾸었습니다.

Oobabooga 구글 번역 기능 설정
Oobabooga 채팅 예시

이제 대화를 시작하면 되겠습니다! google translate로 자동으로 번역이 되어 출력됩니다 !


9. 결론

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”

여기까지 오셨다면 정말 수고하셨습니다. 지금까지 Oobabooga 를 이용한 챗 GPT와 같은 LLM 대형 언어 모델을 설치하고 사용하는 법에 대해서 알아 보았는데요!

차근차근 따라하셔서 여러분들도 한번 도전해 보세요.

무언가가 잘 안된다면. 저에게 이메일이나 댓글로 문제를 알려주시면 저는 제가 알고 있는 선에서 최대한 도움을 드리도록 노력하겠습니다.

로컬 모델의 장점은 이용에 제한이 없고, 로그인이 되어있지 않기 때문에 인터넷상에 기록이 안되 개인적인 프라이버시에 대해걱정할 필요가 없다는 점이지만 단점은 챗GPT에 비해 성능이 많이 떨어지는 건 사실이지만 개인적으로 부담없이 사용하기 좋은 AI 인것 같습니다!

무엇보다 LLama 2 와 같은 다양한 모델들이 있고 이중에 입맛에 맞게 선택하여 대화 할수 있는 큰 장점이 있습니다.


함께 참고하면 좋은 글

애플 GPT: Apple GPT 개발 및 출시 계획

LLaMA 2: GPT-4의 대항마?

chatGPT 프롬프트 작성 방법 – 유용한 팁과 가이드라인 템플릿

오토 GPT (Auto GPT): 챗 GPT(Chat GPT)보다 더욱 강력한 도구!

생성형 인공지능 Ai 3가지 (+ 이외의 17 종류)

대표적인 챗 GPT 4 플러그인 5 가지 및 사용법

대화형 인공지능 Ai 3 종류


6 thoughts on “로컬 대화형 AI (oobabooga) 가이드”

Leave a Comment