stringtranslate.com

Тонкая настройка (глубокое обучение)

В глубоком обучении тонкая настройка — это подход к переносу обучения , при котором параметры предварительно обученной модели нейронной сети обучаются на новых данных. [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 большие языковые модели с открытым исходным кодом разных размеров, которые можно настраивать. Модели с открытым исходным кодом могут быть выгодны для компаний с точки зрения безопасности данных, поскольку они могут контролировать, где размещается модель.

Смотрите также

Ссылки

  1. ^ Куинн, Джоанн (2020). Погружение в глубокое обучение: инструменты для вовлечения. Thousand Oaks, Калифорния. С. 551. ISBN 978-1-5443-6137-6. Архивировано из оригинала 10 января 2023 г. . Получено 10 января 2023 г. .{{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  2. ^ ab "CS231n Convolutional Neural Networks for Visual Recognition". cs231n.github.io . Получено 9 марта 2023 г. .
  3. ^ Лю, Хаокун; Там, Дерек; Мукит, Мохаммед; Мохта, Джей; Хуан, Тенгхао; Бансал, Мохит; Раффель, Колин А. (2022). Коеджо, С.; Мохамед, С.; Агарвал, А.; Белгрейв, Д.; Чо, К.; О, А. (ред.). Тонкая настройка с малым количеством импульсов лучше и дешевле, чем контекстное обучение (PDF) . Достижения в области нейронных систем обработки информации. Том 35. Curran Associates, Inc., стр. 1950–1965.
  4. ^ Зейлер, Мэтью Д.; Фергус, Роб (2013). «Визуализация и понимание сверточных сетей». ECCV . arXiv : 1311.2901 .
  5. ^ Додж, Джесси; Ильхарко, Габриэль; Шварц, Рой; Фархади, Али; Хаджиширзи, Ханнанех; Смит, Ноа (2020). «Тонкая настройка предварительно обученных языковых моделей: инициализация веса, порядок данных и ранняя остановка». arXiv : 2002.06305 . {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  6. ^ аб Дингливал, Сакет; Шеной, Ашиш; Бодапати, Шраван; Ганде, Анкур; Гадде, Рави Теджа; Кирхгоф, Катрин (2021). «Быстрая настройка языковой модели GPT-2 для эффективной параметрической адаптации систем ASR». ИнтерСпич . arXiv : 2112.08718 .
  7. ^ Юй, Юэ; Цзо, Симяо; Цзян, Хаомин; Жэнь, Вэнди; Чжао, Туо; Чжан, Чао (2020). «Тонкая настройка предварительно обученной языковой модели со слабым контролем: контрастно-регуляризованный подход к самообучению». Ассоциация компьютерной лингвистики . arXiv : 2010.07835 .
  8. ^ "Введение в ChatGPT". openai.com . Получено 9 марта 2023 г. .
  9. ^ Глэс, Амелия; Макалис, Нат; Требач, Майя; Асланидес, Джон; Фироиу, Влад; Эвальдс, Тимо; Раух, Марибет; Вайдингер, Лора; Чедвик, Мартин; Такер, Фиби; Кэмпбелл-Гиллингем, Люси; Уэсато, Джонатан; Хуан, По-Сен; Команеску, Рамона; Янг, Фань; Си, Абигейл; Дататри, Сумант; Грейг, Рори; Чэнь, Чарли; Фриц, Дуг; Элиас, Жауме Санчес; Грин, Ричард; Мокра, Соня; Фернандо, Николас; Ву, Бокси; Фоли, Рэйчел; Янг, Сусанна; Габриэль, Ясон; Айзек, Уильям; Меллор, Джон; Хассабис, Демис; Кавукчуоглу, Корай; Хендрикс, Лиза Энн; Ирвинг, Джеффри (2022). «Улучшение согласованности агентов диалога с помощью целевых человеческих суждений». DeepMind . arXiv : 2209.14375 .
  10. ^ Рэдфорд, Алек; Ким, Чон Ук; Халласи, Крис; Рамеш, Адитья; Го, Габриэль; Агарвал, Сандхини; Шастри, Гириш; Аскелл, Аманда; Мишкин, Памела; Кларк, Джек; Крюгер, Гретхен; Суцкевер, Илья (2021). «Изучение переносимых визуальных моделей с помощью надзора за естественным языком». arXiv : 2103.00020 [cs.CV].
  11. ^ Кумар, Ананья; Рагхунатхан, Адити; Джонс, Робби; Ма, Тенгю; Лян, Перси (2022). «Тонкая настройка может исказить предварительно обученные признаки и ухудшить производительность вне распределения». ICLR . arXiv : 2202.10054 .
  12. ^ Вортсман, Митчелл; Ильхарко, Габриэль; Ким, Чон Ук; Ли, Майк; Корнблит, Саймон; Рулофс, Ребекка; Гонтихо-Лопес, Рафаэль; Хаджиширзи, Ханнанех; Фархади, Али; Намкунг, Хонгсок; Шмидт, Людвиг (2022). «Надежная тонкая настройка моделей с нулевым выстрелом». arXiv : 2109.01903 [cs.CV].
  13. ^ Ху, Эдвард Дж.; Шен, Йелун; Уоллис, Филипп; Аллен-Чжу, Цзэюань; Ли, Юаньчжи; Ван, Шин; Ван, Лу; Чен, Вэйчжу (28 января 2022 г.). «LoRA: низкоранговая адаптация больших языковых моделей». ИКЛР . arXiv : 2106.09685 .
  14. ^ Рю, Симо (13 февраля 2023 г.). «Использование низкоранговой адаптации для быстрой настройки моделей диффузии». GitHub . Получено 19 июня 2023 г.
  15. ^ Куэнка, Педро; Пол, Саяк (26 января 2023 г.). «Использование LoRA для эффективной стабильной диффузионной тонкой настройки». Hugging Face . Получено 19 июня 2023 г. .
  16. ^ «Эффективная тонкая настройка параметров с использованием 🤗 PEFT». huggingface.co . Получено 20 июня 2023 г.
  17. ^ ab Wu, Zhengxuan; Arora, Aryaman; Wang, Zheng; Geiger, Atticus; Jurafsky, Dan; Manning, Christopher D.; Potts, Christopher (2024-04-07), ReFT: Тонкая настройка представления для языковых моделей , arXiv : 2404.03592
  18. ^ "Тонкая настройка". OpenAI . Получено 2023-06-19 .
  19. ^ "Узнайте, как настроить модель для вашего приложения". Microsoft . Получено 2023-06-19 .
  20. ^ "Tune text foundation models" . Получено 2023-06-19 .