Налаштування LoRA для Llama для служби підтримки клієнтів
Вам доручено донавчити мовну модель, щоб вона відповідала на запитання служби підтримки клієнтів.
Моделі Llama добре відповідають на запитання, тож мають підійти для цього завдання. На жаль, у вас недостатньо обчислювальних ресурсів для звичайного донавчання, тому треба використати техніки донавчання LoRA з набором даних bitext.
Ви хочете мати змогу навчати Maykeye/TinyLLama-v0. Скрипт навчання майже завершений, і код навчання вже надано, за винятком параметрів конфігурації LoRA.
Відповідну модель, токенізатор, набір даних і параметри навчання вже завантажено для вас у змінні model, tokenizer, dataset та training_arguments.
Ця вправа є частиною курсу
Тонке налаштування з Llama 3
Інструкції до вправи
- Додайте аргумент, щоб установити ранг адаптерів LoRA рівним 2.
- Установіть коефіцієнт масштабування вдвічі більшим за ваш ранг.
- У конфігурації Lora задайте тип завдання, який використовують моделі у стилі Llama.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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()