Ollama

아두이노를 Ollama 로 설치한 로컬 LLM 으로 제어하기

Ollama

기본 명령어

ollama pull [모델명]
ollama pull [모델명:태그]
ollama list
ollama run [모델명]
ollama show [모델명]

Quantize (양자화)

Quantize는 모델의 가중치를 낮은 비트로 변환하여 모델 크기를 줄이고 메모리 사용량을 감소시키는 기법이다. 추론 속도를 높이고 더 작은 하드웨어에서도 모델을 실행할 수 있게 해준다.

Quantize란?

  • 정의: 모델의 가중치를 높은 정밀도(예: 32비트 float)에서 낮은 정밀도(예: 4비트, 8비트)로 변환하는 과정
  • 목적: 모델 크기 감소, 메모리 사용량 감소, 추론 속도 향상
  • 트레이드오프: 정밀도가 낮아질수록 모델 성능이 약간 저하될 수 있지만, 대부분의 경우 실용적인 수준에서 유지됨

Quantize 사용 방법

Ollama에서는 모델을 pull할 때 이미 양자화된 버전을 선택할 수 있다. 모델명 뒤에 태그를 붙여 양자화 수준을 지정한다.

# 양자화되지 않은 원본 모델
ollama pull llama2

# 4비트 양자화 (Q4_0)
ollama pull llama2:4bit

# 8비트 양자화 (Q8_0)
ollama pull llama2:8bit

# 특정 양자화 버전 확인
ollama list

양자화 수준

양자화 수준비트 수모델 크기메모리 사용량성능추론 속도
원본 (FP32)32비트매우 큼매우 높음최고느림
Q8_08비트작음낮음매우 좋음빠름
Q4_04비트매우 작음매우 낮음좋음매우 빠름
Q2_K2비트극히 작음극히 낮음보통매우 빠름

Quantize 사용 예시

# 4비트 양자화 모델 다운로드 (메모리 절약)
ollama pull llama2:4bit

# 8비트 양자화 모델 다운로드 (성능과 크기 균형)
ollama pull llama2:8bit

# 양자화된 모델 실행
ollama run llama2:4bit

# 설치된 모델 목록 확인
ollama list

Quantize 선택 가이드

  • Q4_0 (4비트): 메모리가 제한적인 환경, 빠른 추론이 필요한 경우
  • Q8_0 (8비트): 성능과 크기의 균형이 필요한 경우
  • 원본 (FP32): 최고 성능이 필요한 경우, 메모리가 충분한 경우

주의사항

  1. 성능 저하: 양자화 수준이 낮을수록 모델 성능이 약간 저하될 수 있다
  2. 호환성: 모든 모델이 모든 양자화 수준을 지원하는 것은 아니다
  3. 테스트: 실제 사용 환경에서 양자화된 모델의 성능을 테스트해보는 것이 좋다