Описание
Данная модель была создана в рамках курса по NLP от VK.
Задание заключалось в том, чтобы сделать fine-tune базовой модели на задачу классификации тональности твитов с помощью QLoRA.
Fine-tune в формате текстовой генерации (text-to-text), без изменения архитектуры (доп. голов).
Базовая модель: TinyLlama/TinyLlama-1.1B-Chat-v1.0, набор данных: cardiffnlp/tweet_eval.
Обучение
Обучалось с помощью SFTTrainer.
- Квантование
- 4 bit
- bnb_4bit_quant_type="nf4"
- bnb_4bit_compute_dtype=torch.bfloat16
- LoRA
- r=8
- alpha=16
- модули: "all-linear"
- lora_dropout=0.05
- learning_rate=2e-4
- num_train_epochs=1
- per_device_train_batch_size=32
- optim="paged_adamw_32bit"
- lr_scheduler_type="cosine"
- warmup_ratio=0.1
- bf16=True
Обучалось в Kaggle на GPU P100 примерно 3 часа.
Качество
F1 Macro: 0.37
Качество модели не очень, однако fine-tune очень сильно изменил картину (качество базовой модели - 0.03). Не все ответы модели удалось распознать и определить к одному из трех классов. Скорее всего плохо подобраны гиперпараметры и мало эпох. Однако проводить эксперименты крайне трудозатратно в силу большого размера модели.
Model tree for bikingSolo/vk-nlp-course-hometask-3-tinyllama-qlora
Base model
TinyLlama/TinyLlama-1.1B-Chat-v1.0