tgoop.com/quant_prune_distill/71
Last Update:
LlaMA-2: Open Foundation and Fine-Tuned Chat Models
[Статья][Код]
Не прошло и года (и даже половины года), как запрещенная в России экстремистская организация Meta выпустила новую версию всем полюбившейся LLM-ки: LLaMA-2.
Первая версия модели стала настоящим хитом среди исследователей, практиков, да и простых обывателей, будучи наиболее качественной языковой моделью среди находящихся в публичном доступе. LLaMA стала основой для множества чатботов, получила множество интеграций для запуска на чем угодно начиная от продвинутых GPU и заканчивая калькуляторами и микроволновками.
Нововведения
В плане архитектуры. и процедуры предобучения LLaMA-2 не претерпела значительных изменений.
Вместо стандартного Attention блока, где количество голов в Query, Key, Value проекциях одинаково, и каждому Query соотвествует отдельный Key и Value, используется grouped query attention c 8️⃣ проекциями вместо num_heads
(т.е каждая Key, Value активация спаривается с num_heads // 8
головами Query). Делать полный multi query с 1 проекций на все головы не стали по двум соображениям - 1) на инференсе они параллелизует вычисления между 8 GPU, и пришлось бы все равно копировать Key, Value между всеми устройствами 2) multi query просаживается по качеству по сравнению с исходным attention, а grouped query имеет примерно то же качество. Данное изменение полезно при авторегрессионой генерации с использованием Key, Value кэшей, так как приводит к заметной экономии в памяти (при той же длине последовательности экономия в num_heads // 8
рвз).
Длину контекста увеличили до 4k токенов. RoPE позиционные энкодинги могут работать и с более длинным контекстом.
Данные отфильтровали более тщательно, увеличили в размере на 40% и обучили все модели на 2T токенов вместо 1T.
Итоговая модель на Common Sense Reasoning, Question Answering, World Knowledge, и т.д оказывается лучше прошлой версии и всех других моделей в открытом доступе, но уступает флагманским закрытым - GPT-4, Palm-2-L.
Куда более занимательна (ей же и уделено основное внимание) процедура instruction-finetuning и получения чатбота из языковой модели.
Instruction-finetuning процедура состоит из 2 стадий:
1️⃣ SFT - Supervised Finetuning
2️⃣ RLHF - Reinforcement Learning
Авторы собирают свой собственный датасет из инструкций, в котором акцент был сделан не на количество инструкций, а на их качество и разнообразие (актуальные работы утверждают, что для instruction finetuning данных много и не требуется). В полученном датасете 27540 инструкций.
На первом стадии (SFT) модель обучают на Causal LM, как на этапе преобучения на датасете инструкций. Промты и ответы контатенируют с одну последовательность, разделяя специальным токеном.
Данные для обучения reward модели собирали с помощью человекоподобных разметчиков. Каждый респодент выбирает между двумя вариантами с градацией разницы significantly better, better,
slightly better, or negligibly better/unsure. Для максимизации разнообразия варианты ответов генерируются случайно выбранными моделями из семейства LLaMA-2 с разной температурой.
BY КПД
Share with your friend now:
tgoop.com/quant_prune_distill/71