1 of 50

2 of 50

“LLaMA и ее finetunes”

  • Разрабатывала голосовых помощников в Салют Sberdevices
  • В innotech занимаюсь разнообразными решениями для NLP research
  • Стараюсь популяризировать интересные статьи и исследования в телеграм канале

3 of 50

SOTA при размере меньше, чем у конкурентов

О чем поговорим сегодня?

“LLaMA и ее finetunes”

LLaMA: Open and Effecient Foundation LM

4 of 50

За счет каких исследований в LLaMA меньше параметров?

В экспериментах OpenAI Scaling Laws for Neural Language Models, 2020 было обнаружено неожиданное свойство. Когда количество данных увеличивается, происходит улучшение качества. Именно этот фактор позволил LLaMA-13B превзойти GPT-3, несмотря на то, что он был в 10 раз меньше.

“LLaMA и ее finetunes”

Количество токенов в датасете

5 of 50

“LLaMA и ее finetunes”

План лекции

  • LLaMA
  • Синтетический сбор инструктивного датасета
  • Файнтюны на LLaMA
    • Alpaca
    • Vicuna
    • Koala
    • WizardLM
    • StackLLaMA

6 of 50

Что под копотом?

Архитектура была представлена в статье Attention is all you need, 2017. Основная особенность архитектуры – использование механизма attention для вычисления взвешенной суммы векторов входного текста. Это позволяет моделировать контекстуальные зависимости между словами и учитывать важность каждого слова при вычислении предсказания.

“LLaMA и ее finetunes”

Архитектура трансформера

7 of 50

Особенности модели на pretrain

Были нормализованы входные данные для каждого подуровня трансформера.

“LLaMA и ее finetunes”

формура RMSNorm

8 of 50

Особенности модели на pretrain

Была изменена фунция активации

“LLaMA и ее finetunes”

9 of 50

Особенности модели на pretrain

Для позиционного энкодинга были применены “rotary positional embeddings”

“LLaMA и ее finetunes”

10 of 50

Особенности модели на pretrain

Была применена регуляризация в функции потерь, которая пропорциональна квадрату весовых коэффициентов каждого слоя сети “weight decay” в размере 0.1

“LLaMA и ее finetunes”

формула регуляризации

11 of 50

Особенности модели на pretrain

За оптимайзер был взят AdamW с бетами 0.9 и 0.95. Adam адаптирует скорость обучения на основе градиента и использует скользящее среднее первого и второго моментов градиента для обновления весов. А AdamW использует регуляризацию “weight decay”

“LLaMA и ее finetunes”

формула оптимизатора Adam

12 of 50

Особенности модели на pretrain

Был применен gradient clipping в размере 1.0

“LLaMA и ее finetunes”

13 of 50

Особенности модели на pretrain

Результат операции внимания для одного запроса представляет собой взвешенную сумму векторов значений, где веса являются softmax от скалярных произведений запроса и ключей.

“LLaMA и ее finetunes”

14 of 50

Основная идея заключается в кэшировании промежуточных результатов вычислений в каждом слое, которые могут быть повторно использованы при обработке последующих входных данных.

checkpointing

Особенности модели на pretrain

“LLaMA и ее finetunes”

15 of 50

Особенности модели на pretrain

“LLaMA и ее finetunes”

BPE tokenizer

16 of 50

Распределение данных на pretrain

1.4T токенов

“LLaMA и ее finetunes”

17 of 50

Результативные метрики модели

“LLaMA и ее finetunes”

18 of 50

“LLaMA и ее finetunes”

План лекции

  • LLaMA
  • Синтетический сбор инструктивного датасета
  • Файнтюны на LLaMA
    • Alpaca
    • Vicuna
    • Koala
    • WizardLM
    • StackLLaMA

19 of 50

Что такое ChatGPT и в чем особенности обучения?

“LLaMA и ее finetunes”

инструкции

инструкции

20 of 50

Инструктивные данные? Что такое?

“LLaMA и ее finetunes”

21 of 50

Self-instruct

Полуавтоматический способ сбора инструктивных данных для дообучения моделей. Процесс включает в себя итеративный алгоритм запуска, который генерирует инструкции, примеры ввода-вывода и удаляет низкокачественные и повторяющиеся инструкции, чтобы достичь опытности в широком диапазоне задач.

“LLaMA и ее finetunes”

Схема сбора инструктивных данных

22 of 50

Pipeline сбора инструктивных данных

Генерация инструкций.

*Позволяет использовать только инструкции, которые не могут быть сформулированы вариативно

“LLaMA и ее finetunes”

Основная идея

Если модель увидела n-ое количество специфических примеров и решений, то она сможет сгенерировать еще

23 of 50

Pipeline сбора инструктивных данных

Определение задачи классификации

“LLaMA и ее finetunes”

24 of 50

Pipeline сбора инструктивных данных

Генерация инструкции при получении ввода (задача не классификации)

“LLaMA и ее finetunes”

25 of 50

Pipeline сбора инструктивных данных

Генерация инструкции при получении вывода (задача классификации)

“LLaMA и ее finetunes”

26 of 50

Pipeline сбора инструктивных данных

Для того, чтобы в итоге получить качественные данные нужно отсеять низкокачественный контент.��Критерии фильтрации:

- ROUGE-L с любой имеющейся инструкцией < 0,7

- Исключение инструкций, содержащих определенные ключевые слова (например, изображения, фотографии, графики)

- С одинаковым вводом, но разными выходами.

“LLaMA и ее finetunes”

27 of 50

ROUGE-L

“LLaMA и ее finetunes”

28 of 50

“LLaMA и ее finetunes”

План лекции

  • LLaMA
  • Синтетический сбор инструктивного датасета
  • Файнтюны на LLaMA
    • Alpaca
    • Vicuna
    • Koala
    • WizardLM
    • StackLLaMA

29 of 50

Alpaca

Сравнение дообучения LLaMA и модели OpenAI

“LLaMA и ее finetunes”

30 of 50

Детали обучения 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

31 of 50

Vicuna

GPT-4 evalution

“LLaMA и ее finetunes”

32 of 50

Детали обучения Vicuna

Это расширение для Chrome, которое позволяет сохранять ваши самые необычные беседы с ChatGPT всего лишь одним кликом.

“LLaMA и ее finetunes”

Self-instruct dataset

70k диалогов из ChatGPT

  • Увеличили максимальную длину контекста с 512 до 2048 в alpaca.
  • Использование датасета, увеличенного в 2 раза для обучения.
  • Обучали с помощью PyTorch FSDP на 8 графических процессорах A100 в течение одного дня.

33 of 50

Koala

“LLaMA и ее finetunes”

34 of 50

Детали обучения Koala

•ShareGPT only on English

•Human ChatGPT Comparison Corpus (60K human answers and 27K ChatGPT answers for around 24K questions)

Open Instruction Generalist

Stanford Alpaca

Anthropic HH

OpenAI WebGPT

OpenAI summarization

“LLaMA и ее finetunes”

  • Модель Koala реализована с помощью JAX/Flax в EasyLM
  • на сервере DGX с 8 графическими процессорами A100.
  • Для прохождения 2 эпох потребовалось 6 часов.

Вместо максимизации количества примеров в датасете, они фокусируются на сборе небольшого, но высококачественного датасета. Причем используют, как положительные, так и отрицательные примеры.

35 of 50

WizardLM

Оценка человеком

https://arxiv.org/pdf/2304.12244.pdf

“LLaMA и ее finetunes”

36 of 50

Предпосылки к созданию WizardLM

Весь процесс сбора инструктивного датасета является крайне дорогостоящим и затратным по времени. С другой стороны, распределение уровней сложности инструкций, созданных людьми, смещено в сторону легкости или умеренности.

“LLaMA и ее finetunes”

37 of 50

Технология подготовки данных WizardLM

Метод Evol-Instruct начинает с начального набора инструкций и пошагово переписывает их в более сложные инструкции. In-depth Evolving включает пять типов операций: добавление ограничений,

углубление, конкретизация, увеличение шагов рассуждения и усложнение ввода. In-Beadth evolving – это мутация, т.е. генерация совершенно новой инструкции на основе заданной инструкции.

“LLaMA и ее finetunes”

38 of 50

in-deapth evolving

“LLaMA и ее finetunes”

in-breadth evolving

39 of 50

Детали обучения WizardLM

Обучающий набор данных: для создания набора данных инициализировали его с 52 тысячами инструкций датасета Alpaca.

Детали обучения: Adam, lr 2e-5, 3 эпохи.

Детали вывода: top-p 0,9, температура 1.

8 V100 GPU с Deepspeed Zero-3 в течение 70 часов на 3 эпохи.

“LLaMA и ее finetunes”

40 of 50

Что такое ChatGPT и в чем особенности обучения?

“LLaMA и ее finetunes”

инструкции

инструкции

RLHF

41 of 50

“LLaMA и ее finetunes”

What is RLHF?

42 of 50

StackLLaMA

Датасет (10М) включает в себя вопросы и соответствующие ответы с платформы StackExchange.

“LLaMA и ее finetunes”

https://huggingface.co/blog/stackllama

Добавить

43 of 50

Оптимизация с помощью LoRA

  • LORA, 2021 замораживает веса предварительно обученной модели и вводит в каждую матрицу разложения ранга обучаемые матрицы.

  • LoRA не требует, чтобы накопленное обновление градиента в матрицах весов имело полный ранг во время обучения.

“LLaMA и ее finetunes”

44 of 50

Оптимизация обучения StackLLaMA

Дополнительные параметры (оранжевого цвета) добавляются рядом со замороженным слоем (синего цвета), а полученные закодированные скрытые состояния добавляются вместе со скрытыми состояниями замороженного слоя.

“LLaMA и ее finetunes”

8 bit model + LORA + parallelism = efficient training

45 of 50

Supervised fine-tuning

Несколько текстов объединяются с помощью токена EOS между ними, а затем разбиваются на фрагменты заданного размера контекста для оптимизации пакетной обработки без необходимости дополнительной подгонки.

“LLaMA и ее finetunes”

packing

46 of 50

Reward и предпочтения человека

Хитрость, которая хорошо работает вместо прямой обратной связи, заключается в обучении модели вознаграждения на собранных ранее аннотациях от людей до запуска RL-цикла. Целью модели вознаграждения является имитация того, как человек оценивает текст.

“LLaMA и ее finetunes”

47 of 50

StackLLaMA pipeline дообучения

PPO работает путем оптимизации обрезанной версии отношения между вероятностями новой и старой политик, умноженных на функцию вознаграждения.

“LLaMA и ее finetunes”

Метод борьбы с переобучением reward model с помощью KL

48 of 50

“Название лекции”

Some more interesting LLaMA’s fine-tunning models:

Dolly

Open Assistant Pythia

GPT4All

llama.cpp

StableLM

LLaMA-Adapter

спасибо за внимание

49 of 50

“Название лекции”

Телеграм-канал Карины Романовой

Все самое интересное из новостей и статей

в области NLP

50 of 50

блокнот Colab