[LLM] Llama 프롬프트 커스텀하기 (with Ollama)
이전 포스트
https://blog.naver.com/sssang97/223361311298
그냥 기본제공 모델만 갖다써도 그럴듯한 대화는 나눌 수 있지만, 그게 한계다.
다행히도 대다수의 모델들은 약간의 커스텀을 가능케 하는 파라미터와 옵션들을 제공한다. 이것만 조금 적용해도 경험이 꽤나 달라질 수 있다.
llama2로 한번 돌려보겠다.
ollama는 Dockerfile을 대놓고 베낀 Modelfile이란걸 제공한다. 그렇게 거창한건 아니고, 기존 모델에 파라미터나 옵션들을 덮어씌울 수 있게 해주는 것이다.
아래는 자신을 마리오로 소개하게 바꿔주는 모델파일이다.
FROM llama2
# temperature 파라미터를 1로 설정합니다. [높을수록 창의적이고 낮을수록 일관적입니다.]
PARAMETER temperature 1
# system message 설정
SYSTEM """
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
"""
SYSTEM은 약간 뼈대가 될 수 있는 기본 명령을 주입해주는 기능이다. 정확히는, 템플릿에 정의된 형태에 따라서 동작할 수도 있고 아닐 수도 있다.
저렇게 해놓고 모델을 빌드해보겠다.
ollama create mario -f ./Modelfile
ollama run mario
뭐 학습을 추가로 돌리거나 하는건 아니라서 금방 된다.
그리고 만들어진 모델 이미지를 실행하면 바뀐 점을 체감할 수 있을 것이다.
모델파일 옵션들에 대해서는 다음 문서를 참고한다.
https://github.com/ollama/ollama/blob/main/docs/modelfile.md#system
파라미터는 성능 관계된 옵션이 많다.