“LLaMA и ее finetunes”
SOTA при размере меньше, чем у конкурентов
О чем поговорим сегодня?
“LLaMA и ее finetunes”
LLaMA: Open and Effecient Foundation LM
За счет каких исследований в LLaMA меньше параметров?
В экспериментах OpenAI Scaling Laws for Neural Language Models, 2020 было обнаружено неожиданное свойство. Когда количество данных увеличивается, происходит улучшение качества. Именно этот фактор позволил LLaMA-13B превзойти GPT-3, несмотря на то, что он был в 10 раз меньше.
“LLaMA и ее finetunes”
Количество токенов в датасете
“LLaMA и ее finetunes”
План лекции
Что под копотом?
Архитектура была представлена в статье Attention is all you need, 2017. Основная особенность архитектуры – использование механизма attention для вычисления взвешенной суммы векторов входного текста. Это позволяет моделировать контекстуальные зависимости между словами и учитывать важность каждого слова при вычислении предсказания.
“LLaMA и ее finetunes”
Архитектура трансформера
Особенности модели на pretrain
Были нормализованы входные данные для каждого подуровня трансформера.
“LLaMA и ее finetunes”
формура RMSNorm
Особенности модели на pretrain
Была изменена фунция активации
“LLaMA и ее finetunes”
Особенности модели на pretrain
Для позиционного энкодинга были применены “rotary positional embeddings”
“LLaMA и ее finetunes”
Особенности модели на pretrain
Была применена регуляризация в функции потерь, которая пропорциональна квадрату весовых коэффициентов каждого слоя сети “weight decay” в размере 0.1
“LLaMA и ее finetunes”
формула регуляризации
Особенности модели на pretrain
За оптимайзер был взят AdamW с бетами 0.9 и 0.95. Adam адаптирует скорость обучения на основе градиента и использует скользящее среднее первого и второго моментов градиента для обновления весов. А AdamW использует регуляризацию “weight decay”
“LLaMA и ее finetunes”
формула оптимизатора Adam
Особенности модели на pretrain
Был применен gradient clipping в размере 1.0
“LLaMA и ее finetunes”
Особенности модели на pretrain
Результат операции внимания для одного запроса представляет собой взвешенную сумму векторов значений, где веса являются softmax от скалярных произведений запроса и ключей.
“LLaMA и ее finetunes”
Основная идея заключается в кэшировании промежуточных результатов вычислений в каждом слое, которые могут быть повторно использованы при обработке последующих входных данных.
checkpointing
Особенности модели на pretrain
“LLaMA и ее finetunes”
Особенности модели на pretrain
“LLaMA и ее finetunes”
BPE tokenizer
Распределение данных на pretrain
1.4T токенов
“LLaMA и ее finetunes”
Результативные метрики модели
“LLaMA и ее finetunes”
“LLaMA и ее finetunes”
План лекции
Что такое ChatGPT и в чем особенности обучения?
“LLaMA и ее finetunes”
инструкции
инструкции
Инструктивные данные? Что такое?
“LLaMA и ее finetunes”
Self-instruct
Полуавтоматический способ сбора инструктивных данных для дообучения моделей. Процесс включает в себя итеративный алгоритм запуска, который генерирует инструкции, примеры ввода-вывода и удаляет низкокачественные и повторяющиеся инструкции, чтобы достичь опытности в широком диапазоне задач.
“LLaMA и ее finetunes”
Схема сбора инструктивных данных
Pipeline сбора инструктивных данных
Генерация инструкций.
*Позволяет использовать только инструкции, которые не могут быть сформулированы вариативно
“LLaMA и ее finetunes”
Основная идея
Если модель увидела n-ое количество специфических примеров и решений, то она сможет сгенерировать еще
Pipeline сбора инструктивных данных
Определение задачи классификации
“LLaMA и ее finetunes”
Pipeline сбора инструктивных данных
Генерация инструкции при получении ввода (задача не классификации)
“LLaMA и ее finetunes”
Pipeline сбора инструктивных данных
Генерация инструкции при получении вывода (задача классификации)
“LLaMA и ее finetunes”
Pipeline сбора инструктивных данных
Для того, чтобы в итоге получить качественные данные нужно отсеять низкокачественный контент.��Критерии фильтрации:
- ROUGE-L с любой имеющейся инструкцией < 0,7
- Исключение инструкций, содержащих определенные ключевые слова (например, изображения, фотографии, графики)
- С одинаковым вводом, но разными выходами.
“LLaMA и ее finetunes”
ROUGE-L
“LLaMA и ее finetunes”
“LLaMA и ее finetunes”
План лекции
Alpaca
Сравнение дообучения LLaMA и модели OpenAI
“LLaMA и ее finetunes”
Детали обучения Alpaca
Начали с 175 пар инструкций-выходных данных, написанных людьми, из набора самообучения. Затем запустили text-davinci-003, чтобы сгенерировать больше инструкций.
Stanford University Pre-Learning Decision, 2023
“LLaMA и ее finetunes”
Fully Sharded Data Parallel and mixed precision training ––> 3 hours 8 80GB A100s
Vicuna
GPT-4 evalution
“LLaMA и ее finetunes”
Детали обучения Vicuna
Это расширение для Chrome, которое позволяет сохранять ваши самые необычные беседы с ChatGPT всего лишь одним кликом.
“LLaMA и ее finetunes”
Self-instruct dataset
70k диалогов из ChatGPT
Koala
“LLaMA и ее finetunes”
Детали обучения Koala
•ShareGPT only on English
•Human ChatGPT Comparison Corpus (60K human answers and 27K ChatGPT answers for around 24K questions)
“LLaMA и ее finetunes”
Вместо максимизации количества примеров в датасете, они фокусируются на сборе небольшого, но высококачественного датасета. Причем используют, как положительные, так и отрицательные примеры.
WizardLM
Оценка человеком
https://arxiv.org/pdf/2304.12244.pdf
“LLaMA и ее finetunes”
Предпосылки к созданию WizardLM
Весь процесс сбора инструктивного датасета является крайне дорогостоящим и затратным по времени. С другой стороны, распределение уровней сложности инструкций, созданных людьми, смещено в сторону легкости или умеренности.
“LLaMA и ее finetunes”
Технология подготовки данных WizardLM
Метод Evol-Instruct начинает с начального набора инструкций и пошагово переписывает их в более сложные инструкции. In-depth Evolving включает пять типов операций: добавление ограничений,
углубление, конкретизация, увеличение шагов рассуждения и усложнение ввода. In-Beadth evolving – это мутация, т.е. генерация совершенно новой инструкции на основе заданной инструкции.
“LLaMA и ее finetunes”
in-deapth evolving
“LLaMA и ее finetunes”
in-breadth evolving
Детали обучения WizardLM
Обучающий набор данных: для создания набора данных инициализировали его с 52 тысячами инструкций датасета Alpaca.
Детали обучения: Adam, lr 2e-5, 3 эпохи.
Детали вывода: top-p 0,9, температура 1.
8 V100 GPU с Deepspeed Zero-3 в течение 70 часов на 3 эпохи.
“LLaMA и ее finetunes”
Что такое ChatGPT и в чем особенности обучения?
“LLaMA и ее finetunes”
инструкции
инструкции
RLHF
“LLaMA и ее finetunes”
What is RLHF?
StackLLaMA
Датасет (10М) включает в себя вопросы и соответствующие ответы с платформы StackExchange.
“LLaMA и ее finetunes”
https://huggingface.co/blog/stackllama
Добавить
Оптимизация с помощью LoRA
“LLaMA и ее finetunes”
Оптимизация обучения StackLLaMA
Дополнительные параметры (оранжевого цвета) добавляются рядом со замороженным слоем (синего цвета), а полученные закодированные скрытые состояния добавляются вместе со скрытыми состояниями замороженного слоя.
“LLaMA и ее finetunes”
8 bit model + LORA + parallelism = efficient training
Supervised fine-tuning
Несколько текстов объединяются с помощью токена EOS между ними, а затем разбиваются на фрагменты заданного размера контекста для оптимизации пакетной обработки без необходимости дополнительной подгонки.
“LLaMA и ее finetunes”
packing
Reward и предпочтения человека
Хитрость, которая хорошо работает вместо прямой обратной связи, заключается в обучении модели вознаграждения на собранных ранее аннотациях от людей до запуска RL-цикла. Целью модели вознаграждения является имитация того, как человек оценивает текст.
“LLaMA и ее finetunes”
StackLLaMA pipeline дообучения
PPO работает путем оптимизации обрезанной версии отношения между вероятностями новой и старой политик, умноженных на функцию вознаграждения.
“LLaMA и ее finetunes”
Метод борьбы с переобучением reward model с помощью KL
“Название лекции”
Some more interesting LLaMA’s fine-tunning models:
•llama.cpp
спасибо за внимание
“Название лекции”
Телеграм-канал Карины Романовой
Все самое интересное из новостей и статей
в области NLP
блокнот Colab