В глубоком обучении точная настройка — это подход к трансферному обучению , при котором параметры предварительно обученной модели обучаются на новых данных. [1] Точная настройка может выполняться для всей нейронной сети или только для подмножества ее слоев, и в этом случае слои, которые не подвергаются точной настройке, «замораживаются» (не обновляются на этапе обратного распространения ошибки ). [2] Модель также может быть дополнена «адаптерами», которые состоят из гораздо меньшего количества параметров, чем исходная модель, и точно настроена эффективным с точки зрения параметров способом, настраивая веса адаптеров и оставляя остальные веса модели замороженными. . [3]
Для некоторых архитектур, таких как сверточные нейронные сети , более ранние слои (ближайшие к входному слою) обычно остаются замороженными, поскольку они фиксируют функции более низкого уровня, в то время как более поздние уровни часто распознают функции высокого уровня, которые могут быть больше связаны с задача, которой обучается модель. [2] [4]
Модели, предварительно обученные на больших и общих корпусах, обычно настраиваются путем повторного использования параметров модели в качестве отправной точки и добавления слоя для конкретной задачи, обученного с нуля. [5] Точная настройка полной модели также распространена и часто дает лучшие результаты, но требует больше вычислительных затрат. [6]
Точная настройка обычно осуществляется с помощью обучения с учителем , но существуют также методы точной настройки модели с использованием слабого контроля . [7] Тонкую настройку можно сочетать с обучением с подкреплением на основе обратной связи с человеком , чтобы создать такие языковые модели, как ChatGPT (тонко настроенная версия GPT-3 ) и Sparrow . [8] [9]
Точная настройка может снизить устойчивость модели к сдвигам распределения . [10] [11] Одним из способов смягчения последствий является линейная интерполяция весов точно настроенной модели с весами исходной модели, что может значительно повысить производительность вне распределения, в то же время в значительной степени сохраняя производительность точно настроенной модели внутри распределения. . [12]
Адаптация низкого ранга (LoRA) — это метод на основе адаптеров для эффективной точной настройки моделей. Основная идея состоит в том, чтобы создать матрицу низкого ранга , которая затем добавляется к исходной матрице. [13] «Адаптер» в этом контексте представляет собой набор матриц низкого ранга, который при добавлении к базовой модели создает точно настроенную модель. Это позволяет достичь производительности, приближающейся к точной настройке полной модели, с меньшими требованиями к пространству. Языковая модель с миллиардами параметров может быть точно настроена LoRA всего с несколькими миллионами параметров.
Точная настройка на основе LoRA стала популярной в сообществе Stable Diffusion . [14] Поддержка LoRA была интегрирована в библиотеку Diffusers от Hugging Face . [15] Поддержка LoRA и аналогичных методов также доступна для широкого спектра других моделей благодаря пакету точной настройки параметров (PEFT) Hugging Face. [16]
Тонкая настройка представления (ReFT) — это новый метод, разработанный исследователями из Стэнфордского университета, направленный на точную настройку моделей большого языка (LLM) путем изменения менее 1% их представлений. В отличие от традиционных методов точной настройки с эффективным использованием параметров (PEFT), которые в основном фокусируются на обновлении весов, ReFT нацелен на конкретные части модели, относящиеся к задаче точной настройки. Этот подход основан на понимании того, что модели глубокого обучения кодируют богатую семантическую информацию в своих представлениях, что позволяет предположить, что изменение представлений может быть более эффективной стратегией, чем обновление весов. [17]
Методы ReFT работают на замороженной базовой модели и изучают вмешательства для конкретных задач в скрытых представлениях, а также обучают вмешательствам, которые манипулируют небольшой частью представлений модели, чтобы направить поведение модели на решение последующих задач во время вывода. Одним из конкретных методов семейства ReFT является ReFT линейного подпространства низкого ранга (LoReFT), который вмешивается в скрытые представления в линейном подпространстве, натянутом матрицей проекции низкого ранга. [17] LoReFT можно рассматривать как основанный на представлении эквивалент адаптации низкого ранга (LoRA).
Точная настройка широко распространена в обработке естественного языка (НЛП), особенно в области языкового моделирования . Большие языковые модели, такие как серия базовых моделей GPT OpenAI , могут быть точно настроены на данных для конкретных последующих задач НЛП (задач, в которых используется предварительно обученная модель), чтобы повысить производительность по сравнению с немодифицированной предварительно обученной моделью. [6]
Коммерчески предлагаемые большие языковые модели иногда можно настроить, если поставщик предлагает API тонкой настройки. По состоянию на 19 июня 2023 г. API-интерфейсы точной настройки языковой модели предлагаются OpenAI и службой Azure OpenAI Microsoft Azure для подмножества их моделей, а также Google Cloud Platform для некоторых их моделей PaLM и другими. [18] [19] [20] В настоящее время не все коммерческие модели поддерживают тонкую настройку.
Такие компании, как Meta ( семейство Llama LLM ), Alibaba (семейство Qwen LLM) и Mistral AI (Mixtral) опубликовали на GitHub большие языковые модели с открытым исходным кодом и разных размеров, которые можно точно настроить. Модели с открытым исходным кодом могут быть выгодны компаниям с точки зрения безопасности данных, поскольку они могут контролировать, где размещается модель.
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь )