Введение
В этом репозитории представлен результат обучения LoRA в рамках курса по LLM от VK.
В данном эксперименте используется датасет cardiffnlp/tweet_eval. Решаемая задача - предсказание тональности текста (Sentiment Classification). Для файнтюна на задачу Sentiment Classification бралась в связи с особенностью QLoRA мы взяли модель побольше, чем в других экспериментах этой серии TinyLlama/TinyLlama-1.1B-Chat-v1.0.
Отметим, что в zero-shot режиме качество предсказаний модели даже с учётом вспомогательных сценариев (некоторого парсинга ответов модели) остаётся довольно низким.
Детали
Описание модели
QLoRA - один из способов эффективного файнтюна модели. Идея, описанная в статье про LoRA довольно проста: мы можем выучить скелетные разложения матриц вместо полных матриц, что сильно сокращает число используемых параметров.
Основная идея модификации QLoRA заключается в том, что во время обратного распространения ошибки модель квантует исходные веса с точностью до 4 бит, что позволяет значительно сократить использование GPU памяти. Для обработки пиков памяти при этом применяются страничные оптимизаторы.
Сравнение результатов моделей
Baseline (F1 = 0.02)
QLoRA (F1 = 0.54)
Референсы
- Модель: TinyLlama/TinyLlama-1.1B-Chat-v1.0
- Датасет: cardiffnlp/tweet_eval
- Оригинальная статья: https://arxiv.org/pdf/2305.14314