Mistral 7B Instruct — 파인튜닝과 [INST] 포맷
Mistral 7B Instruct — 파인튜닝과 [INST] 포맷
Mistral 7B Instruct는 Mistral-7B-v0.1을 공개 대화 데이터셋으로 지시 튜닝한 버전이에요. 특별한 트릭이나 사유 데이터 없이 공개 데이터셋만으로 만들었죠. MT-Bench에서 모든 7B 모델을 능가하고 13B 채팅 모델과 비슷한 성능을 냈어요.
지시 포맷
프롬프트를 [INST]와 [/INST] 토큰으로 감싸야 해요. 첫 지시는 문장 시작(sentence-begin) 토큰으로 시작하고, 이후 지시는 문장 시작 토큰 없이 시작해요.
<s>[INST] What is your favourite condiment? [/INST]
"Well, I'm quite partial to a good squeeze of fresh lemon juice.</s>
[INST] Do you have mayonnaise recipes? [/INST]
transformers로 쓰기
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-Instruct-v0.1")
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.1")
messages = [
{"role": "user", "content": "What is your favourite condiment?"},
{"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice."},
]
참조 구현
미스트랄은 mistral_common(토크나이저·프로토콜)과 mistral_inference(Transformer·generate)로 구성된 참조 구현을 제공해요. MistralTokenizer.v1()과 generate([tokens], model, max_tokens=64, temperature=0.0, ...) 형태로 쓰죠.
참고: Instruct 모델에는 중재( moderation) 메커니즘이 없다는 점을 발표에서 명시했어요. 배포 시 별도 안전장치가 필요해요.