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

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

Огромная стоимость и размер этих базовых моделей — например, модель PaLM 2 Google обучается с использованием 3,6 триллионов токенов и имеет 340 миллиардов параметров — делает аргумент в пользу такого подхода еще сильнее. Проводя дешевое дополнительное обучение, вы можете взять супермодели, которые находятся далеко за пределами вашей досягаемости, и эффективно встроить их в свою собственную модель. Данная статья посвящена изучению наиболее распространенных методов достижения этой цели.

Трансферное обучение

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

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

Существует два основных подхода к передаче обучения:

  • Точная настройка: при тонкой настройке веса первой (предварительно обученной) модели частично обновляются новыми данными. Это позволяет модели адаптироваться к новой задаче, сохраняя при этом знания, полученные при выполнении первой задачи.
  • Извлечение признаков. При извлечении признаков признаки, извлеченные предварительно обученной моделью, используются в качестве входных данных для второй модели. Это позволяет второй модели сосредоточиться на изучении взаимосвязей между функциями и метками без необходимости учиться извлекать функции с нуля.

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

Вот несколько примеров трансферного обучения в действии:

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

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

Точная настройка с эффективным использованием параметров (PEFT)

Хотя трансферное обучение отлично подходит для решения многих реальных задач, для других оно может оказаться слишком дорогим. И здесь на помощь приходит точная настройка с эффективным использованием параметров (PEFT). PEFT — это особый метод трансферного обучения, который позволяет точно настроить только подмножество параметров предварительно обученной модели. Это может быть полезно, когда предварительно обученная модель слишком велика и поэтому ее обучение дорого. Но это также полезно, когда новая задача сильно отличается от задачи, на которой обучалась предварительно обученная модель.

PEFT работает, сначала замораживая большинство параметров предварительно обученной модели. Точнее, он заморозит большую часть начальных слоев модели, одновременно настраивая последний из слоев модели под новую задачу.

Почему?

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

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

Такой подход позволяет моделям PEFT достигать производительности, сравнимой с полной точной настройкой, используя при этом значительно меньше параметров.

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

Подводя итог, трансферное обучение и PEFT предлагают ряд преимуществ, в том числе:

  • Сокращение времени обучения. Трансферное обучение может значительно сократить время, необходимое для обучения модели машинного обучения. Это связано с тем, что предварительно обученную модель можно использовать в качестве отправной точки, и для новой задачи необходимо обучать только последние слои модели.
  • Повышенная точность. Трансферное обучение также может повысить точность модели машинного обучения. Это связано с тем, что предварительно обученная модель уже научилась извлекать признаки из данных, которые можно повторно использовать для новой задачи.
  • Требуется меньше данных. Трансферное обучение можно использовать для обучения модели машинного обучения с меньшим количеством данных, чем потребовалось бы, если бы модель обучалась с нуля. Это связано с тем, что предварительно обученную модель можно использовать для изучения общих характеристик данных, которые затем можно точно настроить для конкретной поставленной задачи.
  • Работает с разными задачами. Трансферное обучение можно использовать для обучения моделей машинного обучения для решения самых разных задач. Это связано с тем, что предварительно обученную модель можно использовать для изучения общих функций, которые имеют отношение к множеству различных задач.
  • Масштабируемость: трансферное обучение масштабируется до больших наборов данных. Это связано с тем, что предварительно обученную модель можно использовать для извлечения функций из больших наборов данных, которые затем можно использовать для обучения модели машинного обучения для конкретной задачи.
  • Экономически эффективно: трансферное обучение — это экономически эффективный способ обучения моделей машинного обучения. Это связано с тем, что предварительно обученную модель можно повторно использовать для нескольких задач, что снижает необходимость обучения новых моделей с нуля.
  • Легко реализовать. Трансферное обучение легко реализовать с помощью большинства платформ машинного обучения. Это значительно упрощает выполнение, в том числе с точки зрения усилий по кодированию.

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

Заключение

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

Что касается реализации, популярные платформы глубокого обучения, такие как TensorFlow и PyTorch, предлагают встроенную поддержку трансферного обучения, что делает его доступным как для новичков, так и для опытных практиков. Для тех, кто работает с НЛП, библиотека Hugging Face Transformers предоставляет обширную коллекцию предварительно обученных моделей, которые можно точно настроить с помощью PEFT или других методов трансферного обучения.