Дистилляция шаг за шагом: обзор статьи
Изучение одного из самых последних и инновационных методов сжатия LLM
Авторы
Этот пост в блоге был написан Marcello Politi и Vijayasri Iyer.
Введение
В настоящее время широко распространены большие языковые модели. Недавние тенденции в области исследований ИИ показали, что более крупные LM обладают нулевыми возможностями обобщения и способностями к эмерджентному/здравому смыслу. В настоящее время одной из крупнейших языковых моделей является модель 540B PaLM. Компании хотят использовать большие языковые модели (LLM) и настраивать их в соответствии со своими вариантами использования. Проблема заключается в том, что независимое развертывание и обслуживание этих моделей не всегда возможно с точки зрения затрат и специализированного оборудования.
Дистилляция шаг за шагом
В недавней статье Google AI «Дистилляция шаг за шагом» авторы предлагают подход к преобразованию знаний из больших моделей (540B PaLM) в гораздо меньшую модель. (770M-T5, 6 ГБ ОЗУ).
Каковы стандартные подходы?
Существует два подхода, которые используются для адаптации LLM к конкретному варианту использования компании:
- Стандартная тонкая настройка. Метод тонкой настройки включает в себя добавление дополнительных слоев поверх предварительно обученной модели, которая обучается с использованием контролируемого набора данных. Но это требует большого количества вычислений и оперативной памяти графического процессора.
- Дистилляция задач. Крупные LLM предлагают возможности нулевого выстрела. Дистилляция задач включает в себя создание псевдометок с большими моделями и обучение меньшей модели для конкретной задачи. В этом случае обоснования, извлеченные из более крупного LM, можно использовать в качестве дополнительного контроля для меньшей модели. Недостатком является то, что ему не хватает производительности, обобщаемости и эмерджентных свойств. Кроме того, этот метод требует больших вычислительных ресурсов, поскольку требует развертывания LLM даже во время тестирования/вывода.
В пошаговой статье авторы переформулировали проблему генерации обоснования как многозадачную задачу с использованием обоснований, созданных LLM, только во время обучения.
Как это работает?
- Более крупная модель действует как учитель и дает обоснование с помощью подсказок по цепочке мыслей (CoT), которые помогают меньшей модели ученика во время обучения. Это связано с тем, что LLM с большим количеством параметров, как правило, обладают лучшими способностями к рассуждениям.
- Модель учащегося учится создавать выходную метку и обоснование одновременно с вводным текстом (многозадачное обучение). Конкретные «префиксы задач», такие как [метка], [обоснование] или ([метка], [обоснование]), добавляются к входным примерам при обучении меньшей модели для получения выходных данных.
- Таким образом, модель ученика учится рассуждать подобно учителю и устраняет необходимость полностью развертывать LLM учителя во время логического вывода.
Многозадачное обучение – это парадигма обучения, при которой модель учится выполнять несколько задач/выдавать несколько результатов одновременно во время обучения (метки и обоснования). Эта модель обучается с использованием взвешенной функции потерь, приведенной ниже:
где r_i — это обоснование, созданное учителем LLM, а y_i — метка.
Экспериментальные тесты
Авторы экспериментируют со следующими 4 эталонными наборами данных и 3 задачами НЛП:
e-SNLI: этот набор данных является расширением набора данных Stanford Natural Language Inference (NLI), который включает аннотированные человеком объяснения отношений следствия на естественном языке.
ANLI: Adversarial Natural Language Inference — это крупномасштабный эталонный набор данных NLI, собранный с помощью итеративной состязательной процедуры с участием человека и модели в цикле.
CQA: набор данных для ответов на вопросы с несколькими вариантами ответов, который требует различных типов здравого смысла для прогнозирования правильных ответов.
SVAMP: набор задач для решения математических задач начального уровня (MWP).
Пошаговый метод дистилляции сравнивается с двумя подходами, а именно стандартной тонкой настройкой и стандартной задачей-дистилляцией. Авторы сравнивают модели T5 разных размеров: 220M T5-Base, 770M T5-Large и 1B T5-XXL. Результаты также сравниваются с двумя базовыми методами:
- Несколько выстрелов CoT: подсказки по цепочке мыслей – это подход к улучшению логических способностей больших языковых моделей в арифметических, логических и символических задачах. Основная идея состоит в том, чтобы включить цепочку мыслей, серию промежуточных шагов рассуждений на естественном языке, в процесс подсказки с несколькими выстрелами.
- Настройка PINTO. В этом подходе замороженной языковой модели среднего масштаба предлагается генерировать обоснования, на основе которых меньший LM настраивается с использованием созданных обоснований, чтобы он функционировал в качестве модуля рассуждений. Во время вывода этот LM среднего масштаба генерирует обоснование, которое используется меньшим LM для прогнозирования.
Модель обученного учащегося превосходит LLM, которые в 2000 раз больше, на 4 различных наборах данных NLP и задачах, таких как вывод естественного языка, ответы на вопросы на основе здравого смысла и арифметические математические задачи, используя гораздо меньше помеченных и непомеченных обучающих примеров. !
Чтобы узнать об экспериментах и результатах более подробно, прочитайте статью здесь: https://arxiv.org/pdf/2305.02301.pdf
Другие методы
Существует большой интерес к методам сокращения ресурсов, необходимых для запуска новых моделей машинного обучения, которые становятся все более крупными, таких как LLM. В литературе описано несколько методов сжатия моделей. Наиболее важные из них:
- Квантование: снижение точности весов для повышения эффективности.
- Сокращение: уменьшение количества весов путем удаления связей между каналами, фильтрами и нейронами.
- Дистилляция знаний: этот метод работает следующим образом: обученная модель называется «учитель», а модель меньшего размера — «ученик». Учащегося учат минимизировать функцию потерь путем обучения основным истинам и помеченным учителем истинам в сети.
- Тензорная декомпозиция низкого ранга: во время обучения между разными слоями может возникать множество повторяющихся, похожих и избыточных результатов. Этот метод включает в себя сокращение количества повторяющихся выходных данных за счет аппроксимации многочисленных слоев, тем самым уменьшая объем памяти сети, что приводит к созданию высокоэффективных систем.
Последние мысли
Это пока все! Если вам понравилась эта статья, возможно, вам будет интересно узнать больше о том, как сократить ресурсы, необходимые для запуска новых моделей машинного обучения. Такие методы, как квантование, сокращение и тензорная декомпозиция низкого ранга, могут помочь повысить эффективность и уменьшить объем памяти, занимаемой большими моделями. Если вы хотите реализовать дистилляцию знаний, вы можете проверить библиотеки, подобные следующим.
Подписывайтесь на нас, чтобы получать больше подобных статей!