О чём урок
Дообучение больших языковых моделей — ресурсоёмкий процесс. LoRA — это техника, которая позволяет дообучать большие языковые модели с небольшим количеством параметров. Она работает путём добавления и оптимизации меньших матриц к весам внимания, обычно сокращая количество обучаемых параметров примерно на 90%. LoRA (Низкоранговая адаптация) — это параметрически эффективная техника fine-tuning, которая замораживает веса предварительно обученной модели и внедряет обучаемые матрицы низкорангового разложения в слои модели. Вместо обучения всех параметров модели во время fine-tuning, LoRA декомпозирует обновления весов на меньшие матрицы посредством низкорангового разложения, значительно сокращая количество обучаемых параметров при сохранении производительности модели. Например, при применении к GPT-3 175B, LoRA сократила обучаемые параметры в 10 000 раз и требования к памяти GPU в 3 раза по сравнению с полным fine-tuning. Вы можете узнать больше о LoRA в статье о LoRA. LoRA работает путём добавления пар матриц низкорангового разложения к слоям трансформера, обычно фокусируясь на весах внимания. Во время инференса эти веса адаптера могут быть объединены с базовой моделью, что не приводит к дополнительным накладным расходам на задержку. LoRA особенно полезна для адаптации больших языковых моделей к конкретным задачам или доменам при сохранении управляемых требований к ресурсам. Эффективность памяти: Только параметры адаптера хранятся в памяти GPU Веса базовой модели остаются замороженными и могут быть загружены с меньшей точностью Позволяет выполнять fine-tuning больших моделей на потребительских GPU Возможности обучения: Нативная интеграция PEFT/LoRA с минимальной настройкой Поддержка QLoRA (Quantized LoRA) для ещё большей эффективности памяти Управление адаптерами: Сохранение весов адаптера во время контрольных точек Функции для объединения адаптеров обратно в базовую модель PEFT — это библиотека, которая предоставляет унифицированный интерфейс для загрузки и управления методами PEFT, включая LoRA. Она позволяет легко загружать и переключаться между различными методами PEFT, что упрощает эксперименты с различными техниками fine-tuning. Адаптеры могут быть загружены в предварительно обученную модель с помощью load_adapter(), что полезно для опробования различных адаптеров, веса которых не объединены.
План урока
- Понимание LoRA
- Ключевые преимущества LoRA
- Загрузка адаптеров LoRA с помощью PEFT
- Fine-tune LLM с использованием trl и SFTTrainer с LoRA
- Конфигурация LoRA
- Использование TRL с PEFT
- Объединение адаптеров LoRA
- Реализация объединения
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.