IT_잡담2025. 4. 10. 22:08

ollama에서 제공하는 거대언어모델(large language model, LLM)을 다운로드 할 때 태그를 지정하지 않으면 "latest" 태그(tag)를 가진 모델을 가져오게 된다.  예를 들어 gemma3 모델을 가져오려면 아래와 같이 할 것이다.

# gemma3:latest 다운로드
ollama pull gemma3

태그를 지정하면 해당 태그에 대응하는 모델을 받는다.

# gemma3:12b 다운로드
ollama pull gemma3:12b

ollama 웹사이트의 모델 목록 페이지로 가서 gemma3 모델을 선택해 보면 이 기본 모델 이외에 여러 가지의 태그(tag)가 존재하는 것을 볼 수 있다. 아래의 링크에서 확인 가능

gemma3 model tags

뭔가 이것 저것 복잡한데, 가장 기본적으로 파라메터(parameter) 수와 파라메터 양자화(quantization) 정보를 바탕으로 선택하면 되는 듯하다. 당연한 얘기겠지만 파라메터 수가 많고 양자화된 비트수가 많을 수록 더 우수할 가능성이 높다. 대신 그만큼 메모리를 많이 점유할 것이다.

일단 gemma3 모델 태그를 보면 "latest"뿐만 아니라 "1b", "4b", "12b", 이런 식의 태그를 볼 수 있는데 이것은 모델의 크기를 파라메터(parameter) 개수로 표시한 것이다. "4b"는 4 billion, 즉 파라메터가 40억개라는 뜻이다.

추가적인 내용이 더 있는 태그도 있다. 예를 들면 "12b-it-fp16" 이런 식이다. "it"는 무슨 의미인지 모르겠는데, "12b"는 120억개 파라메터, "fp16"은 파라메터의 정확도가 16비트 부동소수점이라는 뜻이다. 파라메터가 정수(integer)로 양자화된 버전은 q가 붙는다. 예를 들어  "12b-it-q4_K_M"이라는 태그가 있는데 "q4"이므로 4비트 정수로 양자화되어 있음을 알 수 있다. 나머지 부분은 잘 모르겠는데, 어쨌든 태그와 함께 모델이 디스크에서 얼만큼을 점유하는 지도 표시되어 있으니, 사용하는 GPU의 VRAM 크기를 넘지 않는 정도에서 선택하면 되는 듯하다.

일단 "fp16"과 "q8"은 메모리 점유는 "fp16"이 2배 높지만 체감 성능은 별반 차이가 없으므로, 특별한 이유가 있는 것이 아니라면 "q8"을 택하는 것이 나을 것으로 생각된다.

태그를 지정하지 않을 경우 기본으로 받아오는 "latest" 모델은 크기를 비교해 보니 "q4_K_M"인 것 같다. gemma3 이외에 llama3.2, qwen2.5 등에서도 마찬가지인 것으로 보인다. 아마도 파라메터 개수가 같을 때 VRAM 점유 대비 체감 성능이 우수한 지점, 즉 가성비가 좋은 지점이 "q4_K_M"인 모양이다.

728x90
Posted by 반달가면