고객 지원을 위한 Llama LoRA 파인튜닝
여러분은 고객 문의에 답변하는 언어 모델을 파인튜닝하는 과제를 맡았어요.
Llama 모델은 질의응답에 꽤 능숙해서 이번 고객 지원 작업에도 잘 맞을 거예요. 하지만 일반적인 파인튜닝을 돌릴 만큼의 연산 자원이 없어 bitext 데이터셋을 사용한 LoRA 파인튜닝 기법을 적용해야 해요.
목표는 Maykeye/TinyLLama-v0를 학습할 수 있게 만드는 것입니다. 학습 스크립트는 거의 완성되어 있고, LoRA 구성 매개변수만 제외하고는 학습 코드가 이미 제공되어 있어요.
관련 모델, 토크나이저, 데이터셋, 그리고 학습 인자는 각각 model, tokenizer, dataset, training_arguments에 미리 로드되어 있어요.
이 연습은 강의의 일부입니다
Llama 3 미세 조정(Fine-Tuning)
연습 안내
- LoRA 어댑터의 랭크를 2로 설정하는 인자를 추가하세요.
- 스케일링 계수를 랭크의 두 배가 되도록 설정하세요.
- Llama 계열 모델에서 사용하는 작업 유형을 Lora 구성에 설정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
from peft import LoraConfig, get_peft_model
peft_config = LoraConfig(
# Set rank parameter
____=____,
# Set scaling factor
____=____,
# Set the type of task
____=____,
lora_dropout=0.05,
bias="none",
target_modules=['q_proj', 'v_proj']
)
trainer = SFTTrainer(
model=model,
train_dataset=dataset,
max_seq_length=250,
dataset_text_field='conversation',
tokenizer=tokenizer,
args=training_arguments,
peft_config=peft_config,
)
trainer.train()