로컬에서 오픈소스 모델을 사용하기 위해 종종 다양한 LLM 서빙 툴들을 사용합니다.
가장 대중적이면서 접근하기 쉬운 것으로 Ollama가 있죠.
Ollama 에서는 Docker와 같이 model 을 pull 하여 Ollama hub에 있는 모델을 로컬 환경에 다운받아 올 수 있습니다.
이 것이 아니라면 직접 로컬 환경에서 gguf 파일과 Modelfile을 이용하여 Ollama list에 업데이트 해줄 수 있습니다. (로컬 환경 제한적)
그럼 내가 학습하고 경량화 한 모델을 Push 하려면 어떻게 해야할까요?
Ollama 사이트 회원 가입
Ollama
Get up and running with large language models.
ollama.com
우선 Ollama 사이트에 접속하여 회원가입을 진행합니다.
(git / docker와 같이 레포지토리를 생성하기 위함)
Create New Model
회원 가입을 완료하였으면 위의 My Models를 클릭하여 아래 페이지에 진입합니다.
New 를 클릭하여 모델 레포지토리를 생성합니다.
저는 리턴제로에서 학습한 gemma2-9B-ko 모델을 gguf 파일로 양자화 하여 가지고 있었기 때문에 이를 기준으로 작성하였습니다.
위 그림처럼, 모델 이름을 정하고 summary 를 지정할 수 있습니다. Public으로 올릴 것인지, Private으로 올릴 것인지 지정 후 create model 버튼을 클릭합니다.
그럼 위와 같이 모델 레포지토리가 생성된 것을 확인할 수 있습니다.
Ollama Keys Setting
포스팅을 작성하게 된 이유인데, Ollama API를 세팅하는 방법이 불친절해서 내용에 대해 알아보고자 합니다.
우선 다시 회원 메뉴를 클릭해 Settings 메뉴에 진입합니다.
진입 후 프로필을 확인하면 Ollama keys 라는 항목이 존재하는 것을 확인할 수 있습니다.
이를 확인하면 os 별로 ollama key 가 어느 위치에 존재하는지 (로컬 환경에서)
경로가 나와있습니다.
linux 기준으로 한번 볼게요.
뒤의 id_ed25519.pub은 특정 계정에만 해당하는 key 값이 아닌 Ollama를 설치하고 나면 해당 경로에 위 파일이 생성됩니다.
아래 명령어를 입력합니다.
cat /usr/share/ollama/.ollama/id_ed25519.pub
cat 명령어를 이용하여 파일을 열어보면 ssh-ed25519~... 로 시작하는 ssh 키를 얻을 수 있습니다.
(터미널에서 바로 생성됩니다.)
Add Ollama Public Key를 클릭하고 해당 빈칸에 위에서 얻은 ssh-ed25519~... 키를 입력해주면 내 Ollama hub의 레포지토리와 로컬 환경이 연결됩니다.
Ollama Push
Ollama hub에서 허브의 모델을 로컬환경으로 가져올 땐 pull 명령어를 사용했습니다.
반대로 허브에 모델을 올릴때는 push 명령어를 사용합니다.
push 방법은 모델 레포지토리를 웹페이지에서 생성했을 때도 가이드가 자세히 나오지만,
로컬 환경에서 Modelfile 과 gguf 파일을 이용하여 모델을 구축하는 방법과 같습니다. 이후에 해당 레포지토리로 push 해주기만 하면 됩니다.
Modelfile을 작성하고,
ollama create -f Modelfile .
(Modelfile 이하는 gguf 파일이 존재하는 경로입니다.)
ollama push [레포이름]/[모델이름]
push 명령어를 입력해주면
아래와 같이 모델이 잘 업로드 되며 해당 gguf 파일과 Modelfile이 없어도 로컬 환경에서 pull 받을 수 있게 됩니다.
'LLM > PlayGround' 카테고리의 다른 글
Gemma2-ko-9B Model 법률 데이터셋 Law-QA-Dataset Fine tuning 파인 튜닝 (2) | 2024.09.30 |
---|