Статья опубликована в рамках: CI Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 27 мая 2024 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ПРИМЕНЕНИЕ И ДООБУЧЕНИЕ СОВРЕМЕННЫХ БОЛЬШИХ ЯЗЫКОВЫХ МОДЕЛЕЙ (LLM)
APPLICATION AND ADDITIONAL TRAINING OF MODERN LARGE LANGUAGE MODELS (LLM)
Andrey Prohorenko
Student, MIREA - Russian Technological University,
Russia, Moscow
Sergey Sergeev
Student, MIREA - Russian Technological University,
Russia, Moscow
Yaroslav Kurkin
Student, MIREA - Russian Technological University,
Russia, Moscow
АННОТАЦИЯ
В данной работе рассматриваются вопросы дополнительного усовершенствования нейросетевых моделей обработки запросов на естественном языке, а именно такого их класса, как большие языковые модели (Large Language Models, LLM). Такие модели имеют сложную нейросетевую архитектуру и обучаются на большом объеме данных из различных областей человеческого знания. Количество настраиваемых в ходе обучения параметров этих моделей составляет запредельные значения, исчисляемые миллиардами. Данные модели проявляют высокую эффективность в различных областях, и потому их использование все более широко применяется.
Однако для решения специализированных классов задач, а также для обновления актуальной информации в различных областях знания, возможно применение алгоритмов и методов дообучения. Рассмотрению этих непростых вопросов и посвящена настоящая работа.
ABSTRACT
This work discusses the issues of additional improvement of neural network models for processing requests in a natural language, namely such a class as large language models (LLM). Such models have a complex neural network architecture and are trained on a large amount of data from various areas of human knowledge. The number of parameters configured during the training of these models is ultraboundary values in the billions. These models are highly effective in various fields, and therefore their use is increasingly being used.
However, to solve specialized classes of problems, as well as to update up-to-date information in various fields of knowledge, it is possible to use algorithms and methods of additional training for those models. Present work is devoted to the consideration of these difficult issues.
Ключевые слова: языковая модель, дообучение моделей, обучение в один ход, обучение в несколько ходов, обработка естественного языка, генеративная языковая модель, тонкая настройка с управлением, обучение с подкреплением и обратной связью от пользователя
Keywords: language model, models additional training, zero-shot learning, few-shot learning, NLP, generative language model, Supervised Fine-Tuning, Reinforcement Learning Human Feedback
Введение
На данный момент индустрия AI наполнена действительно богатым разнообразием языковых моделей, подходящих для решения широкого спектра бизнес, научных и повседневных задач. Такие модели были обучены на объемах данных, количество и размер которых порой иногда сложно вообразить, а значит подобные решения в исходном варианте уже обладают высокой степенью эффективности, однако дообучение подобных моделей обеспечивает еще более точные, уникальные и эффективные результаты, как для научно-исследовательской деятельности, так и для создания бизнес-продукта продукта, превосходящего ожидания даже самого требовательного пользователя. В этой статье мы с вами углубимся подробнее в структуру LLM (Large Language Models), разберем для каких задач такие модели будут наиболее актуальны и эффективны, а также рассмотрим методики дообучения, которые применяются к подобным моделям.
Генеративная модель – особый тип моделей машинного обучения, предназначенная для создания (генерации) новых данных на основе данных, которые легли в фундамент, на котором данная модель обучалась.
Авторегрессивные языковые модели, подобные GPT, существуют и основываются на принципе приёма на вход определенной токен-последовательности и на выходе отдают вектор, который выступает в качестве связи веса и каждого возможного токена из последовательности, и представляет из себя вероятность того, что он будет следующим. Люди в своём большинстве не способны прочесть распределения вероятностей, поэтому в данном процессе требуется внедрение дополнительного шага: из распределения вероятностей выбирается случайный токен, который в последствии добавляется в запрос, направляемый в модель (промпт), который в свою очередь затем становится последующим сигналом на вход для следующего временного шага. В том случае, если предсказания языковой модели совпадают с нашими ожиданиями и удовлетворяют наши ощущения, повторение данного процесса, с высокой вероятностью, будет приводить к связного и адекватно воспринимаемого текста.
Существенную долю современных архитектур больших языковых моделей составляют модели типа Transformer, которые в свою очередь существенным образом отличаются от классических моделей на основе рекуррентных нейронных сетей, широко применяемых в современной разработке и контексте AI.
Архитектура Transformer представляет из себя особым образом работающий метод нейронных сетей, который предназначается для обработки последовательностей данных – преимущественно текстовых данных. Первоисточником изложения данного подхода, метода является статья "Attention is All You Need", в которой описывается принцип действия трансормера. Данная архитектура отличается от предыдущих архитектур тем, что полностью опирается на механизм внимания, без использования рекуррентных или свёрточных слоёв.
Основными преимуществами такой архитектуры выступают: возможность улавливать и запоминать контекст слов, генерация последовательностей слов. Архитектура Transformer представлена на рисунке 1.
Рисунок 1. Архитектура Transformer
Помимо популярной модели GPT существует большое многообразие больших языковых моделей таких как: Gemini, LLaMA, Claude и т.д.
В данной научной работе фокус будет сделан на модели LLaMA, так как она является действительно интригующим проспектом в сообществе больших языковых моделей, благодаря своей гибкости, ориентированности на пользователя, а также эффективности при изначально меньших объемах самой модели и объемах обучающих датасетов, заложенных в фундамент обучения модели.
Модель LLaMA (Language Learning Enabled Large-scale Pre-training) от Facebook * является генеративной языковой моделью, подобной широко известному GPT. Архитектурно данная модель из себя представляет всё тот же Generative Pre-trained Transformer – далее модель будет рассмотрена в контексте общего сравнения с GPT. Перечень задач и условий применения у этих двух моделей практически полностью совпадает и направлен на анализ и интерпретацию естественного языка.
Преимущества модели LLaMA:
- Интеграционная простота для пользователя. Анонсируемая версия третьего поколения LLaMA от Facebook * доступна для установки на персональный компьютер пользователя, что является невозможным при работе с моделями семейства GPT.
- Вариативность версий с различными размерами модели. Анонсированы версии с 8 миллиардами и 80 миллиардами параметров. Данная вариативность позволяет максимально эффективно для пользователя интегрировать нужную модель для решения задач разной степени сложности и комплексности – для задач, где нам необходима скорость реализации более подходящим вариантом будет модель LLaMA 8B, для задач более глубокой комплексности и при наличии требований к куда более детальному анализу естественного языка уже более подходящим вариантом будет модель LLaMA 80B.
- Высокая скорость работы модели доступна в open-source решении практически «из коробки», в то время как для достижения сопоставимой скорости на моделях GPT необходимо доплачивать. Данное преимущество скорее относится к коммерческому сравнению моделей, как информационных продуктов, однако фактор доступности для пользователя однозначно связан с простотой и удобством интеграции.
Недостатки модели LLaMA:
- На данный момент модель LLaMA доступна только для некоммерческого использования.
- Точность модели LLaMA 2 при few-shot (5) подходе дообучения уступает GPT-3.5 и GPT-4. Точность LLaMA практически сопоставима с GPT-3.5, как равная, однако GPT-4 точнее, чем LLaMA на 25%. Результаты сравнения точности моделей в различных бенчмарках представлены в таблице 1.
Таблица 1.
Сравнение точности LLaMA 2 с GPT-3, GPT-4 в бенчмарках few-shot и zero-shot (Meta’s* Research)
Бенчмарки |
LLaMA 2 |
GPT-3.5 |
GPT-4 |
MMLU (5-shot) |
68.9 |
70.0 |
86.4 |
TriviaQA (1-shot) |
85.0 |
- |
- |
Естественные вопросы (natural questions) |
33.0 |
- |
- |
GSM8K (8-shot) |
56.8 |
57.1 |
92.0 |
HumanEval (0-shot) |
29.9 |
48.1 |
67.0 |
BIG-Bench Hard (3-shot) |
51.2 |
- |
- |
Supervised fine-tuning современных языковых моделей
Supervised fine-tuning (SFT) — это методика, при которой модель дообучается на наборе данных, содержащем парами вход-выход (input-output pairs). В этом случае, чтобы применить SFT, необходимо иметь доступ к примерам с правильными ответами. Например, при обучении модели на задаче вопрос-ответ, требуется предоставить данные вопросов и соответствующих ответов. Модель будет дообучаться на этих данных, с целью лучшего понимания контекста и генерации более точных ответов на вопросы. SFT является относительно прямолинейным методом дообучения и может быть эффективным в решении задач узкой направленности.
Однако традиционный метод файнтюнинга, при котором настраиваются все параметры предварительно обученной модели, не всегда становится практичным и вычислительно оптимальным при работе с современными моделями LLM.
PEFT (Parameter-Efficient Fine-Tuning) представляет собой эффективный подход, позволяющий не терять производительность при тонкой настройке модели, снижая при этом требования к памяти и вычислительным мощностям.
Преимущества PEFT
Ускорение времени обучения: PEFT позволяет сократить количество времени, затраченное на обучение, благодаря файнтюнингу небольшого количества параметров, а не всей модели.
Снижение затрат на вычисления и хранение: PEFT выполняет тонкую настройку только небольшого подмножества параметров, что значительно уменьшает затраты на вычисления и хранение и снижает требования к оборудованию.
Меньший риск переобучения: благодаря замораживанию большей части параметров предварительно обученной модели мы можем избежать переобучения на новых данных.
Преодоление катастрофического забывания: С помощью PEFT модель может адаптироваться к новым задачам, сохраняя ранее полученные знания благодаря заморозке большинства параметров.
Удобство развертывания: контрольные точки, созданные при PEFT, компактнее, чем при традиционной тонкой настройке, что делает их развертывание и перенос на другие устройства более простым, поскольку они требуют меньше места для хранения и могут загружаться быстрее.
Существует огромное многообразие методов и, используемых для реализации подхода PEFT при оптимизации и дообучении больших языковых моделей, в рамках этой статьи мы остановимся лишь на некоторых из них:
- LoRa
Low-Rank Adaptation, LoRa, — это математический метод, основанный на принципе фиксирования предварительно обученного веса модели при внедрении обучаемых матриц низкого ранга в слои преобразователя, что в свою очередь сокращает количество обучаемых параметров и, следовательно, вычислительную нагрузку при дообучении языковой модели.
- Quantization Adaption. QLoRA
Квантованный вариант LoRa, эффективно использует ограниченные вычислительные ресурсы LoRa для точной настройки LLMS, квантуя модель transformer до 4-разрядной точности NormalFloat (NF4) с обработкой двойного квантования и используя оптимизатор подкачки для устранения скачков памяти. NF4 — это новый тип данных, который теоретически оптимален для нормально распределенных весов. Хотя QLoRA квантует предварительно обработанный вес W из FP16 в NF4 для точной настройки LLM с использованием меньшего количества графических процессоров дополнительный вес LoRa matrix WdownWup делает окончательный после точной настройки вес снова возвращается к значению FP16. С этой целью QALoRA (Quantization-Aware Low-rank Adaption) использует групповое квантование с адаптацией низкого ранга к предварительно обученному весу W, в котором каждый столбец W разбивается на L групп для квантования. Таким образом, QA-LoRa гарантирует, что предварительно обработанные веса W и вспомогательные веса после точной настройки интегрируются в квантованную форму, что приводит к более быстрому и точному вычислению во время вывода. В то время как LOFTQ (LoRA-Fine-Tuning-aware Quantization) применяется N-битное квантованный вес Q и уменьшение аппроксимации Wdown ∈ ℝd1×r, Wup ∈ ℝd2×r для аппроксимации исходного высокоточного предварительно заданного веса W ∈ ℝd1×d2 в качестве начальной настройки LoRA. Такая инициализация устраняет расхождения в квантовании в QLoRA и значительно улучшает обобщение в последующих задачах.
- IA3
Чтобы повысить эффективность fine-тюнинга, IA3 (Infused Adapter by Inhibiting and Amplifying Inner Activations) масштабирует внутренние активации с помощью изученных векторов. Эти изученные векторы вводятся в модули внимания и feedforward в типичной архитектуре на основе transformer. Эти изученные векторы являются единственными параметрами, которые можно обучить при fine-тюнинге, и, таким образом, исходные значения весов остаются неизменными. Работа с изученными векторами (в отличие от обновлений весовой матрицы низкого ранга, таких как LoRa) значительно сокращает количество обучаемых параметров.
Будучи похожим на LoRa, IA3 обладает многими из тех же преимуществ:
- IA3 повышает эффективность тонкой настройки за счет существенного сокращения числа обучаемых параметров. (Для T0 модель IA3 имеет только около 0,01% обучаемых параметров, в то время как даже у LoRa > 0,1%)
- Исходные, предварительно настроенные веса сохраняются в неизменном виде, что означает, что вы можете использовать несколько облегченных и портативных моделей IA3 для различных последующих задач, построенных на их основе.
- Производительность моделей, настроенных с использованием IA3, сопоставима с производительностью полностью настроенных моделей.
- IA3 не добавляет никакой задержки при выводе, поскольку веса адаптеров могут быть объединены с базовой моделью.
Сравнительная эффективность применения представленных методов PEFT для дообучения большой языковой модели LlaMA на примере LlaMA представлена на рисунке 2.
Рисунок 2. PEFT в сравнении с классическим FT на примере LlaMA 7B и LlaMA 13B
RLHF и RLAIF современных языковых моделей
Reinforcement Learning from Human Feedback (RLHF) - методика дообучения с подкреплением, которая использует обратную связь от человека для улучшения работы моделей. Идея заключается в том, чтобы создать диалоговую петлю между моделью и экспертом (например, человеком), который может выполнять роль "учителя". Модель генерирует предложения, а "учитель" оценивает их качество и предоставляет обратную связь модели. Затем модель может использовать эту обратную связь в качестве сигнала для усиления или коррекции своего поведения. RLHF может быть полезным при решении задач, в которых сложно найти большой набор правильных ответов или требуется тонкая настройка модели с учетом предпочтений и ограничений эксперта.
В RLHF на данный момент реализуется 2 подхода при работе с моделью вознаграждения. В классической концепции RLHF ответы модели после ее обучения оцениваются человеком, то есть даётся тот самый human-feedback. Однако на текущий момент активно реализуется и подход model mediation, в которой в качестве такого валидатора выступает другая LLM, обеспечивающее посредничество языковых моделей, которое позволяет организовать процесс дообучения большой языковой модели значительно быстрее и с сопоставимыми результатами точности. Такой подход принято называть RLAIF (Reinforcement Learning AI Feedback). Сравнение эффективности таких подходов приведено ниже на рисунке 3.
Рисунок 3.Google Research сравнение RLHF и RLAIF
Zero-shot и few-shot подходы
Методика zero-shot и few-shot используется для расширения функциональности больших языковых моделей засчёт подготовки промпта с разной степенью детализации. Эти методики позволяют моделям обрабатывать новые задачи или выполнять задачи, для которых у них недостаточно предварительно данных, либо давать ответы, удовлетворяющие условиям и потребностям пользователя, продукта, опираясь на референсы и постановки условий для большой языковой модели. Глобально, различие между zero-shot и few-shot learning заключается в количестве примеров и референсов, которые мы даём исследуемой модели.
Zero-shot learning (обучение без примеров) относится к ситуации, когда модель может выполнить задачу, не имея прямых примеров из этой задачи в своих данных обучения. Вместо этого модель использует обобщающую способность, полученную через предварительное обучение на большом корпусе текста. То есть мы требуем от модели решить задачу, не передавая в нашем промпте ни контекст, ни омобые условия реализации, вывода результата и т.д.
В Zero-shot learning модель предварительно обучается на наборе классов (seen classes), а затем её просят обобщить на другой набор классов (unseen classes) без дополнительной подготовки. Цель Zero-shot learning — перенести знания, уже содержащиеся в модели, на задачу классификации unseen classes.
Практическую реализацию такого подхода мы можем наблюдать при передачи в модель промпта без использования каких-либо методов промпт-инжиниринга, озвученных выше. То есть мы оцениваем способность модели решать задачи и ориентироваться в понимании контекста при отсутствии заданного контекста в промпте.
Zero-Shot Learning — это двухэтапный процесс, который включает обучение и вывод. Во время обучения модель узнаёт о помеченных наборах данных. Во время вывода модель использует это знание и вспомогательную информацию для классификации нового набора классов. Оценка полученных результатов от модели после передачи промпта с нулевой разметкой и является метрикой, на которой мы оцениваем точность и в дальнейшем калибруем языковую модель.
Пример zero-shot дообучения языковой модели:
Запрос: Соотнеси следующий текст с одной из групп - нейтральный, негативный, положительный: Я получил огромное удовольствие от прочтения этого романа
Ответ: Этот текст можно соотнести с группой "положительный", так как выражение "огромное удовольствие" указывает на позитивные эмоции и наслаждение от прочтения романа.
Few-shot learning (обучение на небольшом количестве примеров) относится к ситуации, когда модель может обучаться на небольшом количестве примеров из новой задачи. Обычно эти примеры предоставляются в виде небольшого набора обучающих данных с соответствующими метками. В процессе дообучения few-shot модель адаптируется к этим новым примерам и использует их для осуществления задачи.
К методам дообучения, которые относятся к few-shot подходу можно отнести prompt-engineering, иными словами, структурированное формирование запроса с использованием следующих составляющих:
- Задать роль для модели;
- Комплексная детализация и указание формата вывода;
- Применение пошаговой инструкции;
- Использование текстовых выделителей;
- Структуризация промпта.
Альтернативный подход к решению задачи дообучения
Процесс fine-тюнинга для решения задач современных продуктов может быть достаточно затратным с точки зрения временных затрат и стоимости такого дообучения. Поэтому имеет смысл выделить концепцию RAG, как альтернативный способ дообучения, потому что при значительно меньших усилиях, чем при реализации fine-тюнинга и RLHF, можно добиться результата с сопоставимой эффективностью и точностью. Но стоит отметить, что RAG является лишь альтернативным подходом, способом решить задачу дообучения другим путём концептуально.
RAG подход заключается в передаче вместе с условием запроса в языковую модель особой документации или текстовой информации, на основе которых мы хотим получить ответ от нашей модели. То есть без передачи данного документа и информации вместе с запросом, мы бы получили от модели ответ, который был бы сформирован на основе данных из корпуса текста, на котором данная модель была обучена. И для решения очень практической и, например, узконаправленной, бизнес-ориентированной задачи модель бы подготовила ответ либо слишком абстрактный, наполненный лингвистическими галлюцинациями, либо вовсе неправильный. В то время как передача документации, на базе которой модели необходимо давать ответ, позволила бы улучшить качество ответа и получить более конкретный результат.
Такой подход дообучения является крайне удобным и широко применяемым среди продуктовых команд, так как позволяет без затрат на дообучение и манипуляции со слоями и fine-тюнингом модели получать удовлетворяющий потребности определенного продукта результат.
Схема реализации RAG подхода при работе с LLM представлен на рисунке 4.
Рисунок 4. Схема реализации RAG подхода
Список литературы:
- Нейросетевые методы в обработке естественного языка / пер. с анг. А. А. Слинкина. – М.: ДМК Пресс, 2019. – 282 с.: ил.
- Языковые модели [электронный ресурс] Режим доступа: https://logic.pdmi.ras.ru/~sergey/teaching/asr/notes-13-langmod.pdf
(дата обращения 10.09.2023) - LLaMA [электронный ресурс] Режим доступа: https://huggingface.co/docs/transformers/main/model_doc/llama (дата обращения 10.09.2023)
- Harrison Lee, Samrat Phatale, Hassan Mansoor, Thomas Mesnard, Johan Ferret, Kellie Lu, Colton Bishop, Ethan Hall, Victor Carbune, Abhinav Rastogi, Sushant Prakash. RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback [электронный ресурс] Режим доступа: URL: https://www.researchgate.net/publication/373641971_RLAIF_Scaling_Reinforcement_Learning_from_Human_Feedback_with_AI_Feedback
- Haokun Liu, Derek Tam, Mohammed Muqeeth, Jay Mohta, Tenghao Huang, Mohit Bansal, Colin Raffel. Few-Shot Parameter-Efficient Fine-Tuning is Better and Cheaper than In-Context Learning. [электронный ресурс] Режим доступа: URL: https://www.researchgate.net/publication/360538472_Few-Shot_Parameter-Efficient_Fine-Tuning_is_Better_and_Cheaper_than_In-Context_Learning
* социальная сеть, запрещенная на территории РФ, как продукт организации Meta, признанной экстремистской – прим.ред.
дипломов
Оставить комментарий