Тонкая настройка Llama с LoRA для службы поддержки
Вам поручено выполнить тонкую настройку языковой модели для ответов на вопросы в службе поддержки клиентов.
Модели Llama хорошо справляются с задачами ответов на вопросы и должны показать хорошие результаты в этом сценарии. Однако вычислительных ресурсов для обычной тонкой настройки недостаточно, поэтому необходимо использовать технику LoRA с набором данных bitext.
Вам нужно обучить модель Maykeye/TinyLLama-v0. Скрипт обучения практически готов: весь код уже предоставлен, за исключением параметров конфигурации LoRA.
Модель, токенизатор, набор данных и аргументы обучения уже загружены и доступны в переменных model, tokenizer, dataset и training_arguments.
Это упражнение является частью курса
Файн-тюнинг с Llama 3
Инструкции к упражнению
- Добавьте аргумент, задающий ранг 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()