컴퓨터/기타

Llama - 로컬에서 생성형 AI를 돌려보자 (GPT4ALL)

달서비 2024. 8. 27. 21:00

GPT를 사용할 때 모델은 MS의 데이터센터에 있고 해당 모델을 불러오는 방식으로 사용하였으나 로컬에서 생성형 AI를 돌리는 방법이 있다는 것을 발견하였고 여러 분야에서 응용이 가능할 것으로 보여 사용을 해보려고 합니다.

 

Llama

Llama Image

Llama(Large Language Model Meta AI)는 Meta에서 개발한 대형 언어 모델로 자연어 처리와 생성 작업에서 우수한 성능을 발휘합니다. 여러 버전으로 출시되었으며 각 버전 모델의 크기와 성능이 다릅니다. Llama 모델은 오픈소스로 이루어져 있으며 7억 명이 넘는 사용자가 있는 경우에는 Meta와 협의 후 사용해야 합니다.

 

Llama 3.1은 매개변수에 따라 8B, 70B, 405B로 세 가지 모델을 가지고 있으며 다음과 같은 특징을 가집니다.

  • Llama 3.1 405B : 높은 성능을 제공하며 연구, 합성 데이터 생성 등 대량의 데이터를 처리하는 데 적합합니다. 대규모 데이터 세트와 고급 자연어 처리 작업에서 강력한 성능을 발휘합니다. 개인 PC에서 돌릴 수 있는 사양이 아니며 주로 클라우드나 대규모 서버 환경에 적합합니다.
  • Llama 3.1 70B : 높은 성능과 비용 효율성을 동시에 가지는 모델입니다. 콘텐츠 작성, 대화형 AI 언어 이해 등 다양한 응용 프로그램에서 적합합니다.
  • Llama 3.1 8B : 작은 규모의 모델로 낮은 비용과 빠른 속도를 동시에 가져갑니다. 대신 성능은 제한적입니다. 텍스트 요약, 분류, 언어 번역 등 기본적인 자연어 처리 작업에서 적합합니다. 무엇보다 개인용 PC로 돌려도 문제없을 만큼 가볍습니다.

 

추가로 다른 모델과 성능 비교는 다음과 같습니다.

이미지 출처 : https://ai.meta.com/blog/meta-llama-3-1/

해당 결과를 보면 당시 기준으로 나왔던 AI 모델을 상회할 만한 성능을 보입니다.

 

로컬에서 Llama를 설치 및 실행하기

일반적으로 많이 사용하는 방법은 Ollama 혹은 Hugging Face가 있습니다.

파인튜닝등 AI에 대하여 전문적인 지식을 가지고 있지 않기에 GPT4ALL을 이용한 방식으로 진행하려고 합니다.

※ Llama 3.1-8b를 설치하도록 하겠습니다.

※ 본 데스크톱의 환경은 Windows, python 3.10.9를 사용하고 있습니다.

 

1. GPT4All 홈페이지에 접속 후 다운로드.

GPT4all 홈페이지

GPT4All 홈페이지 링크

 

GPT4All

Run AI Locally: the privacy-first, no internet required LLM application

www.nomic.ai

 

2. 다운로드한 파일을 실행하여 설치하도록 합니다.

설치 중인 이미지

설치 과정 중에는 별다른 설정이 없으며 다음 버튼만 눌러주시면 자동으로 설치가 완료됩니다.

 

3. GPT4All 프로그램 실행 및 설정

GPT4All 실행화면

이제 모듈을 다운로드하도록 합니다.

모델 검색 및 다운로드

여기서 Meta-Llama-3.1-8B-Instruct-GGUF을 검색합니다. 그 후 원하는 프로젝트를 다운로드합니다. 꼭 해당 프로젝트일 필요 없고 hugging face에서 자신이 찾는 모델을 넣는 것도 좋은 방법입니다.

 

제가 다운로드하는 모델은 Llama 3.1-8b-Instruct 모델을 일차적으로 양자화한 모델입니다. 자신이 원하는 모델을 만들고 싶다면 Llama 모델을 파인튜닝후 gguf로 전환하여 직접개발 하는 것도 좋은 방법입니다.

 

Hugging Face 링크는 아래에 첨부합니다.

https://huggingface.co/bullerwins/Meta-Llama-3.1-70B-Instruct-GGUF

 

bullerwins/Meta-Llama-3.1-70B-Instruct-GGUF · Hugging Face

GGUF quantized version using llama.cpp 5e2727f Update 24/07 - requantized with fixed tokenizer Update 28/07 - requantized with the RoPE fix, it should now be fully supported. You need to run llama.cpp 5e2727f or higher Model Information The Meta Llama 3.1

huggingface.co

 

 

5. 다운로드 후 Chat에서 대화하면 성공

다운로드한 모델은 다음과 같다.

이렇게 대화가 되면 완료입니다. AI 모델을 돌릴 때 사양이 높으니 참조부탁드립니다.

간단한 질문을 돌릴시 시스템 리소스는 아래 그래프와 같습니다. (라이젠5 5600, GTX3060 12GB)

8B 모델을 돌리는데 안정적으로 램을 32기가 이상 가지고 있어야 하며 GPU 모델도 최소 rtx2060, CPU도 i5 정도는 가지고 있는 것이 좋아보입니다.

 

RAG 기반 검색하는 방법

우선 RAG란 대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하는 프로세스입니다. 기존 모델 같은 경우에 자신이 모르는 데이터인 경우에 거짓된 이야기를 합니다. 해당 부분을 잡아 데이터의 신뢰성을 높일 수 있습니다.

GPT4ALL을 사용한 이유는 최신 데이터를 쉽게 임베딩시킬 수 있습니다.

 

우선 추가로 학습할 데이터입니다.

달서비는 현재 개발자로 일하고 있다.
달서비는 투데이가 10,000명이 넘는 블로그를 운영하고 싶다.
달서비는 경기도에 거주중이다.

 

해당 파일은 D:/test 폴더에 저장한 후 GPT4All에서 불러와 추가 학습을 시킵니다.

localDocs 이용하는 법

꼭 텍스트 파일이 아니더라도 txt, pdf, md등 텍스트 관련 확장자에 있는 정보를 추가로 학습할 수 있습니다.

해당 데이터를 가져와 다음과 같이 출력할 수 있습니다.

RAG를 이용한 결과

마지막으로 RAG를 이용한 결과로는 다음과 같이 호출할 수 있습니다.

 

마지막으로

이번에는 Llama 3.1-8b 모델을 로컬에서 구축하고 실행하는 방법을 알아보았습니다. 추후 gpt4all을 이용한 ai 서버를 만들어 보려고 합니다. 서버를 만든 후 추가로 게시글 작성을 하도록 하겠습니다.

 

도움이 된 게시글

https://brunch.co.kr/@b2439ea8fc654b8/51

 

Llama 3.1 로컬 설치

두 가지 방법 | Meta Llama 3.1의 최신 모델이 출시되었습니다. 이 글에서는 컴퓨터에 Llama 3.1을 로컬로 설치하는 방법을 설명드리겠습니다. Llama 3.1 모델 이해 Llama 3.1에는 (8B, 70B 및 405B 매개변수) 3개

brunch.co.kr

 

https://pagichacha.tistory.com/m/329

 

GPT4ALL로 메타 라마3.1 파인튜닝 하기

ㅁ 개요 O 프로젝트 소개   - 이번 글은 GPT4ALL이란 프로그램(llm 로컬 실행 프로그램)으로 메타의 라마3.1을 간단하게 튜닝하는 방법에 대해 알아보겠습니다.   O GPT4ALL로 메타 라마3.1 튜닝 하

pagichacha.tistory.com

 

https://github.com/meta-llama/llama-models/blob/main/README.md

 

llama-models/README.md at main · meta-llama/llama-models

Utilities intended for use with Llama models. Contribute to meta-llama/llama-models development by creating an account on GitHub.

github.com