Project Jo

파인 튜닝(Fine-tuning) + 양자화(Quantization) #1 본문

Developer/LLM

파인 튜닝(Fine-tuning) + 양자화(Quantization) #1

Project Jo 2025. 4. 29. 09:56

1. 문제점

특정 제품에 특화된 AI 를 만들기 위해서 여러가지 조사를 진행 하였고, 문제점은 다음과 같다.

RAM 부족
내 Mac-MINI 의 사양은 Apple M2 16GB 이다.
이전에 확인한 내용대로 Llama3.1 8B 로딩만을 위한 RAM 용량은 16GB 이고, 양자화가 되지 않은 모델은 메모리 부족으로 동작하지 않는 부분을 확인 하였다.

트큰 부족
페르소나(Persona)로 역활을 부여하고 사전 지식을 넣으면 특정 제품의 설명이 길어질 경우 사용자와 대화할때 토큰이 부족해 긴 대화를 이어가기 어렵다.

 

2. 해결 방법

양자화 방법을 숙지하면 모든 문제가 해결될것 같아 GPT 를 괴롭히며 정보를 얻었고 다음과 같은 결론에 도달 하였다.

1. LLaMA 3.1 8B를 Fine-tuning 한다.

  • 초기 LLaMA 3.1 8B 모델을 가지고 fine-tuning (instruction tuning, domain adaptation 등)을 진행합니다.
  • 보통 Hugging Face Transformers + PEFT(LoRA) 라이브러리를 많이 씁니다.
  • 이때는 아직 full-size 모델입니다. RAM 많이 필요.

2. 4bit 양자화를 진행한다.
  • Fine-tuning 끝난 모델을 4bit로 양자화(Quantization)합니다.
  • 양자화는 메모리 사용량과 모델 크기를 극적으로 줄이는 과정입니다.
  • 양자화 방법은 gguf 파일로 변환하는 것(예: llama.cpp, Ollama 호환)을 목표로 합니다.

3. OLLAMA를 통해 해당 모델을 선택하고 실행시킨다.
  • Ollama는 기본적으로 자체 모델 저장소에서 다운로드해서 사용하는 걸 기본으로 합니다.
  • 하지만 **직접 만든 모델(gguf 파일)**도 Ollama의 modelfile 기능을 통해 등록할 수 있습니다.
  • 즉, 직접 fine-tuning + 4bit quantized한 모델을 Ollama 전용 모델로 등록해서 실행할 수 있습니다.
요약: 당신이 만든 모델을 Ollama에 수동으로 등록하면 실행할 수 있습니다.


4. 외부에서 OLLAMA API를 통해 LLM 모델에 요청하고 응답을 가져간다.
  • Ollama는 자체적으로 RESTful API를 제공합니다.
  • POST http://localhost:11434/api/generate 같은 식으로 외부에서 HTTP로 요청을 보낼 수 있습니다.
  • 즉, 별도 서버 구성 없이도 Ollama가 LLM API 서버가 됩니다.
  • Ollama API는 로컬뿐 아니라 네트워크 포트 열면 외부 서버에서도 접근 가능합니다.

 

'Developer > LLM' 카테고리의 다른 글

Claude Vibe Coding  (0) 2025.05.07
MCP(Model Context Protocol)  (1) 2025.04.29
클로드(Claude) MCP  (0) 2025.04.21
챗봇(Chat Bot)  (0) 2025.04.18
Python 서버 만들기  (0) 2025.04.15