Ollama에 없는 모델 내가 만들어 사용하기 (1)
K8sGPT는 쿠버네티스와 대규모 언어 모델(GPT)을 결합한 오픈소스 프로젝트로, 쿠버네티스 클러스터에서 이슈를 발견하고 원인 및 해결 방안을 안내합니다.
이 프로젝트는 오픈소스 LLM과 시작했으나, 이제 AI 제공자를 구성해 사용할 수 있는 기능을 제공합니다. 로컬 LLM 환경을 구축하여 데이터 노출 우려를 줄일 수 있습니다.
*참고 글: 로컬 LLM에서 K8sGPT로 쿠버네티스 AIOps 실행하기 (1부, 2부)
AI 모델과 API 주소 두 가지로 구성되며, Ollama를 추천합니다. Ollama는 다양한 공개 모델을 신속하게 포팅하고 손쉽게 구현할 수 있도록 도와줍니다.
공개된 LLM 또는 sLM 모델을 모두 다운로드할 수는 없지만, Ollama의 create 명령으로 필요한 모델을 사용할 수 있습니다.

이번 기고에서는 create 명령 사용 절차와 준비 과정을 다루어 Ollama 활용법에 대한 이해를 돕겠습니다. 작업 순서는 다음과 같습니다:
- 공개된 모델 내려받기
- 모델을 GGUF 포맷으로 변환
- GGUF 모델을 Q5_K_M으로 양자화
- Ollama의 create 명령으로 모델 추가
- K8sGPT 분석에 추가된 모델 사용
1부에서는 모델을 Ollama에 맞게 변환하는 과정을 살펴봅니다.

0단계: 사전 준비
필요한 도구는 다음과 같습니다:
- python3
- pip3
- huggingface-cli
작업에 사용할 디렉터리를 구성합니다.

1단계: 허깅페이스에서 모델 내려받기
사용할 LLM을 결정하고, Llama3-Chinese-8B-Instruct 모델을 확인합니다.

모델의 포맷 확인 후, 허깅페이스에 로그인하여 모델을 다운로드합니다.

모델 다운로드는 download 명령어로 수행합니다.

2단계: GGUF 파일 형식으로 변환하기
허깅페이스에서 세이프텐서를 GGUF로 변환합니다. Ollama에서는 GGUF 파일을 사용해야 합니다.
변환 과정은 llama.cpp 프로젝트를 통해 진행합니다.
llama.cpp 프로젝트를 로컬에 클론합니다.
3단계: f16 GGUF 모델을 Q5_K_M으로 양자화
양자화는 모델의 성능은 유지하면서 리소스를 절약합니다. Q5_K_M은 비트 수를 줄이면서도 성능을 유지하는 수준입니다.
Q5_K_M으로 양자화하기 위해 llama-quantize 명령어를 사용합니다.
마치며
이 글에서는 Ollama에 없는 모델을 가져오기 위한 과정을 살펴봤습니다. 다음 글에서는 모델을 Ollama에서 사용하는 법을 소개합니다.
작가: 조훈 (CNCF 앰버서더)
이성민
문성주
심근우
해당 기사는 GPT를 이용하여 요약한 내용입니다.