GPT-3 Обучение на небольшом количестве примеров для языковой модели?

Обучение GPT-3 на небольшом количестве примеров для языковой модели?

В последние несколько лет индустрия искусственного интеллекта и машинного обучения наблюдает метеорический рост развития и применения систем обработки естественного языка (NLP), поскольку исследователям удалось реализовать практики NLP в высоко гибких и задаче-агностических способах для передачи задач на более низком уровне.

Сначала были использованы однослойные представления с векторами слов, которые затем подавались на задаче-специфичную архитектуру. Затем была разработана архитектура RNN, которая использовала многослойные представления и контекстное состояние для создания более качественных представлений. И самое последнее – это модели языковой передачи или предварительно обученные рекуррентные модели, которые полностью убрали необходимость в задаче-специфичных архитектурах путем донастройки этих сетей.

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

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

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

Проблемы с существующими предварительно обученными моделями языковой передачи или рекуррентными моделями

  • Ограничение практичности и применимости

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

  • Использование случайных корреляций в обучающих данных

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

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

  • Сравнение с обучением человека

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

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

Преодоление проблем с мета-обучением и GPT-3

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

Мета-обучение внедряется в архитектуру языковых моделей с помощью техники, называемой «in-context learning», которая использует входной текст предварительно обученной языковой модели в качестве спецификации задачи. В процессе модель условно зависит от естественной языковой инструкции и может использовать несколько демонстраций, а затем ожидается, что модель завершит оставшуюся часть задачи путем предсказания следующих шагов.

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

В дополнение к метаобучению, другой метод, ставший популярным, это увеличение емкости языковых моделей трансформеров. За последние несколько лет модели передачи пережили значительное увеличение своей емкости с моделью RNSS18 с 100 миллионами параметров, моделью DCLT18 с 300 миллионами параметров, моделью RWC19 с 1,5 миллиарда параметров, моделью SSP19 с 8 миллиардами параметров, моделью RSR19 с 11 миллиардами параметров и моделью TUR20 с 17 миллиардами параметров.

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

Это приводит нас к модели GPT-3, которая имеет более 175 миллиардов параметров и на момент ее запуска была моделью передачи языка с наибольшей емкостью. Давайте теперь поговорим о модели GPT-3.

Введение в модель GPT-3

GPT-3 – это авторегрессивная языковая модель с более чем 175 миллиардами параметров, выпущенная OpenAI в 2020 году. GPT-3 также классифицируется как большая языковая модель, которая, подобно своему предшественнику модели GPT-2, является только декодерной моделью глубокого обучения на основе трансформера, использующей архитектуру на основе сверток для генерации текстовых данных.

Модель GPT-3 оценивает свои способности к контекстному обучению, и модель GPT-3 оценивается на более чем двадцати наборах данных NLP и нескольких новых задачах. Для каждой отдельной задачи модель GPT-3 оценивается в трех условиях:

  • Обучение с небольшим количеством примеров или контекстное обучение: При обучении с небольшим количеством примеров модель GPT-3 позволяет использовать столько распределений, которые хорошо вписываются в контекстное окно модели.
  • Обучение с одним примером: При обучении с одним примером модель позволяет использовать только одну демонстрацию.
  • Обучение без примеров: При обучении без примеров нет демонстраций, и модели передается только инструкция на естественном языке.

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

Модель GPT-3: Подход

Модель GPT-3 использует традиционный подход предварительного обучения, который включает модель, данные и тренировку, и напоминает процесс предварительного обучения, применяемый моделью передачи языка RWC-19. Модель GPT-3 увеличивает размер модели, размер набора данных, разнообразие набора данных и продолжительность тренировки.

Модель также использует подход контекстного обучения, который снова напоминает подход модели RWC-19, но немного изменяет некоторые вещи, систематически исследуя различные настройки для обучения паттернов в контексте набора данных.

Итак, давайте начнем с изучения этих настроек и оценим, как модель GTP-3 работает в различных настройках.

Тонкая настройка

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

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

Текущий объем модели GPT-3 не реализует подход к настройке модели из-за ее универсальной производительности, хотя в будущем к модели GPT-3 может быть применена настройка.

Несколько демонстраций (Few Shot)

Несколько демонстраций – это термин, который относится к ситуации, когда модели GPT-3 предоставляется несколько демонстраций задачи во время вмешательства в качестве условия, но веса модели не обновляются. В ситуации с несколькими демонстрациями набор данных обычно содержит пример с контекстом и желаемым завершением (например, французское предложение и его английский перевод). В ситуации с несколькими демонстрациями модель получает K примеров контекста и завершения, а затем предоставляет модели один последний контекст и ожидает завершения.

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

Одна демонстрация (One Shot)

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

Нулевая демонстрация (Zero Shot)

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

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

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

GPT-3: Архитектура модели

Модель GPT-3 использует ту же архитектуру, что и модель GPT-2, и включает предварительную нормализацию, модифицированную инициализацию и методы реверсивной токенизации, как это было сделано в модели GPT с исключением использования альтернативной стратегии для локально полосчатых разреженных шаблонов внимания и чередующихся плотных слоев в трансформаторных слоях, аналогичных Sparse Transformer.

Для изучения зависимости производительности модели от ее размера разработчики обучили 8 разных размеров моделей, которые охватывают три различные порядки величины от 125 миллионов до более 175 миллиардов параметров, последний из которых называется моделью GPT-3. Предыдущие работы, связанные с моделями языка LLM, указывают на то, что масштабирование потери проверки с достаточным количеством обучающих данных должно быть приближенно гладкой степенной функцией от размера. Обучение моделей различных размеров позволяет разработчикам проверить эту гипотезу как для задач языковой обработки, так и для потери проверки.

Выше приведено сравнение размера и архитектуры 8 разных моделей, используемых для разработки GPT-3. Здесь n(params) определяет общее количество обучаемых шаблонов, n(layers) определяет общее количество слоев в модели, d(model) определяет количество единиц в каждом слое узкого места, а d(head) определяет размерность каждой головки внимания. Окно контекста для каждой модели одинаково и составляет 2048 токенов.

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

Наборы данных для обучения

Обычно большие языковые модели используют наборы данных, которые значительно увеличились с последними разработками и достигли своего пика в наборе данных Common Crawl, состоящем из более чем триллиона разных слов. Размер набора данных достаточно большой, чтобы обучить модель GPT-3 без нескольких повторений одной и той же последовательности. Однако исследования и анализ производительности показывают, что немного фильтрованные или нефильтрованные версии набора данных Common Crawl имеют низкое качество по сравнению с более кураторскими наборами данных.

Для решения проблемы среднего качества набора данных разработчики предприняли 3 шага для повышения качества набора данных.

  1. Разработчики загрузили и отфильтровали версию набора данных Common Crawl, основанную на диапазоне, аналогичном высококачественным корпусам для справки.
  2. Разработчики выполнили нечеткое дублирование на уровне документа по всему набору данных в попытке сохранить целостность контрольного набора данных в качестве эффективного измерения переобучения и предотвратить дублирование.
  3. Разработчики также добавили высококачественные справочные корпусы в обучающие данные для расширения набора данных Common Crawl и дальнейшего увеличения разнообразия набора данных.

На следующей фигуре показана конечная пропорция или смесь наборов данных, используемых для обучения модели GPT-3. Данные Common Crawl состояли из более чем 45 ТБ текста до фильтрации, что было сокращено до 570 ГБ данных после фильтрации, что примерно эквивалентно более чем 400 миллиардам токенов кодированных парами байтов. Следует отметить, что наборы данных в обучении, которые считаются более качественными, выбираются с большей частотой, а не пропорционально их размеру. В результате наборы данных, такие как Books2 и Common Crawl, выбираются для обучения менее одного раза, в то время как другие наборы данных выбираются несколько раз. Это позволяет модели принять небольшое переобучение в обмен на обучение на данных более высокого качества.

Одной из важных проблем больших языковых моделей, предварительно обученных на большом количестве интернет-данных с возможностью запоминания и изучения большого объема контента, является потенциальное загрязнение задач на следующем этапе путем просмотра их разработки или тестовых наборов данных во время процесса предварительного обучения. Для уменьшения такого потенциального загрязнения разработчики искали любые перекрытия с тестовыми и развивающимися наборами данных, изучаемыми для GPT-3, и пытались устранить эти перекрытия.

На приведенном выше изображении показано общее использование вычислительных ресурсов во время обучения модели GPT-3. Модель использует законы масштабирования для нейронных языковых моделей для обучения намного больших моделей на меньшем количестве токенов, чем обычно. В результате модель GPT-3 и модель RoBERTa-Large, которая в 10 раз меньше модели GPT-3, требовали около 50 петафлопс/день вычислительных ресурсов во время процесса предварительного обучения.

Оценка

Для обучения на небольшом количестве данных модель оценивает каждый пример, присутствующий в наборе данных для оценки, выбирая K примеров случайным образом из обучающего набора данных этой задачи и разделяя их 1 или 2 пустыми строками в зависимости от задачи. Для Storycloze и LAMBADA модель выбирает примеры для обучения из набора данных разработки и оценивает их на тестовом наборе данных из-за отсутствия набора данных для наблюдения. Для Winograd существует только один набор данных, поэтому примеры выбираются напрямую из него.

K может быть любым значением в диапазоне от 0 до максимального значения, допустимого окном контекста модели, которое для всех моделей равно 2048, и обычно вмещает около 10-100 примеров. Большие значения K часто приводят к лучшим результатам, но не всегда, поэтому, когда у модели имеются тестовый набор и отдельный набор данных для разработки, модель проводит эксперименты с несколькими значениями K на наборе данных для разработки и, исходя из результатов, запускает оптимальное значение на тестовом наборе данных.

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

Для задач, требующих свободного выполнения, модель использует поиск луча с такими же параметрами, как в RSR-фреймворке, с длиной луча 4 и штрафом 0.6. Затем модель оценивается с использованием либо оценки сходства F1, точного совпадения, либо BLEU, в зависимости от стандарта для набора данных.

Результаты

На приведенном выше рисунке показаны кривые обучения для 8 моделей, используемых в архитектуре модели GPT-3, как описано в предыдущих разделах. Подобно результатам от модели языка KMH, производительность модели GPT-3 следует закону при использовании вычислительных ресурсов для обучения. Есть небольшое отличие от закона только тогда, когда тенденция продолжается на два порядка больше. Может показаться, что улучшения в потере перекрестной энтропии могут быть результатом моделирования случайных деталей обучающего корпуса. Однако улучшения в потере перекрестной энтропии приводят к последовательному улучшению общей производительности в широком спектре разнообразных задач NLP.

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

  1. Оценка традиционных задач моделирования языка и задач, похожих на моделирование языка, таких как задачи Cloze или задачи завершения предложения/абзаца.
  2. Оценка задач ответов на вопросы “из закрытой книги”.
  3. Оценка способности модели переводить между языками (особенно с однократным и небольшим числом обучающих примеров).
  4. Оценка производительности модели на задачах типа Winograd Schema.
  5. Оценка на наборах данных, включающих рассуждение на основе здравого смысла или ответы на вопросы.
  6. Оценка на задачах по пониманию чтения.
  7. Оценка на наборе тестов SuperGLUE.
  8. Исследование NLI.

Моделирование языка, завершение и задачи Cloze

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

Моделирование языка

Модель GPT-3 вычисляет перплексию с нулевым примером на наборе данных PTB или Penn Tree Bank. Модель не включает задачи, связанные с Википедией, потому что они уже включены в обучающие данные модели, и одномиллиардный набор данных также исключается, потому что он вызывает значительное трение из-за нахождения набора данных в обучающих данных. Однако набор данных PTB решает эти проблемы, так как он может предшествовать современному интернету. Самая крупная модель в архитектуре модели GPT-3 показывает новый SOTA на наборе данных PTB с заметным отрывом в 15 пунктов и достигает перплексии 20,50.

LAMBADA

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

Модель GPT-3 достигает точности 76% на наборе данных LAMBADA и имеет преимущество более 8% перед предыдущими лучшими моделями. Кроме того, модель LAMBADA демонстрирует гибкость обучения с небольшим числом примеров, так как она решает проблему так, как это происходит классически с набором данных. Завершение предложения в LAMBADA обычно является последним словом предложения, но поскольку языковая модель не может знать это, она присваивает вероятность не только правильному окончанию, но и другим продолжениям в абзаце.

Кроме того, когда примеры, подаваемые на модель GPT-3, изменяются определенным образом, модель возвращает точность более 86%, что является увеличением более чем на 18% по сравнению с предыдущими моделями. Кроме того, результаты также показали, что производительность модели в режиме обучения с небольшим числом примеров пропорционально увеличивается с увеличением размера модели. Хотя эта стратегия уменьшает самую маленькую модель в архитектуре GPT-3 на 20%, она повышает точность основной модели GPT-3 с 175 миллиардами параметров на 10%.

Ответы на закрытые вопросы

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

На приведенной выше картинке показаны результаты модели GPT-3 в сравнении с различными моделями и работой на разных наборах данных. На наборе данных TriviaQA модель достигает точности 64,3% в режиме нулевой подготовки, а точность составляет 68% и 71,2% в режиме одного и нескольких примеров соответственно.

Явно видно, что модель GPT-3 в режиме нулевой подготовки превосходит настроенную модель T5-11B на 14%.

Приведенная выше диаграмма показывает, что производительность модели GPT-3 плавно растет с увеличением ее размера. Это свидетельствует о том, что языковые модели продолжают учиться на основе набора данных с увеличением их мощности.

Заключительные мысли

Можно сказать, что GPT-3 стал революционным этапом в индустрии LLM, так как GPT-3 помогла расширить возможности языковой модели. Благодаря достижениям и преодоленным препятствиям, GPT-3 открыл путь к самой передовой и точной большой языковой модели на сегодняшний день – GPT-4.