LLM превосходно работают с очень небольшими наборами данных, но классические подходы проявляют себя лучше по мере роста наборов данных.

Команда Toloka ML постоянно исследует и сравнивает различные подходы к классификации текста в различных условиях. Здесь мы представляем еще один из наших экспериментов по производительности моделей НЛП при обучении на очень малых наборах данных.

Ранее мы предоставили краткий обзор возможных решений и сравнили классические модели с моделями больших языков (LLM) для конкретной задачи классификации текста. Однако эти сравнения были основаны на обычном наборе данных, который содержал достаточно точек данных для создания надежного классификатора. В реальных сценариях вы можете столкнуться с ситуациями, когда доступны ограниченные данные или человеческая маркировка не была выполнена.

Интуитивно понятно, что LLM, такие как GPT-3 или ChatGPT, могут превзойти более мелкие модели из-за их обширных «знаний». Чтобы проверить эту гипотезу, мы создали искусственно малый набор данных, извлекая часть большего, и сравнили несколько подходов. Мы доработали базовую модель RoBERTa, использовали ChatGPT для классификации нескольких выстрелов и доработали модель Бэббиджа GPT-3.

Набор данных

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

Мы выбрали набор данных WOS-11967 [1], который содержит 11 967 документов с 35 категориями, включая семь основных категорий: медицина, психология, информатика, биохимия, электротехника, гражданские науки и машиностроение. Мы выбрали 10 000 точек данных и сосредоточились исключительно на родительских категориях для нашего анализа.

Хотя набор данных не был идеально сбалансирован, распределение классов было достаточно пропорциональным. Таким образом, удовлетворительные результаты потенциально могут быть достигнуты во всех классах. Распределение классов показано ниже.

При ручном анализе мы обнаружили, что определить предметную область некоторых рефератов было относительно просто, в то время как в других случаях задача усложнялась. Например, статьи по информатике могут обсуждать математические темы, а статьи по психологии могут содержать медицинские или биохимические термины и аббревиатуры, из-за чего их трудно отличить от биохимии или медицинских областей. Резюме также значительно различались по длине: в среднем 274 токена (токены ChatGPT) и стандартное отклонение 115 токенов.

Чтобы смоделировать сценарии, включающие очень малые наборы данных, мы выполнили разбиение корпусов на обучающие тесты и выделили небольшое количество образцов для обучающего набора. Мы повторили этот процесс три раза с разными размерами тренировочного набора, чтобы оценить любые изменения в производительности моделей на основе доступных обучающих данных. Для нашего эксперимента мы создали три разделения: WOS-11967-s200 (200 образцов в обучающем наборе, 9800 образцов в тестовом наборе), WOS-11967-s500 (500/9500) и WOS-11967-s2000 (2000/8000). ).

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

Регулярная тонкая настройка с RoBERTa

Для нашей базовой линии мы выбрали модель база RoBERTa [2] и настроили ее на трех наборах данных, упомянутых ранее. Мы использовали одну и ту же конфигурацию гиперпараметров для каждого запуска (размер пакета 32, скорость обучения 3e-5, линейный планировщик с прогревом и окно с 256 токенами), а также раннюю остановку для предотвращения переобучения.

Мы получили следующие результаты:

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

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

Несколько выстрелов с ChatGPT

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

Однако было невозможно передать все 200 выборок в модель из-за ограничения размера контекста в 4096 токенов. Учитывая приведенные выше измерения, мы смогли представить модели только около 14 тезисов. Это число было дополнительно уменьшено при рассмотрении токенов, используемых для инструкций и разделителей.

Первоначально мы использовали «системную» роль для инструкций и предоставили один пример для каждого класса, чтобы определить реакцию модели. Мы упростили имена классов до отдельных токенов, сохранив при этом их значение. Это упростило для модели выбор подходящей категории и ограничение вывода одним токеном. Например, «Биохимия» стала «Био», а «Информатика» стала «Компьютером». Кроме того, мы ограничили количество генерируемых токенов, предоставив список классов на выбор и указав модели возвращать токен «Неизвестно», если она не уверена в категории.

В целом, эффективность этого метода была ниже по сравнению с моделью RoBERTa, обученной всего на 200 образцах. Мы заметили, что способность модели к классификации сильно зависит от предоставленной подсказки. Изменение одного предложения может как улучшить, так и ухудшить показатели. В некоторых случаях ChatGPT пропускал категории, несмотря на явные инструкции не делать этого (что может быть недостатком того, как мы сформулировали наше приглашение).

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

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

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

Этот подход позволил нам ввести в модель больше обучающих выборок данных; и это сработало — мы повысили показатели примерно на 10%. Ниже приведена подсказка, которую мы использовали для создания этих сводок:

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

Тем не менее, мы проинструктировали модель отвечать «Неизвестно», если она не уверена в классе. В контрольном наборе мы заметили, что большинство ответов «Неизвестно» соответствовало статьям по информатике. Затем мы заменили все «неизвестные» экземпляры классом «компьютер».

В результате классификационная подсказка выглядела следующим образом:

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

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

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

Тонкая настройка модели GPT-3

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

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

Заключение

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

Однако различия в производительности уменьшаются по мере увеличения размера набора данных. Более того, правильно подобранная классическая модель, такая как модель RoBERTa, адаптированная к предметной области, иногда может превзойти общие LLM в задачах классификации. Это можно объяснить специализированным «знанием» модели предмета. Кроме того, при правильной оптимизации вывод с использованием этих моделей может быть значительно быстрее, что имеет решающее значение при разработке онлайн-сервисов.

Все изображения, если не указано иное, принадлежат автору.

Источники

  1. Ковсари К., Браун Д.Е., Хейдарисафа М., Джафари Мейманди К., Гербер М.С., Барнс Л.Е. HDLTex: иерархическое глубокое обучение для классификации текста. В: Машинное обучение и приложения (ICMLA), 16-я международная конференция IEEE, 2017 г.. ИЭЭЭ; 2017.
  2. Лю Ю., Отт М., Гоял Н. и др. RoBERTa: Надежно оптимизированный подход к предтренировке BERT. КоRR. 2019;абс/1907.11692. http://arxiv.org/abs/1907.11692