В глубоком обучении тонкая настройка — это подход к переносу обучения , при котором параметры предварительно обученной модели нейронной сети обучаются на новых данных. [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 и подобных методов также доступна для широкого спектра других моделей через пакет Parameter-Efficient Fine-Tuning (PEFT) от Hugging Face. [16]
Тонкая настройка представления (ReFT) — это новая методика, разработанная исследователями из Стэнфордского университета, направленная на тонкую настройку больших языковых моделей (LLM) путем изменения менее 1% их представлений. В отличие от традиционных методов эффективной тонкой настройки параметров (PEFT), которые в основном фокусируются на обновлении весов, ReFT нацелен на конкретные части модели, относящиеся к настраиваемой задаче. Этот подход основан на понимании того, что модели глубокого обучения кодируют богатую семантическую информацию в своих представлениях, что предполагает, что изменение представлений может быть более эффективной стратегией, чем обновление весов. [17]
Методы ReFT работают на замороженной базовой модели и изучают вмешательства, специфичные для задач, на скрытых представлениях и обучают вмешательствам, которые манипулируют небольшой долей представлений модели, чтобы направлять поведение модели к решению задач ниже по потоку во время вывода. Одним из конкретных методов в семействе ReFT является низкоранговый линейный подпространственный ReFT (LoReFT), который вмешивается в скрытые представления в линейном подпространстве, охватываемом проекционной матрицей низкого ранга. [17] LoReFT можно рассматривать как эквивалент низкоранговой адаптации (LoRA) на основе представления.
Тонкая настройка распространена в обработке естественного языка (NLP), особенно в области моделирования языка . Большие языковые модели , такие как серия фундаментальных моделей GPT OpenAI, могут быть тонко настроены на основе данных для конкретных задач обработки естественного языка (задач, которые используют предварительно обученную модель) для повышения производительности по сравнению с немодифицированной предварительно обученной моделью. [6]
Коммерчески предлагаемые большие языковые модели иногда могут быть тонко настроены, если поставщик предлагает API тонкой настройки. По состоянию на 19 июня 2023 года API тонкой настройки языковых моделей предлагаются OpenAI и службой Azure OpenAI от Microsoft Azure для подмножества их моделей, а также Google Cloud Platform для некоторых из их моделей PaLM и другими. [18] [19] [20] Не все коммерческие модели в настоящее время [ когда? ] поддерживают тонкую настройку.
Такие компании, как Meta ( семейство LLM Llama ), Alibaba (семейство LLM Qwen) и Mistral AI (Mixtral) опубликовали на GitHub большие языковые модели с открытым исходным кодом разных размеров, которые можно настраивать. Модели с открытым исходным кодом могут быть выгодны для компаний с точки зрения безопасности данных, поскольку они могут контролировать, где размещается модель.
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь )