Ollama에 없는 모델 내가 만들어 사용하기 (1)

  • 관리자 신현승
  • 카테고리: 개발이슈
  • 조회수: 816
  • 작성일:

K8sGPT는 쿠버네티스와 대규모 언어 모델(GPT)을 결합한 오픈소스 프로젝트로, 쿠버네티스 클러스터에서 이슈를 발견하고 원인 및 해결 방안을 안내합니다.

이 프로젝트는 오픈소스 LLM과 시작했으나, 이제 AI 제공자를 구성해 사용할 수 있는 기능을 제공합니다. 로컬 LLM 환경을 구축하여 데이터 노출 우려를 줄일 수 있습니다.

*참고 글: 로컬 LLM에서 K8sGPT로 쿠버네티스 AIOps 실행하기 (1부, 2부)

AI 모델과 API 주소 두 가지로 구성되며, Ollama를 추천합니다. Ollama는 다양한 공개 모델을 신속하게 포팅하고 손쉽게 구현할 수 있도록 도와줍니다.

공개된 LLM 또는 sLM 모델을 모두 다운로드할 수는 없지만, Ollama의 create 명령으로 필요한 모델을 사용할 수 있습니다.

Ollama에서 llama3 또는 그 이상의 중국어 모델을 검색 중 없는 경우 <출처: 작가>

이번 기고에서는 create 명령 사용 절차와 준비 과정을 다루어 Ollama 활용법에 대한 이해를 돕겠습니다. 작업 순서는 다음과 같습니다:

  1. 공개된 모델 내려받기
  2. 모델을 GGUF 포맷으로 변환
  3. GGUF 모델을 Q5_K_M으로 양자화
  4. Ollama의 create 명령으로 모델 추가
  5. K8sGPT 분석에 추가된 모델 사용

1부에서는 모델을 Ollama에 맞게 변환하는 과정을 살펴봅니다.

Ollama 로고 응용 그림 <출처: Ollama 블로그>

0단계: 사전 준비

필요한 도구는 다음과 같습니다:

  • python3
  • pip3
  • huggingface-cli

작업에 사용할 디렉터리를 구성합니다.

1단계: 허깅페이스에서 모델 내려받기

사용할 LLM을 결정하고, Llama3-Chinese-8B-Instruct 모델을 확인합니다.

FlagAlpha에서 제공하는 모델 <출처: 허깅페이스, FlagAlpha>

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

FlagAlpha의 Llama3-Chinese-8B-Instruct 소개 페이지 <출처: 허깅페이스, FlagAlpha>

모델 다운로드는 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를 이용하여 요약한 내용입니다.

원문보기


코멘트 (0)