로컬 LLM으로 공고 요약 전송 봇 만들기

(window) HuggingFace의 모델(gguf) Ollama에서 쓰기

필만이 2024. 6. 8. 12:32

HuggingFace가 뭔데

  1. HuggingFace는 자연어 처리(NLP) 모델과 데이터셋을 공유하고 배포하는 플랫폼입니다.
  2. 다양한 사전 훈련된 언어 모델(Transformers)을 제공합니다.
  3. huggingface-cli를 사용하여 모델을 쉽게 다운로드할 수 있습니다.
  4. 모델 다운로드 예시: huggingface-cli download <repo> <filename> --local-dir <path>.
  5. 커뮤니티와 연구자들이 모델과 데이터를 공유하고 협업할 수 있습니다.

Ollama는 뭔데

  1. Ollama는 AI 모델을 생성하고 관리하는 도구입니다.
  2. 다양한 형식의 모델 파일을 사용하여 새로운 AI 모델을 생성할 수 있습니다.
  3. Modelfile을 정의하여 모델의 설정을 지정합니다.
  4. 모델 생성 예시: ollama create <model_name> -f <Modelfile_path>.
  5. Ollama 도구는 명령어 기반으로 작동하며, 설정된 규칙에 따라 모델을 구성합니다.

요약 : 서로 다른 플렛폼이니, HuggingFace에 올린 모델을 Ollama에서 사용하려면 변환과정이 필요하다.

변환과정

  1. 아래 실습 파워쉘(Powershell)에서 진행
  2. 허깅페이스 설치
  3. PS C:\Users\유저이름>pip install huggingface-hub
  4. 허깅페이스 명령어로 언어모델(야놀자제작) 다운(파워쉘이 아니면 \를 사용)
PS C:\Users\weare>huggingface-cli download `
heegyu/EEVE-Korean-Instruct-10.8B-v1.0-GGUF `
ggml-model-Q5_K_M.gguf `
--local-dir C:\Users\유저이름\gguf\EEVE-Korean-Instruct-10.8B-v1.0-GGUF `
--local-dir-use-symlinks False
  1. ollama로 무난한 변환위해 Modelfile을 생성해 폴더(EEVE-Korean-Instruct-10.8B-v1.0-GGUF)에 추가

    FROM ggml-model-Q5_K_M.gguf TEMPLATE """{{- if .System }} <s>{{ .System }}</s> {{- end }} <s>Human: {{ .Prompt }}</s> <s>Assistant: """ SYSTEM """A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.""" PARAMETER stop <s> PARAMETER stop </s>
  2. gguf 파일을 이용해 ollama 모델 생성

    PS C:\Users\weare\gguf> ollama create EEVE-Korean-10.8B -f EEVE-Korean-Instruct-10.8B-v1.0-GGUF/Modelfile transferring model data using . existing layer sha256:b9e3d1ad5e8aa6db09610d4051820f06a5257b7d7f0b06c00630e376abcfa4c1 creating new layer sha256:6fe7ed0d1aa9d7d4f3b6397184caf17b9b558739bc00f5abde876ee579fbf51a creating new layer sha256:1fa69e2371b762d1882b0bd98d284f312a36c27add732016e12e52586f98a9f5 creating new layer sha256:fc44d47f7d5a1b793ab68b54cdba0102140bd358739e9d78df4abf18432fb3ea creating new layer sha256:c9eed651555d2f63be6e8ae5030f98b710868133818fde1bad0ba1e3a5e238aa writing manifest success
  3. 생성한 ollama 모델 실행

    PS C:\Users\weare\gguf> ollama run EEVE-Korean-10.8B
  4. 테스트
    (>>> 여기에 질문을 적어 테스트 해보세요)

출처 : https://www.youtube.com/watch?v=VkcaigvTrug
언어모델 출처 : https://huggingface.co/heegyu/EEVE-Korean-Instruct-10.8B-v1.0-GGUF