Подстройка и ведение
Если вы когда-нибудь наблюдали за тем, как люди общаются друг с другом, вы, вероятно, могли заметить, что временами они начинают имитировать друг друга. Когда при взаимодействии между людьми начинает устанавливаться контакт, часто имеет место согласование определенных действий. Так, они начинают сидеть в одинаковой позе, говорить в одном темпе и одним тоном и даже одинаково жестикулировать. В НЛП этот процесс получил название подстройки. Если вы понаблюдаете внимательно, вы заметите, что при наличии настоящего контакта люди в очень большой степени «отзеркалива-ют» поведение друг друга. Это основной принцип коммуникации, и его можно использовать как средство, позволяющее более эффективно направлять людей.
Подстройка — это использование и «отзеркаливание» ключевых вербальных и невербальных сигналов другого человека с целью согласования моделей мира. При этом нужно обладать определенной гибкостью, чтобы выделить характерные особенности лексики и поведения другого человека и ввести их в свою речь и действия.
Например, один из способов установления контакта — «активное слушание», когда вы выделяете языковые паттерны в речи собеседника и используете какие-то из них в ответ. Так, если человек говорит: «У меня есть чувство, что мы должны глубже в этом разобраться», — вы можете сказать в ответ: «Да, понимаю, вы чувствуете, что нам надо заняться этим».
Разумеется, легче подстраиваться к знакомому человеку, с которым у вас уже есть контакт. В этом случае осознание установленного контакта становится чем-то вроде метасообщения. При общении же с незнакомым человеком подстройка может оказаться затруднительной, она может даже выглядеть как проявление неуважения. С другой стороны, она может оказаться очень эффективным способом установить контакт в этом случае.
Ее можно осуществлять постепенно, подстраивая каждый раз один элемент. Можно начать с тембра голоса, а затем аккуратно продолжить подстройку позы, жестов и т. д.Ведение подразумевает попытку произвести какие-то изменения в другом человеке — расширить или обогатить его поведение или мышление — путем тонких изменений собственных вербальных и невербальных паттернов в желаемом направлении. Основная идея подстройки и ведения — постепенно подвести человека к изменениям в поведении или взгляде на мир, сначала путем согласования и понимания, а затем — расширения его модели мира. Например, когда представляешь нечто новое, то всегда лучше начать с уже знакомого, а потом перейти к этому новому.
Большинство людей думает, что лидерство в первую очередь связано с ведением. Но часто наиболее эффективным лидером оказывается тот, кто, во-первых, может понять модели мира других людей и отнестись к ним с уважением, а во-вторых, обладает достаточной гибкостью, чтобы включить эти другие точки зрения в свое видение.
Хороший пример того, каким влиянием обладает предварительная подстройка на ведение, — случай на одном семинаре по продажам в группе телемаркетинга. Они рассказали про одного покупателя, которому никто не мог ничего продать. Оказалось, что он говорил очень м…е…д…л…е…н..н…о. Поскольку он был президентом большой компании, он мог оказаться очень важным клиентом, так что представители звонили ему и говорили: «Добрый день, сэр. Я знаю, что вы очень заняты, но я отниму только одну минуту вашего времени», — произнося все это примерно в два раза быстрее, чем говорил он.
Но это не совпадало с тем, как он думал и слушал. Чтобы улучшить его навыки коммуникации, участников семинара проинструктировали позвонить ему и сказать: «Добрый день… (очень медленно)… Я из компании Икс… и хотел бы, чтобы вы… уделили мне время… для разгово-ра…когда у вас будет возможность… подумать о нашей продукции… Я знаю, это действительно важно для вас. .. найти время и подумать об этом… Можете ли вы сказать… когда мне лучше перезвонить…» и т. д. Вместо того чтобы говорить: «Это отнимет только минуту», вы говорите: «Когда мне лучше перезвонить, чтобы у вас было достаточно времени, чтобы спокойно и тщательно все обдумать?» Этот человек почувствовал себя настолько комфортно при таком подходе, что назначил встречу, и группа телемаркетинга в конечном итоге получила прибыль.
Как показывает этот пример, одним из важнейших результатов подстройки является установление контакта. Когда люди видят, что вы можете думать так же, как они, и принимаете их слова во внимание, они гораздо меньше сопротивляются новым идеям.
Существует достаточно много способов подстройки. Кроме тембра голоса и темпа речи можно согласовывать ключевые слова и позу.
Один из способов подстройки на очень глубоком уровне — говорить в темпе дыхания собеседника.
Это помогает даже в случаях, когда имеешь дело с проблемными личностями. Например, однажды, когда я делал презентацию на тему коммуникационных навыков, некий человек встал и сказал: «Все, что вы говорите о коммуникации, кажется слишком простым. Я живу в реальном мире, а эти теории хороши только для семинаров. Я не чувствую, что это поможет мне в работе с моими клиентами». На что я ответил: «Ваши возражения вполне законны. Почему бы вам не выйти сюда для демонстрационного упражнения. Представьте, что вы — один из ваших трудных клиентов в реальном мире, а мы попытаемся сделать что-то, чтобы вы вошли с нами в больший контакт».
Он вышел вперед и начал «играть роль». Первое, что я сделал, — осторожно принял похожую позу. Он заявил: «Ну, я человек занятой. Мне приходится общаться с сотней людей каждый день. Многие из них — полные идиоты и только отнимают мое время. Так что давайте побыстрее проделаем все это». Отвечая ему, я начал согласовывать свою речь с его дыханием. Я сказал: «По-моему, это звучит так… как будто вы хотите… чтобы был кто-то, кому вы можете доверять… Кто-то, кто заботится… о ваших потребностях… и будет поддерживать вас… Подумайте о ком-то… кому вы действительно доверяли… в своей жизни… и как вы это чувствовали. … Именно такие отношения… я хотел бы установить с вами». Я продолжал подстраиваться к его дыханию, и в конце концов, спустя примерно три минуты, этот человек остановился и сказал: «Вы знаете, я старался быть таким неуступчивым, каким только смогу, но сейчас я бы купил все, что вы предложите».
Этот пример показывает, какую ценность такие простые, но тонкие невербальные сигналы имеют для установления контакта, подстройки и ведения состояния другого человека, чтобы он стал более открыт для ваших сообщений.
1. Введение. или Подстройка и ведение. Скрытое управление человеком. НЛП в действии
1. Введение. или Подстройка и ведение. Скрытое управление человеком. НЛП в действииВикиЧтение
Скрытое управление человеком. НЛП в действииРом Наталья
Содержание
1. Введение. или Подстройка и ведение
Здравствуйте, друзья!
Автор не претендует на эксклюзивность во взглядах на систему скрытого управления человеком и использование методов нейролингвистического программирования.
Однако с уверенностью может сказать, что каждый человек способен научиться многим стратегиям НЛП. И даже одна техника, используемая вовремя, может принести пользы больше, чем любое бездействие!
Управление другим человеком, как и все гениальное должно быть простым и эффективным. Именно для этого существует НЛП. И у Вас будет реальная возможность убедиться в достоинствах приведенных ниже техник.
Если Вы все-таки решитесь изменить свои взаимоотношения с другими людьми, включите техники НЛП в свой арсенал навыков и умений. Начните применять их, и Вы получите позитивные результаты легко и быстро!
Техники НЛП можно менять или комбинировать, что с развитием ваших умений позволит Вам приобрести гибкость, мастерство и творческое отношение к управлению окружающими.
Теперь немного основ об управлении другим человеком с помощью НЛП.
Вы наверняка знаете, что чем больше люди похожи друг на друга, тем более они друг другу симпатичны. Это касается не только внешних признаков, как рост, комплекция и одежда, но и психологических признаков, как поза, жесты, интонации голоса.
Когда Вы входите в контакт с другими людьми, вы начинаете автоматически согласовывать с ними свои поступки и действия.
При непосредственном контакте вы часто начинаете сидеть в одинаковой позе, говорить с одинаковой интонацией и использовать одинаковые слова и жесты.
В НЛП этот процесс получил название подстройки.
При подстройке вы как радио настраиваетесь на волны, которые излучает собеседник, пытаетесь понять его мысли и чувства, копируете позы и жесты собеседника.
Копирование внешних поведенческих признаков называется отзеркаливание. Понаблюдайте за окружающими и вы обязательно заметите этот поистине магический эффект в процессе общения. Особенно это хорошо заметно у влюбленных пар.
Так вот принцип подстройки под другого человека – это основной принцип взаимодействия в НЛП, и его можно использовать как основу, позволяющую более эффективно управлять другими людьми.
Еще большего эффекта при воздействии на другого человека позволяет достигнуть еще один принцип НЛП. Он называется ведение.
Ведение это высшая форма подстройки и ее прагматичное использование.
Ведение позволяет изменять чувства, мотивы и действия другого человека, расширять и обогащать его поведение, настроение или мышление.
И все это благодаря небольшим, едва уловимым изменениям собственного поведения, благодаря использованию уместных слов, интонаций и жестов, и благодаря последовательному ненавящему наведению человека на нужное направление.
Основная идея подстройки и ведения – постепенно подвести человека к изменениям в поведении или взгляде на мир, сначала путем согласования и понимания, а затем – и расширения его модели мира.
В словах, которые используют люди, заключаются их представления о мире, о других и о себе. Эти слова несут в себе огромную информацию. И использовать ее можно очень эффективно.
Когда вы начинаете использовать ключевые слова, речевые стратегии и метафоры других людей вы присоединяетесь к их внутреннему миру и становитесь для них своим.
Вот здесь и открываются беспредельные возможности для скрытого управления другим человеком.
От Ваших слов зависит очень многое. Речь дана нам, чтобы скрывать свои мысли… И не важно кто это написал.
Важно, что Вы как-то обозначаете ситуацию, и все идет в соответствии со значением Ваших слов, а не наоборот. И ситуация изменяется.
Поверьте, это действительно работает!
И помните, у Вас только один шанс произвести первое впечатление. Любой человек формирует оценку о Вас в течение 10 секунд, так используйте их с максимальной пользой!!!Данный текст является ознакомительным фрагментом.
Подстройка и ведение
Подстройка и ведение Одно из основных правил процессинга — то, что вы СНАЧАЛА достигаете взаимопонимания с человеком, а ПОТОМ делаете что-то для него. Другими словами, подстраиваетесь и ведете.Подстройка по сути означает, что вы соглашаетесь с человеком в том, что он
Ведение
Ведение Когда вы соединяетесь с образом, то есть с вещью, с явлением, входя в него или впуская его в себя, он открывает вам свою суть.Чтобы соединиться с вещью, нужно стихнуть, убрать «я». Так решаются любые
Подстройка и ведение
Подстройка и ведение Вы наверняка не раз замечали, что люди, давно знающие друг друга и симпатизирующие друг другу, нередко ведут себя одинаково: у них одинаковый тембр речи, жесты, мимика и т. д. В связи с этим, в НЛП существует метод подстройки, который заключается в том,
Общие принципы наведения транса (милтон-модель, подстройка и ведение, создание ощущения безопасности у пациента)
Общие принципы наведения транса (милтон-модель, подстройка и ведение, создание ощущения безопасности у пациента) В работе гипнотерапевта должен быть сведен к минимуму процент неудач. Существует множество эффективных способов индукции гипноза, но овладение такими
Подстройка и ведение во время группового обсуждения
Подстройка и ведение во время группового обсуждения Один из способов установить раппорт и обратиться к различным стилям мышления – это привести собственную речь в гармонию с ожиданиями других людей, обращаясь к их особенностям восприятия. Это можно сделать двумя
Ведение
Ведение В настоящее время мы являемся свидетелями того, что в психологии происходят поистине революционные перемены, начало которым было положено около двадцати лет назад. Они явились результатом научных открытий в области семейной терапии, занимавшейся проблемой
Словесная подстройка и ведение: упражнение 5-4-3-2-1
Словесная подстройка и ведение: упражнение 5-4-3-2-1 Сегодня утром вы выполняли словесную подстройку и ведение: говорили три поддающихся проверке предложения, основанных на сенсорных восприятиях, использовали переход и прибавляли не поддающееся проверке предложение. Вы
Подстройка под позитивный образ
Подстройка под позитивный образ Вы можете, добиваясь своей цели, играть разные роли, в зависимости от ситуации подстраиваясь под нужный образ – тот, на который интересующая вас персона будет позитивно реагировать.Любая роль – это манипуляция собеседником, обман
Подстройка и ведение
Подстройка и ведение Подстройка. Для установления контакта с собеседником вы начинаете его в чем-то копировать. Например, в процессе разговора стараетесь попасть в ритм его дыхания: когда он делает вдох – вы делаете паузу, когда он делает выдох – вы говорите.Что это дает?
Введение в подстройку и ведение
Введение в подстройку и ведение Сейчас, когда мы уже изучили множество тонкостей и граней раппорта, разобрали по косточкам процесс его построения и поддержания, учли многообразие его влияния на нашу жизнь и научились отстраиваться, начинается самое интересное.
Ведение
Ведение Ведение собеседника – это использование его внутренних установок, или стратегий. Как определить его стратегию? Задайте человеку вопрос и посмотрите, каким образом он на него отвечает. И лучше всего задать вопрос на актуальную для вас тему – к примеру, если вы
Подстройка к будущему
Подстройка к будущему Эту технику хорошо применять, когда у человека проблемы с общением, или ему предстоит выступление перед аудиторией, или он волнуется во время сдачи экзаменов. В общем, когда волнение не помогает и не воодушевляет, а мешает и душит человека. Можно,
Ведение
Ведение Когда вы соединяетесь с образом, то есть с вещью, с явлением, входя в него или впуская его в себя, он открывает вам свою суть. Чтобы соединиться с вещью, нужно стихнуть, убрать «я». Так решаются любые
Подстройка под личность
Подстройка под личность Известно, что человек лучше понимает и запоминает те предметы, процессы или информацию, которые воспринимает как полезные, удобные, приятные, нужные. То есть при развитии мышления важно создать правильную эмоциональную установку — вообще говоря,
Подстройка по движению
Подстройка по движению Подстройки по движению я хочу разделить на несколько видов: подстройка по позе,подстройка по жестам и мимике, подстройка по дыханию.Подстройка по позе:Подстройка может быть прямая (правое – правое) и зеркальная (правое – левое), когдаты просто
Что такое тонкая настройка в НЛП?
Одно из лучших качеств разработки модели НЛП — это множество предварительно обученных языковых моделей, которые вы можете использовать для обучения своей модели. К сожалению, поскольку большинство моделей НЛП являются предметно-ориентированными, эти общие модели обучения не всегда подходят для предполагаемой цели модели. Вот тут-то и начинается точная настройка.
Этот процесс, также известный как трансферное обучение, позволяет переобучить предварительно обученную модель на новом наборе данных, что делает ее более эффективной по назначению. В этой статье будет рассмотрено все, от тонкой настройки в НЛП до различных техник, задействованных в этом процессе.
Что означает тонкая настройка?
Перенос обучения включает в себя перенос «знаний» из большой предварительно обученной языковой модели в другую модель, предназначенную для выполнения определенной задачи. Обычно это включает настройку определенных параметров в предварительно обученной модели и применение результатов к новой модели, чтобы сделать ее более эффективной или оптимизировать ее производительность.
Этот метод незаменим при разработке моделей НЛП, поскольку устраняет необходимость обучения моделей с нуля, что позволяет сэкономить время, вычислительные ресурсы и деньги. Итак, что такое тонкая настройка в НЛП?
Что такое тонкая настройка в НЛП?
В контексте обработки естественного языка трансферное обучение — это метод переобучения, при котором большие языковые модели, обученные на больших наборах данных, оптимизируются для выполнения аналогичных задач на другом наборе данных. [1]
Разработчики обычно используют большие источники с открытым исходным кодом для обучения модели, чтобы она изучала общие языковые шаблоны. Затем они настраивают модель на меньшем наборе данных для конкретной задачи, чтобы позволить модели изучить определенные языковые шаблоны, характерные для ее предполагаемой цели.
Например, разработчики могут использовать большой общий набор данных на английском языке для обучения модели, а затем использовать адаптацию предметной области для оптимизации модели для конкретной предметной области, такой как юриспруденция или медицина. [2]
Методы, используемые для точной настройки моделей НЛП
Существует множество методов, используемых в трансферном обучении в НЛП, каждый из которых подходит для конкретных случаев использования. Вот пять наиболее распространенных техник трансферного обучения в НЛП.
Модификация архитектуры для конкретной задачи
Модификация архитектуры для конкретной задачи обычно включает в себя внесение изменений в архитектуру предварительно обученной модели, чтобы лучше соответствовать требованиям ее предполагаемой цели. Например, предварительно обученная модель, обученная для классификации текста, может быть не оптимизирована для языкового моделирования. В этом случае разработчик может изменить архитектуру модели, чтобы повысить ее производительность в приложениях языкового моделирования.
Адаптация предметной области
Адаптация предметной области используется в особых случаях, когда предварительно обученная модель не имеет достаточных рабочих возможностей для конкретной задачи или предметной области. Предварительно обученная модель обычно точно настраивается для небольших наборов данных, характерных для целевого домена. [3] Это позволяет модели получать знания, необходимые ей для повышения производительности в конкретной области.
Дистилляция знаний
Дистилляция знаний включает перенос знаний из большой предварительно обученной модели в меньшую модель таким образом, чтобы меньшая модель имитировала поведение большей модели. [4] Этот процесс обычно работает путем обучения большой модели на большом наборе данных, а затем ее использования для создания мягких целей для меньшей модели, обученной на том же наборе данных.
В этом контексте мягкие цели — это распределители вероятностей для возможных выходных данных предварительно обученной модели, т. е. вероятности, которые предварительно обученная модель присваивает различным возможным выходным данным для заданных входных данных.
В процессе разработки разработчики используют эти мягкие вероятности из большой модели в качестве целей для меньшей модели, которая хочет имитировать атрибуты большей модели. Они делают это, минимизируя вероятность дистрибьюторов, созданных большой, предварительно обученной моделью и меньшей моделью.
Это позволяет меньшей модели учиться на богатом, тонком знании, закодированном в распределениях вероятностей большой предварительно обученной модели, тем самым повышая производительность обобщения меньшей модели.
Примеры предварительно обученных моделей, используемых в трансферном обучении
Большинство крупных предварительно обученных моделей обучаются на массивных наборах данных для изучения сложных языковых шаблонов и структур. Некоторые из этих моделей поставляются с API-интерфейсами, позволяющими настраивать их для конкретных задач НЛП. Некоторые из наиболее часто используемых моделей НЛП в трансферном обучении включают:
BERT
BERT (представления двунаправленного кодировщика от трансформеров) — это большая предварительно обученная модель от Google, способная понимать контекст слов в предложении в отношении друг другу. Это достигается за счет архитектуры на основе преобразователя, которая позволяет ему брать контекст соседних слов в предложении. Это позволяет ему понимать сложные языковые структуры, такие как долгосрочные зависимости и идиоматические выражения.
BERT можно настроить для выполнения многочисленных задач НЛП, таких как распознавание именованных сущностей, анализ настроений и ответы на вопросы. [5]
GPT-3
GPT-3 — это большая языковая модель, обученная на больших наборах данных с помощью методов обучения без учителя. GPT-3 со 175 миллиардами параметров является одной из крупнейших языковых моделей на рынке. Модель можно настроить для конкретных задач, таких как языковой перевод и анализ настроений.
XLNet
XLNet — предварительно обученная нейронная сеть на основе преобразователя. В модели используется подход, основанный на перестановках, при котором во время предварительной подготовки учитываются все возможные перестановки входной последовательности, что позволяет фиксировать более сложные взаимосвязи между различными частями входной последовательности, что в конечном итоге приводит к повышению производительности.
Модель можно точно настроить для широкого круга задач НЛП, таких как ответы на вопросы, классификация текстов и языковой перевод.
Подробнее о Лучшие альтернативы модели НЛП GPT
Варианты использования тонкой настройки в НЛП
В настоящее время многие разработчики предпочитают тонкую настройку существующих больших моделей НЛП созданию моделей с нуля из-за уровня удобства, эффективности, и эффективность, которую он обеспечивает. Вот некоторые из наиболее заметных примеров использования тонкой настройки в НЛП:
Классификация текста
Точно настроенные предварительно обученные модели можно использовать для приложений классификации текста, таких как классификация тем, анализ настроений и классификация тем. Возьмем, к примеру, БЕРТ. Большая языковая модель может быть точно настроена для широкого спектра приложений классификации текста, таких как анализ тональности, фильтрация спама и категоризация текста.
Распознавание именованных сущностей
Распознавание нагих сущностей (NER) относится к процессу идентификации и извлечения именованных сущностей, таких как люди, организации и местоположения, из заданного набора текстовых данных. [6] Такие модели, как ELMO и BERT, можно точно настроить для приложений NER.
Системы ответов на вопросы
Системы ответов на вопросы стали довольно популярными за последние несколько лет. Эти системы предоставляют упрощенные ответы на сложные запросы, тем самым ограничивая время исследования, необходимое для конкретной задачи. Системы ответов на вопросы, такие как GPT-3, могут быть точно настроены для конкретных доменов, чтобы повысить их эффективность при ответах на вопросы в этом домене.
Машинный перевод
Машинный перевод — это процесс использования программного обеспечения для перевода текста с одного языка на другой. Большие предварительно обученные модели, такие как BERT, RoBERTa и GPT-3, уже хорошо справляются с задачами машинного перевода. Однако вы по-прежнему можете настроить модели на определенном языке, чтобы они давали более точные результаты.
Анализ настроений
Анализ настроений — это метод машинного обучения, используемый для извлечения субъективной информации из текста, такой как эмоции, мнения и отношения. Большие предварительно обученные модели, такие как BERT и RoBERTa, можно точно настроить для приложений анализа тональности, таких как анализ тональности отзывов клиентов, сообщений в социальных сетях и новостных статей.
Проблемы тонкой настройки моделей НЛП
Трансферное обучение представляет собой эффективный и действенный способ адаптации предварительно обученных моделей к конкретным областям с ограниченными требованиями к данным. К сожалению, вам придется решить и преодолеть определенные проблемы, чтобы эффективно настроить модель НЛП.
Выбор данных и предварительная обработка
Чтобы эффективно настроить модель NLP, вы должны использовать определенный набор данных в качестве представителя целевой области. Однако выбор и предварительная обработка этих данных может быть сложной задачей, поскольку данные должны быть тщательно отобраны, чтобы обеспечить их соответствие задаче. Вы также должны обеспечить высокое качество данных.
Если данные не являются репрезентативными для предполагаемой области задач, точно настроенная модель не будет работать эффективно. Предварительная обработка также важна, поскольку она напрямую влияет на качество функций, используемых моделью.
Возьмем, к примеру, токенизацию. Токенизация — один из самых популярных методов предварительной обработки, применяемых к обучающим данным. Этот метод включает в себя разбиение текста на отдельные слова или подслова, которые затем используются в качестве входных данных для модели. При неправильном или непоследовательном применении этот метод может резко повлиять на качество признаков модели, изменив смысл текста.
Для решения этих проблем исследователи и разработчики используют методы увеличения данных. Расширение данных включает создание новых примеров путем применения таких преобразований, как случайные удаления, вставки или замены к существующим данным. В конечном счете, это помогает улучшить качество и количество данных, что приводит к созданию более эффективных моделей.
Переобучение и недообучение
Переобучение происходит, когда модель обучается на слишком большом количестве данных, специфичных для задачи, что приводит к ее плохой работе на новых примерах, которые не обязательно привязаны к предметной области. И наоборот, недообучение происходит, когда модель не обучена на достаточном количестве данных для конкретной задачи, что приводит к низкой производительности на обучающих и проверочных наборах. Вы можете преодолеть эту проблему, используя методы ранней остановки и регуляризации. [7]
Заключительные мысли
Трансферное обучение предлагает простой и экономичный способ обучения новых моделей с использованием существующих наборов данных, что устраняет необходимость обучения модели с нуля. В этом процессе используется несколько методов, каждый из которых подходит для конкретных моделей и вариантов использования. В результате часто лучше работают переобученные модели, которые лучше справляются с конкретными задачами предметной области. Ознакомьтесь с нашими решениями НЛП, чтобы узнать больше.
Ссылки
[1] Deeplizard.com. Основы глубокого обучения. URL-адрес: https://bit.ly/3Yczc0M. По состоянию на 25 февраля 2023 г.
[2] Эдок.уб.уни. URL: https://edoc.ub.uni-muenchen.de/27831/7/Sedinkina_Marina.pdf. По состоянию на 25 февраля 2023 г.
[3] Aclanthology.org. URL: https://aclanthology.org/2020.coling-main.603.pdf. По состоянию на 25 февраля 2023 г.
[4] Neptune.ai. Дистилляция знаний. URL: https://neptune.ai/blog/knowledge-distillation. По состоянию на 25 февраля 2023 г.
[5] Tensorflow.org. Fine Tunin модель BERT. URL-адрес: https://www.tensorflow.org/tfmodels/nlp/fine_tune_bert. По состоянию на 25 февраля 2023 г.
[6] Veeksforgeeks.org. Распознавание именованных объектов. URL: https://bit.ly/3Y9Kqml. По состоянию на 25 февраля 2023 г.
[7] Towardsdatascience.com. Полное руководство по методам регуляризации в глубоком обучении. URL-адрес: https://bit.ly/3m09crM. По состоянию на 25 февраля 2023 г.
Повышение производительности модели НЛП с помощью автоматической настройки модели в Amazon SageMaker
к Джейсон Чжу, Кайл Брубейкер и Сяофэй Ма | на | в Amazon SageMaker, искусственный интеллект | Постоянная ссылка | Комментарии | ДелитьсяЗа последние два года в области обработки естественного языка (NLP) произошло много замечательных прорывов. Усовершенствованные модели глубокого обучения повышают современные стандарты производительности для задач НЛП. Чтобы извлечь выгоду из недавно опубликованных моделей НЛП, лучше всего применить предварительно обученную языковую модель к новому набору данных и настроить ее для конкретной задачи НЛП. Этот подход известен как перенос обучения , который может значительно снизить требования к ресурсам для обучения модели по сравнению с обучением модели с нуля, а также может дать достойные результаты даже с небольшими объемами обучающих данных.
В связи с быстрым развитием методов НЛП было разработано множество сред НЛП с упакованными предварительно обученными языковыми моделями, чтобы предоставить пользователям легкий доступ к передаче обучения. Например, ULMFiT от fast.ai и PyTorch-Transformers от Hugging Face — две популярные фреймворки НЛП с предварительно обученными языковыми моделями.
В этом посте показано, как точно настроить модели NLP с помощью PyTorch-Transformers в Amazon SageMaker и применить встроенную возможность автоматической настройки модели для двух наборов данных NLP: Microsoft Research Paraphrase Corpus (MRPC) [1] и Stanford Question Answering. Набор данных (SQuAD) 1.1 [2]. PyTorch-Transformers — это библиотека с набором современных предварительно обученных языковых моделей, включая BERT, XLNET и GPT-2. В этом посте используется его предварительно обученная базовая модель BERT (представления двунаправленного кодировщика от трансформаторов), разработанная Google [3].
Об этом сообщении в блоге | |
Время читать | 10 минут |
Время завершения | ~ 20 часов |
Стоимость завершения | ~ 160 долларов США (на момент публикации) |
Уровень обучения | Расширенный (300) |
Сервисы AWS | Amazon SageMaker Amazon S3 |
Подробное пошаговое руководство по коду можно найти в блокноте с примерами.
Этот пост демонстрирует, как сделать следующее:
- Запустите код PyTorch-Transformers Git в Amazon SageMaker, который может работать на вашем локальном компьютере, с помощью платформы SageMaker PyTorch.
- Оптимизируйте гиперпараметры с помощью автоматической настройки модели в Amazon SageMaker.
- Просмотр чувствительности моделей НЛП к значениям гиперпараметров.
Настройка преобразователей PyTorch
В этом посте используется экземпляр блокнота ml.t2.medium. Общие сведения об Amazon SageMaker см. в разделе Начало работы с Amazon SageMaker.
В этом сообщении в качестве примера используется набор данных MRPC General Language Understanding Evaluation (GLUE), чтобы пройтись по ключевым шагам, необходимым для интеграции PyTorch-Transformer в Amazon SageMaker, а также для тонкой настройки модели с использованием контейнера SageMaker PyTorch. Чтобы настроить PyTorch-Transformer, выполните следующие шаги:
- Загрузите данные GLUE, запустив скрипт download_glue_data. py в репозитории GitHub и распаковав его в каталог
$GLUE_DIR
. Следующий пример кода в блокноте Jupyter загружает данные и сохраняет их в папку с именемGlue_data
:!python download_glue_data.py --data_dir Glue_data --задачи все
- Скопируйте код PyTorch-Transformer GitHub в локальный каталог экземпляра блокнота Amazon SageMaker. См. следующий код:
!git clone https://github.com/huggingface/pytorch-transformers.git
После этих двух шагов у вас должна быть папка данных с именем
Glue_Data
и папка сценария с именемpytorch-transformers
в каталоге ваш блокнот Jupyter. - Точная настройка модели BERT для набора данных MRPC. Используйте сценарий
run_glue.py
, предоставленный в/pytorch-transformers/example/
, в качестве обучающего сценария для оценщика PyTorch в Amazon SageMaker.
Перед созданием оценщика внесите следующие изменения:
- Проверьте и измените код argparse в
run_glue. py
, чтобы средство оценки SageMaker могло считывать входные аргументы как гиперпараметры. Например, вы можете рассматриватьdo_train
иdo_eval
как гиперпараметры и передавать им логическое значение при вызове оценщика PyTorch в Amazon SageMaker. - Создайте файл
requirements.txt
в том же каталоге, что и обучающий скриптrun_glue.py
. Файлrequirements.txt
должен включать пакеты, необходимые для сценария обучения, которые еще не установлены по умолчанию в контейнере Amazon SageMaker PyTorch. Например,pytorch_transformers
— это один из пакетов, которые необходимо установить.
Файл requirements.txt
— это текстовый файл, содержащий список необходимых пакетов, которые устанавливаются с помощью установщика пакетов Python, в данном случае пункт
. При запуске обучающих заданий контейнер Amazon SageMaker автоматически ищет файл requirements. txt
в исходной папке скрипта и использует pip install
для установки пакетов, перечисленных в этом файле.
Тонкая настройка модели НЛП в Amazon SageMaker
После загрузки данных и подготовки сценария обучения вы готовы к точной настройке модели НЛП в Amazon SageMaker. Чтобы запустить задание обучения, выполните следующие шаги:
- Загрузите данные в Amazon S3. См. следующий код:
входы = sagemaker_session.upload_data (путь = data_dir, ведро = ведро, key_prefix = s3_prefix)
- Настройте переменные среды сценария обучения и начальные настройки гиперпараметров. См. следующий код:
container_data_dir = '/opt/ml/input/data/training' container_model_dir = '/opt/ml/model' параметры = { 'model_type': 'берт', 'model_name_or_path': 'bert-base-uncased', 'имя_задачи': имя_задачи, 'data_dir': container_data_dir, 'output_dir': container_model_dir, 'num_train_epochs': 3, 'per_gpu_train_batch_size': 64, 'per_gpu_eval_batch_size': 64, 'сохранить_шагов': 150, 'log_steps': 150 # здесь вы можете добавить дополнительные входные аргументы }
В приведенном выше коде каталоги контейнеров для входных данных (
/opt/ml/input/data/training
) и артефактов модели (/opt/ml/model
) передаются сценарию обучения. Вы указываете каталоги, относящиеся к контейнеру, а не локальные каталоги, поскольку Amazon SageMaker выполняет задание обучения в контейнере Docker. Чтобы запустить задание обучения, вам необходимо передать путь S3 данных обучения функцииestimator.fit()
. В процессе создания контейнера Amazon SageMaker автоматически загружает данные S3 и сохраняет их в каталогах, определенных переменными среды контейнера.Важно знать правильное расположение входных и выходных данных модели в контейнере Amazon SageMaker Docker. Для ввода модели используйте
/opt/ml/input/data/channel_name/
, где пользователь указываетимя_канала
(например,обучение
илитестирование
). Для артефактов модели используйте/opt/ml/model/
. Дополнительные сведения см. в статьях Контейнеры Amazon SageMaker: библиотека для создания контейнеров Docker и Создание собственного контейнера алгоритмов в репозитории GitHub.Сценарий обучения
run_glue. py
загружает данные обучения и проверки из одного и того же каталога, поэтому вам нужно только определить один каталог данных и пометить имя канала какtraining
. Файл журнала модели и артефакты обученной модели сохраняются в каталоге/opt/ml/model/
в контейнере Docker и загружаются в S3 после завершения задания обучения. - Создайте средство оценки PyTorch и запустите задание обучения. См. следующий код:
из sagemaker.pytorch импортировать PyTorch оценка = PyTorch (entry_point = 'run_glue.py', source_dir = './pytorch-transformers/examples/', гиперпараметры=параметры, роль = роль, framework_version='1.1.0', train_instance_count=1, train_instance_type=’ml.p3.2xlarge’ ) estimator.fit({'обучение': входные данные})
Задание обучения для предыдущего примера занимает примерно пять минут. Вы должны увидеть задание обучения, запущенное на вкладке сеанса Задания обучения в консоли Amazon SageMaker. Выбрав задание обучения, вы можете просмотреть подробную информацию о выполнении обучения, включая журналы Amazon CloudWatch и ссылку на местоположение S3 для выходных данных модели и артефактов.
Запуск автоматической настройки модели
Протестируйте настройку обучения, выполнив одно полное задание обучения без ошибок. Затем вы можете запустить автоматическую настройку модели с помощью байесовской оптимизации, выполнив следующие шаги:
- Определите показатель оптимизации. Amazon SageMaker поддерживает предопределенные метрики, которые он может автоматически считывать из журнала обучения CloudWatch, который существует для встроенных алгоритмов (таких как XGBoost) и платформ (таких как TensorFlow или MXNet). При использовании собственного сценария обучения необходимо указать Amazon SageMaker, как извлечь показатель из журнала с помощью простого регулярного выражения. См. следующий код:
metric_definitions = [{'Имя': 'f1_score', 'Regex': '\'f1_\': ([0-9\\.]+)'}]
Измените
run_glue.py
, чтобы убедиться, что результаты оценки модели распечатываются в журнале CloudWatch. В этом посте используйте показатель F1 в качестве метрики оптимизации для автоматической настройки модели. - Определите диапазон гиперпараметров. См. следующий код:
диапазоны гиперпараметров = { 'learning_rate': ContinuousParameter (5e-06, 5e-04), scaling_type = "Логарифмический") }
Для больших моделей НЛП лучше ограничить работу по настройке одним или двумя гиперпараметрами за раз, чтобы байесовская оптимизация была стабильной и могла сходиться быстрее. Также имейте в виду, что для разных значений гиперпараметров могут потребоваться разные вычислительные ресурсы. Например, размер пакета для моделей глубокого обучения напрямую влияет на объем памяти ЦП/ГП, необходимый для обучения модели. Установка диапазона гиперпараметров, совместимого с емкостью обучающего экземпляра EC2, является хорошей практикой и помогает обеспечить плавную настройку модели.
- Запустить задание настройки гиперпараметров. См. следующий код:
из импорта sagemaker.tuner HyperparameterTuner target_metric_name = 'f1_score' тюнер = ГиперпараметрТунер(оценщик, target_metric_name, гиперпараметр_диапазоны, метрика_определения, стратегия = «байесовская», target_type = 'Максимум', макс_работ = 30, max_parallel_jobs=3, Early_stopping_type = 'Авто') tuning_job_name = "pt-bert-mrpc-{}".format(strftime("%d-%H-%M-%S", gmtime())) Tuner.fit({'обучение': входы}, job_name=tuning_job_name) тюнер.wait()
Вы можете следить за ходом задания по настройке в консоли Amazon SageMaker. Дополнительные сведения см. в разделе Мониторинг хода выполнения задания по настройке гиперпараметров.
Результаты автоматической настройки модели для набора данных GLUE MRPC
Вы можете легко извлечь результаты настройки гиперпараметров в кадр данных для дальнейшего анализа. См. следующий код:
tuning_metrics = sagemaker.HyperparameterTuningJobAnalytics(tuning_job_name).dataframe()
На следующих графиках показано изменение скорости обучения и оценки модели F1 по сравнению с заданиями обучения, упорядоченными по времени начала задания обучения. Процесс байесовской оптимизации задается с использованием трех параллельных заданий на 10 итераций (всего 30 заданий обучения). Для автоматической настройки модели потребовалось 15 учебных заданий (пять итераций), чтобы найти оптимальную скорость обучения, а затем точно отрегулировать скорость обучения до значения 6,5e-5, чтобы максимизировать оценку F1.
На следующем графике показана оценка F1 в зависимости от скорости обучения и показана чувствительность модели к гиперпараметрам. Результаты получены из набора данных MRPC dev с использованием предварительно обученной базовой модели BERT uncase.
Показатель F1 может широко варьироваться от 0,75 до 0,92 для скорости обучения от 1e-5 до 5e-4. График также показывает, что оптимальная скорость обучения составляет 6,47e-5, а показатель F1 достиг пика 0,918 для проверочного набора данных. Большинство обучающих заданий (22 из 30 заданий) проводились вблизи оптимального значения скорости обучения, что свидетельствует о хорошей эффективности байесовского алгоритма оптимизации.
Результаты автоматической настройки модели для набора данных SQuAD
Вы можете выполнить аналогичную автоматическую настройку модели для набора данных SQuAD 1.1, набора из 100 000 пар вопросов и ответов, полученных из краудсорсинга. Тонкая настройка набора данных SQuAD демонстрирует настройку гиперпараметров для другой задачи NLP, а также для набора данных, превышающего данные MRPC, который представляет собой набор примерно из 5000 пар предложений. Детали кода можно найти в блокноте.
На следующих графиках показан процесс настройки гиперпараметров так же, как и результаты MRPC. Обучение имеет немного другие настройки и использует два параллельных задания для 15 итераций (всего 30 заданий). Опять же, байесовская оптимизация может быстро найти оптимальную скорость обучения (около 5,7e-5) после восьми заданий (четыре итерации). На задании 20 также наблюдается всплеск, но затем задания по настройке быстро сходятся к оптимальной скорости обучения. Всплеск на работе 20 может быть связан с рандомизацией в байесовском алгоритме оптимизации, который, как правило, предотвращает подгонку локального минимума/максимума.
Как и в случае с MRPC, модель SQuAD также сильно чувствительна к значениям гиперпараметров. Следующий график зависимости F1 от скорости обучения показывает красивую параболическую форму с оптимальной скоростью обучения 5,73e-5. Соответствующая оценка F1 составляет 0,884, а точное совпадение (EM) — 0,812, что аналогично исходному документу BERT, сообщающему о F1 на уровне 0,885 и EM на уровне 0,808 для набора данных разработчиков SQuAD 1. 1.
Мы использовали меньший размер партии (16) и одну эпоху при настройке модели по сравнению с размером партии 32 и тремя эпохами, используемыми в статье BERT [3].
Уборка
Чтобы избежать дополнительных расходов, остановите экземпляр записной книжки и удалите артефакты модели, сохраненные в S3.
Заключение
В этом посте показано, как точно настроить модели NLP с помощью библиотеки PyTorch-Transformers Hugging Face в Amazon SageMaker, а также продемонстрирована эффективность использования встроенной автоматической настройки модели в Amazon SageMaker для максимизации производительности модели за счет оптимизации гиперпараметров. Такой подход упрощает внедрение современных языковых моделей для задач НЛП и достижение новых рекордов точности в НЛП с помощью возможностей автоматической настройки моделей в Amazon SageMaker.
Каталожные номера:
[1] Алекс Ван, Аманприт Сингх, Джулиан Майкл, Фе-ликс Хилл, Омер Леви и Сэмюэл Боуман. « GLUE: многозадачная платформа для тестирования и анализа естественного языка. » Препринт arXiv arXiv: 1804.07461 (2018)
[2] Пранав Раджпуркар, Цзянь Чжан, Константин Лопырев и Перси Лян. SQuAD: более 100 000 вопросов для машинного понимания текста. » Препринт arXiv arXiv: 1606.05250 (2016)
[3] Джейкоб Девлин, Минг-Вей Чанг, Кентон Ли, Кристина Тутанова. « BERT: предварительная подготовка глубоких двунаправленных преобразователей для понимания языка. ” препринт arXiv arXiv: 1810.04805 (2018)
Об авторах
Джейсон Чжу — специалист по обработке и анализу данных в AWS Professional Services, специализирующийся на оказании помощи клиентам с использованием машинного обучения. В свободное время он любит проводить время на свежем воздухе и развивать свои кулинарные способности.
Сяофей Ма — научный сотрудник AWS AI Labs, специализирующийся на разработке сервисов на основе машинного обучения для клиентов AWS.