Meta에서 공개한 LLaMA 3는 오픈소스 기반의 고성능 언어 모델입니다.
GPT-4와 유사한 성능을 제공하면서도 누구나 무료로 활용할 수 있도록 공개되었으며, Ollama라는 툴을 사용하면 별도의 복잡한 환경 설정 없이도 컴퓨터에서 실행할 수 있습니다.
아래의 Ollama 클라이언트 프로그램을 설치하여 로컬에서 테스트할 수 있습니다.
Download Ollama on Windows
Download Ollama for Windows
ollama.com
설치 후 llama 3 실행
ollama run llama3
처음 실행하면 LLaMA 3 모델을 자동 다운로드하며, 설치 후 CLI 환경에서 바로 대화할 수 있습니다.
라마 모델은 영어를 기준으로 학습됐기 때문에 일반적인 한글 답변을 요구하면 조금 성능이 떨어지는 것을 볼 수 있습니다.
따라서 라마 모델을 Full tuning한 llama 3.2 Bllossom 3B gguf 한국어 모델을 사용하려고 합니다 !
Bllossom/llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M · Hugging Face
huggingface.co
Bllossom-3B는 한국어가 지원되지 않는 기본 모델을 한국어-영어로 강화모델입니다.
- 100% full-tuning으로 150GB의 정제된 한국어로 추가 사전학습 되었습니다. (GPU많이 태웠습니다)
- 굉장히 정제된 Instruction Tuning을 진행했습니다.
gguf 파일을 다운받으면 됩니다. 이후 수행할 작업 폴더로 파일을 이동시킵니다.
HuggingFace에 공유된 모델을 Ollama로 실행하기 위해서는 gguf 파일과 동일한 위치에 Modelfile을 만들어줘야 합니다.
Modelfile 만들기
메모장에 아래의 내용을 넣고 파일명을 Modelfile로 지정한 후 .txt 확장자까지 제거하여 저장하면 됩니다 ! ( 모델명은 사용하시는 모델명으로 수정하면 됩니다 )
#Modelfile
FROM ./llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M.gguf
SYSTEM """당신은 유용한 AI 어시스턴트입니다. 사용자의 질의에 대해 친절하고 정확하게 답변해야 합니다. You are a helpful AI assistant, you'll need to answer users' queries in a friendly and accurate manner. 모든 대답은 한국어(Korean)으로 대답해주세요."""
TEMPLATE """{{- if .System }}
<s>{{ .System }}</s>
{{- end }}
<s>Human:
{{ .Prompt }}</s>
<s>Assistant:
"""
PARAMETER temperature 0.6
PARAMETER num_predict 3000
PARAMETER num_ctx 4096
PARAMETER stop <s>
PARAMETER stop </s>
PARAMETER stop <|eot_id|>
Ollama용 모델로 변환
gguf 파일과 Modelfile이 위치한 폴더로 이동한 후 아래의 커맨드를 입력하면 모델 파일로 변환됩니다.
ollama create <모델명> -f Modelfile
생성된 모델 확인
ollama list
모델 실행
ollama run <모델명>
+ Hugging Face Transformers와의 차이
항목 | Hugging Face Transformers | Ollama |
설치 복잡도 | 높음 (Python, CUDA 설정 필요) | 매우 낮음 (1줄 설치) |
실행 방법 | Python 코드 필요 | ollama run 한 줄 |
모델 커스터마이징 | 가능 (fine-tuning 지원) | 불가능 (실행 위주) |
메모리 사용량 | 많음 (7~13GB 이상) | 적음 (3~5GB 수준) |
REST API 지원 | 없음 (직접 구현) | 기본 내장 (localhost:11434) |
활용 대상 | 연구자, 모델 개발자 | 일반 사용자, 빠른 챗봇 개발 |
'개발 | 프로젝트' 카테고리의 다른 글
[YOLO] YOLOv5 모델 학습 / 예제 코드 (0) | 2025.05.08 |
---|---|
쿠키 vs 세션 vs 토큰 (JWT) (0) | 2025.05.02 |
[YOLO] Detection & Segmentation, Segmentation 라벨에서 Bounding Box(바운딩 박스)로 변환 (1) | 2025.04.30 |
[React Native] 빌드 속도 향상 (캐시화) (0) | 2025.04.29 |
YOLO / CNN 차이 (0) | 2025.04.21 |