본문 바로가기
IT

AI 채팅을 내 컴퓨터에서 실행하기: LLAMA2 with Text generation web UI

by 네야나라 2024. 3. 7.
반응형

 

LLaMA (Large Language Model by Meta AI)는 Meta Platforms, Inc. (이전의 Facebook, Inc.)에 의해 개발된 대규모 언어 모델입니다. 이 모델은 자연어 처리(NLP) 분야에서 다양한 과제를 해결하기 위해 설계되었으며, 텍스트 생성, 이해, 요약, 번역, 질문 응답 등 다양한 언어 기반 작업을 수행할 수 있습니다.

 

LLaMA는 다른 유명한 언어 모델들과 비슷한 트랜스포머 기반 아키텍처를 사용합니다. 트랜스포머 아키텍처는 주의 메커니즘(Attention Mechanism)을 통해 문장 내의 단어들 사이의 관계를 더 잘 이해하고, 이를 통해 문맥을 더 잘 파악하여 더 자연스러운 텍스트를 생성하거나 특정 질문에 대한 답변을 제공할 수 있습니다.

 

Meta는 이전 버전보다 40% 많은 데이터로 트레이닝한 LLaMA2모델을 2023년에 릴리즈했으며 Huggingface라는 플랫폼을 통해 간단히 등록만 하면 누구나 사용가능하도록 공개를 했습니다.

 

이번 글은 Text generation web UI를 이용해서 LLaMA2 모델로 AI 채팅을 간단히 실행시키는 방법을 소개해보려고 합니다. 다. 이번 글에서는 Windows 환경의 Anaconda을 기준으로 합니다. Anaconda설치는 다음 링크에서 다운 받아 설치하시면 됩니다.

https://www.anaconda.com/download

 

Free Download | Anaconda

Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

 

1. Conda 가상환경 만들기

Anaconda를 설치한 뒤 윈도우 시작메뉴에서 Anaconda Prompt를 찾아 실행합니다. 그 뒤에 다음 명령어를 통해 이번 실습에 사용할 가상환경을 새로 생성하고 생성한 환경을 activate합니다.

conda create -n textgen python=3.11
conda activate textgen

 

 

Text generation web UI 는 사용자가 웹 인터페이스를 통해 텍스트 생성 모델을 쉽게 사용할 수 있도록 하는 애플리케이션입니다. 이 프로젝트의 목적은 비전문가 사용자도 자연어 처리와 같은 고급 AI 기능을 손쉽게 활용할 수 있게 만드는 것입니다. Text generation web UI는 GitHub을 통해서 공개되어 있습니다.

 

https://github.com/oobabooga/text-generation-webui

 

GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, lla

A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models. - oobabooga/text-generation-webui

github.com

 

2. Text generation web UI 설치

 

git clone https://github.com/oobabooga/text-generation-webui
cd text-generation-webui
pip install -r requirements.txt

 

3. Huggingface에서 토큰 가져오기

Huggingface를 처음 사용하신다면 우선 가입을 해야 합니다. 

https://huggingface.co/

 

Hugging Face – The AI community building the future.

The Home of Machine Learning Create, discover and collaborate on ML better. We provide paid Compute and Enterprise solutions. We are building the foundation of ML tooling with the community.

huggingface.co

로그인을 한 뒤에 프로파일의 Settings메뉴를 보면 Access Token을 관리하는 탭이 있습니다. 여기서 Read롤을 가진 토큰을 생성해 주시면 됩니다. 이 토큰은 Huggingface CLI에서 로그인할 때 쓰입니다.

 

 

4. Huggingface CLI 설치

Huggingface를 처음 사용하시는 거라면 CLI를 Anaconda prompt에서 설치해 주시면 됩니다.

pip install -U "huggingface_hub[cli]"

 

5. Huggingface 로그인

앞 단계에서 생성한 토큰을 이용하여 Huggingface에 로그인합니다.

huggingface-cli login

 

6. LLaMA 모델 다운로드

LLaMA는 매개변수의 크기에 따라 다른 모델을 공개하고 있습니다. 이번 글에서는 7b 개의 매개변수를 사용한 모델을 써보도록 하겠습니다. 우선 Huggingface에서 LLaMA에 대한 사용등록 신청을 해야 합니다. 다음 링크에서 신청하실 수 있으며 보통 2시간 안에 등록 신청 완료가 됩니다.

https://huggingface.co/meta-llama/Llama-2-7b

 

meta-llama/Llama-2-7b · Hugging Face

This is a form to enable access to Llama 2 on Hugging Face after you have been granted access from Meta. Please visit the Meta website and accept our license terms and acceptable use policy before submitting this form. Requests will be processed in 1-2 day

huggingface.co

신청이 완료가 되었다면 모델을 이제 다운로드 받으실 수 있습니다. Text generation web UI를 다운로드 받은 곳으로 돌아가 다음 명령어를 통해 모델을 다운로드합니다.

python download-model.py meta-llama/Llama-2-7b-chat-hf

 

7. Text generation web UI 실행

다음 명령을 통해 Text generation web UI를 실행할 수 있습니다. 서버가 실행되면 웹 브라우저를 통해 UI가 실행됩니다.

python server.py

오류 없이 정상적으로 실행이 된다면 UI를 접근할 수 있는 URL을 콘솔에  표시해 줍니다. 웹 브라우저에서 해당 URL들어가보면 다음과 같은 UI를 확인하실 수 있습니다.

 

8. 모델 로드하기

이제 다운 받았던 모델을 UI를 통해 로드해야 합니다. UI에서 Model메뉴 탭으로 가면 다운로드 받았던 모델을 확인할 수 있으며 사용 가능하도록 로드할 수 있습니다.

 

성공적으로 모델을 로드했다면 이제 모든 준비가 끝났습니다. UI에서 Chat 메뉴로 다시 돌아가면 이제 채팅을 시작할 수 있습니다. 

 

이상으로 AI에 대한 지식이 없더라도 나만의 AI 채팅 앱을 실행 시키는 방법에 대해 살펴봤습니다. 물론 공개된 LLaMA에는 아직 한계점이 많이 있습니다. 하지만 오픈소스이기에 많은 개발자들이 이를 빠르게 극복할 것으로 기대가 됩니다. 실제로 LLaMA를 기반으로한 파인 튜닝된 다양한 모델들이 많이 나오고 있습니다. 앞으로 다양한 언어와 분야에 걸쳐 더욱 향상된 성능을 기대할 수 있을 것으로 생각됩니다.

반응형