Промпт-инжиниринг

Понимание тонкой настройки LLM: адаптация больших языковых моделей к вашим уникальным требованиям

mm
LLM Fine tuning representation - Midjourney

Когда мы стоим в сентябре 2023 года, ландшафт больших языковых моделей (LLM) все еще свидетелем подъема моделей, включая Alpaca, Falcon, Llama 2, GPT-4 и многие другие.

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

Однако важно отметить, что не все пути тонкой настройки созданы равными. Например, доступ к возможностям тонкой настройки GPT-4 осуществляется за плату, требуя платной подписки, которая относительно более дорогая по сравнению с другими вариантами, доступными на рынке. С другой стороны, в области открытого исходного кода есть альтернативы, которые предлагают более доступный путь к использованию потенциала больших языковых моделей. Эти открытые варианты демократизируют доступ к передовым технологиям ИИ, способствуя инновациям и инклюзивности в быстро меняющемся ландшафте ИИ.

Почему тонкая настройка LLM важна?

Тонкая настройка LLM – это не просто техническое улучшение; это важнейший аспект разработки модели LLM, который позволяет более конкретное и точное применение в различных задачах. Тонкая настройка регулирует предварительно обученные модели для лучшего соответствия конкретным наборам данных, повышая их производительность в определенных задачах и обеспечивая более целевое применение. Это открывает замечательную способность LLM адаптироваться к новым данным, демонстрируя гибкость, которая необходима в растущем интересе к приложениям ИИ.

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

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

Инструкция-ориентированная тонкая настройка

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

Жизненный цикл генеративного ИИ - тонкая настройка, инженерия подсказок и RLHF

Жизненный цикл генеративного ИИ – тонкая настройка

Тонкая настройка для одной задачи

Тонкая настройка для одной задачи фокусируется на совершенствовании экспертизы модели в конкретной задаче, такой как суммирование. Этот подход особенно полезен для оптимизации рабочих процессов, включающих обширные документы или потоки разговора, включая юридические документы и тикеты поддержки клиентов. Замечательно, что эта тонкая настройка может достичь значительных улучшений производительности с относительно небольшим набором примеров, варьирующихся от 500 до 1000, в отличие от миллиардов токенов, используемых в фазе предварительного обучения.

Пример иллюстрации тонкой настройки для одной задачи

Пример иллюстрации тонкой настройки для одной задачи

 

Основы тонкой настройки LLM: архитектура трансформера и дальше

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

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

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

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

Тонкая настройка стоит как важнейшая фаза в разработке LLM, процесс, который включает в себя тонкие корректировки для достижения более желательных выходов. Эта фаза, хотя и важна, представляет собой набор проблем, включая вычислительные и хранилищные требования обработки огромного количества параметров. Parameter-Efficient Fine-Tuning (PEFT) предлагает методы для уменьшения количества параметров, подлежащих тонкой настройке, тем самым упрощая процесс обучения.

Предварительное обучение LLM: создание прочной основы

На ранних этапах разработки LLM предварительное обучение занимает центральное место, используя чрезмерно параметризованные трансформеры в качестве основной архитектуры. Этот процесс включает в себя моделирование естественного языка различными способами, такими как двустороннее, автoregressive или последовательность-к-последовательности на больших неоправленных корпусах. Цель здесь – создать базу, которую можно будет тонко настроить позже для конкретных задач с помощью введения задачно-специфических целей.

Предварительное обучение, тонкая настройка

Предварительное обучение, тонкая настройка

Заметной тенденцией в этой области является неизбежное увеличение масштаба предварительно обученных LLM, измеряемого количеством параметров. Эмпирические данные последовательно показывают, что более крупные модели, в сочетании с большим количеством данных, почти всегда обеспечивают лучшую производительность. Например, GPT-3 с его 175 миллиардами параметров установил эталон в генерации высококачественного естественного языка и выполнении широкого спектра задач нулевого выстрела профессионально.

Тонкая настройка: путь к адаптации модели

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

Для больших языковых моделей с более чем миллиардом параметров эффективное управление оперативной памятью GPU имеет решающее значение. Один параметр модели при полной точности 32-бит требует 4 байта места, что переводится в требование 4 ГБ оперативной памяти GPU только для загрузки модели с 1 миллиардом параметров. Фактический процесс обучения требует еще больше памяти для размещения различных компонентов, включая состояния оптимизатора и градиенты, потенциально требуя до 80 ГБ оперативной памяти GPU для модели такого масштаба.

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

Требования к оперативной памяти GPU LLM в зависимости от количества параметров и точности

Требования к оперативной памяти GPU LLM в зависимости от количества параметров и точности

 

Изучение категорий методов PEFT

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

Аддитивный метод

Этот тип тонкой настройки может дополнить предварительно обученную модель дополнительными параметрами или слоями, фокусируясь на обучении только новых добавленных параметров. Несмотря на увеличение количества параметров, эти методы улучшают эффективность обучения и пространства. Аддитивный метод делится на подкатегории:

  • Адаптеры: Включение небольших полностью связанных сетей после слоев трансформера, с заметными примерами AdaMix, KronA и Compactor.
  • Мягкие подсказки: Тонкая настройка сегмента векторных представлений входных данных модели через градиентный спуск, с IPT, prefix-tuning и WARP в качестве заметных примеров.
  • Другие аддитивные подходы: Включают методы, такие как LeTS, AttentionFusion и Ladder-Side Tuning.

Селективный метод

Селективные PEFT тонко настраивают ограниченное количество верхних слоев на основе типа слоя и внутренней структуры модели. Эта категория включает методы, такие как BitFit и LN тонкая настройка, которые фокусируются на тонкой настройке конкретных элементов, таких как смещения модели или определенные строки.

Метод, основанный на репараметризацией

Эти методы используют представления низкого ранга для уменьшения количества подлежащих обучению параметров, с наиболее известным из них – Low-Rank Adaptation (LoRA). Этот метод использует простое представление низкого ранга для параметризации обновления веса, демонстрируя эффективную тонкую настройку в подпространствах низкого ранга.

1) LoRA (Low-Rank Adaptation)

LoRA появилась как прорывной метод PEFT, представленный в статье Эдвардом Дж. Ху и другими в 2021 году. Она работает в категории репараметризаций, замораживая исходные веса LLM и интегрируя новые обучаемые матрицы низкого ранга в каждый слой архитектуры трансформера. Этот подход не только уменьшает количество подлежащих обучению параметров, но и снижает время обучения и вычислительные ресурсы, необходимые для этого, тем самым представляя более эффективную альтернативу полной тонкой настройке.

Чтобы понять механику LoRA, необходимо вернуться к архитектуре трансформера, где входная подсказка проходит токенизацию и преобразуется в векторные представления. Эти векторы проходят через сегменты кодировщика и/или декодировщика трансформера, встречая само-внимание и сети прямого распространения, чьи веса предварительно обучены.

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

Сингулярное разложение (SVD) матрицы m × n

Сингулярное разложение (SVD) матрицы m × n

Этот подход позволяет LoRA сохранять основные характеристики данных, уменьшая размерность, тем самым оптимизируя процесс тонкой настройки.

LoRA вмешивается в этот процесс, замораживая все исходные параметры модели и вводя пару “матриц разложения ранга” рядом с исходными весами. Эти меньшие матрицы, обозначенные как A и B, проходят обучение через обучение с учителем.

Ключевым элементом в этой стратегии является параметр, называемый ранг (‘r’), который диктует размер матриц низкого ранга. Тщательный выбор ‘r’ может дать впечатляющие результаты, даже с меньшим значением, тем самым создавая матрицу низкого ранга с меньшим количеством параметров для обучения. Этот подход был эффективно реализован с помощью открытых библиотек, таких как HuggingFace Transformers, облегчая тонкую настройку LoRA для различных задач с замечательной эффективностью.

2) QLoRA: повышение эффективности LoRA

Расширяя основу, заложенную LoRA, QLoRA еще больше минимизирует требования к памяти. Представленный Тимом Деттерсом и другими в 2023 году, он объединяет адаптацию низкого ранга с квантованием, используя формат квантования 4-бит, называемый NormalFloat или nf4. Квантование по сути является процессом, который переводит данные из представления с более высокой информационной плотностью в представление с меньшей информационной плотностью. Этот подход сохраняет эффективность методов тонкой настройки 16-бит, деквантовывая 4-битные веса до 16-битных, когда это необходимо во время вычислительных процессов.

Сравнение методов тонкой настройки: QLoRA повышает эффективность LoRA с квантованием 4-бит и оптимизаторами для управления всплесками памяти

Сравнение методов тонкой настройки: QLoRA повышает эффективность LoRA с квантованием 4-бит и оптимизаторами для управления всплесками памяти

QLoRA использует NumericFloat4 (nf4), нацеливаясь на каждый слой архитектуры трансформера, и вводит концепцию двойного квантования для дальнейшего уменьшения следа памяти, необходимого для тонкой настройки. Это достигается путем квантования уже квантованных констант, стратегии, которая предотвращает типичные всплески памяти, связанные с градиентной проверкой точек, посредством использования оптимизаторов и единой системы управления памятью.

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

Версии Guanaco 65B и 33B, тонко настроенные с помощью модифицированной версии набора данных OASST1, появляются как грозные конкуренты известным моделям, таким как ChatGPT и даже GPT-4.

Тонкая настройка с помощью обучения с подкреплением от обратной связи человека

Обучение с подкреплением от обратной связи человека (RLHF) вступает в игру при тонкой настройке предварительно обученных языковых моделей для более тесного соответствия ценностям человека. Эта концепция была представлена Open AI в 2017 году, заложив основу для улучшения суммирования документов и разработки InstructGPT.

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

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

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

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

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

Заключение

Процесс тонкой настройки, важнейший шаг в использовании полного потенциала LLM, таких как Alpaca, Falcon и GPT-4, стал более совершенным и сосредоточенным, предлагая адаптированные решения для широкого спектра задач.

Мы увидели тонкую настройку для одной задачи, которая специализируется модели в конкретных ролях, и методы эффективной тонкой настройки параметров (PEFT), включая LoRA и QLoRA, которые направлены на то, чтобы сделать процесс обучения более эффективным и экономически эффективным. Эти разработки открывают двери к высокоуровневым функциям ИИ для более широкой аудитории.

Кроме того, введение обучения с подкреплением от обратной связи человека (RLHF) компанией Open AI является шагом к созданию систем ИИ, которые более тесно соответствуют человеческим ценностям и предпочтениям, закладывая основу для помощников ИИ, которые не только умны, но и чувствительны к потребностям отдельных пользователей. И RLHF, и PEFT работают в синергии для повышения функциональности и эффективности больших языковых моделей.

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

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