모델 커스터마이징
- llama3를 커스터마이징 해본다
$ ollama pull llava # 모델 다운
- 다운 받은 모델은 .ollama/models/blob 에 위치하게 되는데, 이때 Modelfile 도 같이 저장되는 것으로 보인다
- 그이유는 아래에 나와 있다.
ollama show --modelfile {모델명}
해보면 modelfile을 보여주는데 FROM 의 파일이 sha256XXX.인코딩 파일이다.
따라서, modelfile도 같이 .ollama/models/blob 에 저장되는 것을 알 수 있다.
Modelfile를 수정할 경우 기존의 FROM을 llava:latest로 바꾸라고 한다.
기존 llava가 인코딩된 파일을 가리키지 말라고 한다, 왤까??
- Modelfile 생성
FROM llama3 # llama3를 튜닝하겠다는 의미이다
# sets the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1
# 컨텍스트 윈도우 사이즈 조정
# sets the context window size to 4096, this controls how many tokens the LLM can use as context to generate the next token
PARAMETER num_ctx 4096
# 시스템 명령 조정
# sets a custom system message to specify the behavior of the chat assistant
SYSTEM You are Mario from super mario bros, acting as an assistant.
- 위의 수정한 Modelfile을 (되도록이면) .ollama/models/blobs에 위치 시킨다.
- 혹은 아래와 같이 서빙시 모델 목록을 저장한 폴더(ollama-modelfile)에 {모델명}/{모델별_XXX.gguf}와 같이 위치 시키도록 한다.
- 아래 명령으로 새로은 모델 mario를 생성 및 실행할 수 있다.
$ ollama create {choose-a-model-name} -f <location of the file e.g. ./Modelfile>'
$ ollama run {choose-a-model-name}
모델을 프로그램 방식으로 사용
- API 사용방식 참고: Ollama + Llama 3 사용법 (brunch.co.kr)
- Langchain을 이용한 사용 방식 참고
: Ollama | 🦜️🔗 LangChain
: Ollama + Llama 3 사용법 (brunch.co.kr)
- WebUI 기능 참고: Ollama 를 활용해서 개인형 LLM 서버 구성하기 (sk.com)
- Modelfile 설명 상세: ollama/docs/modelfile.md at main · ollama/ollama (github.com)
- 프로그램 방식 사용 예시 모음집: ollama/examples at main · ollama/ollama (github.com)
==>
Ollama도 그렇고, LM Studio도 둘다 로컬 호스팅 기능을 지원한다.
Ollama는 모델을 다운 받으면 sha 형식으로 저장되었지만, LM Studio는 gguf 로 저장되었다.
(LM Studio가 경량화된 모델 까지 사용할 수 있어서, 선택의 폭이 더 넓은 듯??)
웹UI도 따로 모듈을 설치할 필요 없이 LM Studio는 통합되어 있으니 더 편함
참고
- ollama/docs/modelfile.md at main · ollama/ollama (github.com)
- Modelfile 참고: Ollama란? Ollama 사용법: 내 PC에서 무료로 LLM 실행하기 | 코딩추월차선 (developerfastlane.com)
'LLM > Engine' 카테고리의 다른 글
[Chatbot] Task Oriented Dialogure (TOD) 에 대한 이해 (0) | 2024.10.10 |
---|