По крайней мере, на эту работу придут роботы.

Одной из основных задач команды Criteo CAMLET (каталог и прикладное машинное обучение — обогащение и текст) является ежедневное обогащение более 2 миллиардов продуктов для создания одного изкрупнейших электронных -торговые каталоги по всему миру: более 25 миллиардов товаров. Эти продукты предоставляются нашими партнерами по электронной коммерции и изначально содержат некоторую информацию, которую мы стандартизируем, дополняем и совершенствуем с помощью машинного обучения. Один из таких шагов состоит в извлечении атрибутов товара на основе его названия и описания — например, определение цвета платья, жанра видеоигры или размера телевизора. эм>

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

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

Учитывая большое разнообразие данных, которые должны обрабатывать наши модели — десятки тысяч партнеров по электронной торговле, предоставляющих десятки миллиардов товаров с тысячами категорий. strong> и более дюжины языков — каждая из этих моделей требует огромного количества обучающих данных, которые необходимо аннотировать. Как и большинство компаний, столкнувшихся с этой проблемой, Criteo полагается на третьих лиц, предлагающих услуги по аннотации. После того, как группе аннотаторов назначена задача, их необходимо обучить тому, что ожидается для этого конкретного обогащения и набора данных, прежде чем вручную добавлять ожидаемые результаты к десяткам тысяч образцов продуктов. Этот процесс очень трудоемок. дорого и долго, но, что хуже всего, предоставляют очень зашумленные данные с большим количеством как ложноположительных, так и ложноотрицательных результатов. Действительно, процесс аннотирования часто неоднозначен, и трудно обеспечить, чтобы все аннотаторы предоставляли согласованные результаты, и избежать ошибок из-за повторяющегося характера их задачи.

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

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

Модели с нулевым выстрелом

Наиболее впечатляющие модели обработки естественного языка за последние несколько лет в основном были основаны на архитектуре transformers. Модели Transformers основаны на умном механизме внимания, который позволяет им правильно представлять, насколько каждое слово в предложении связано с любым другим. При наличии достаточного количества параметров такие модели преобразователей способны изучить структуру человеческого письма и большую часть мировых отношений, встроенных в письменный корпус Интернета. Обучение таких моделей с нуля — очень дорогостоящее мероприятие, недоступное большинству групп, интересующихся обработкой естественного языка (NLP). Однако их можно обучать с самоконтролем на огромном количестве неструктурированных данных, загруженных из Интернета, путем маскирования некоторых слов в данном предложении и запроса модели на предсказание этих слов. Трансформеры, предварительно обученные исследовательскими группами ИИ с обширными ресурсами, часто имеют открытый исходный код и предоставляются общественности. Затем эти модели можно использовать для решения многих не связанных между собой проблем с помощью переносного обучения: во-первых, удалите верхний слой модели — ее голову — и замените ее слоем, предназначенным для новой задачи НЛП, такой как классификация описание продукта в категорию продукта. Затем, настроив модель на нескольких тысячах аннотированных примеров для новой задачи, можно достичь современных результатов в широком диапазоне последующих задач. .

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

В конце 2021 года компания Hugging Face выпустила значительно более легкую модель T0PP[2], заявив о производительности, близкой к GPT-3, в широком спектре нисходящих задач, несмотря на использование всего 11 миллиардов параметров. . Это было достигнуто путем преобразования большинства наборов данных НЛП с открытым исходным кодом в подсказки на естественном языке и использования их в качестве обучающих данных для своей модели. Полученная модель гораздо менее универсальна, чем GPT-3, и попытка использовать эту модель, например, для генерации текста в произвольной форме, дает гораздо менее впечатляющие результаты. Тем не менее, T0PP очень хорошо справляется с большинством стандартных задач НЛП и может обобщать данные, выходящие далеко за рамки обучающего набора данных, без какой-либо тонкой настройки.

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

Но подождите: если T0PP может выполнять такие задачи напрямую, почему мы не можем использовать его для замены всех остальных моделей? К сожалению, T0PP и его 11 миллиардов параметров остаются намного больше, чем стандартные модели трансформаторов, такие как Bert и его 250 миллионов параметров. Модель может быть загружена только в память новейших графических процессоров промышленного уровня, таких как A100 от NVIDIA. Поскольку у нас не было доступных графических процессоров такого калибра, нам пришлось довольствоваться выводами процессора, каждый из которых занимал около 5 секунд. Хотя этого достаточно, чтобы создать от нескольких тысяч до десятков тысяч примеров за несколько часов или дней, это как минимум на 4 порядка медленнее, чем нам нужно для обогащения всех наших ежедневных продуктов. Нам просто нужно будет довольствоваться созданием высококачественных обучающих данных за небольшую часть стоимости, к которой мы привыкли сейчас.

Препроцессинг и постобработка

Учитывая общий характер T0PP, такой подход, вероятно, подойдет для широкого круга задач и дополнений НЛП. Первоначально мы решили сосредоточиться на создании данных для обогащения Product ATtributes Extraction (PATE), создание высококачественных данных для обучения было проблемой в Criteo в прошлом году. Учитывая категорию продуктов, цель PATE состоит в том, чтобы найти модальности атрибутов в заголовке и описании продукта. Например, мы можем захотеть найти вхождения цветов в описаниях платьев или разрешения в описаниях телевизоров. Для каждой категории товаров заранее определяется список атрибутов (т. е. цвет, длина платья и материал для платья), и цель наших моделей — классифицировать товар по соответствующим модальностям.

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

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

  1. Отменить все прогнозы T0PP, которых нет в соответствующем тексте продукта. T0PP пытается предсказать наиболее вероятный ответ на наши вопросы, что может позволить ему найти полезные данные, которых нет в тексте. Например, на запрос найти производителя автомобиля Focus T0PP может сделать вывод, что это Ford. Однако на вопрос о цвете платья, у которого нет такой информации, T0PP даст вероятный ответ, например «Синий», независимо от его точности. Отбрасывание всех творческих ответов позволяет нам значительно уменьшить количество ложных срабатываний в нашем наборе данных.
  2. Сгруппируйте все прогнозы T0PP для данного атрибута по частоте и отбросьте все прогнозы ниже порогового значения, которое определяется вручную путем быстрого просмотра отсортированного списка. T0PP может иметь катастрофические сбои с бессмысленными ответами, а прогнозы, которые случаются очень редко, часто неуместны. Вдобавок ко всему, сохранение сотен модальностей часто дает очень небольшую добавленную стоимость, и часто лучше ограничить возможные ценности несколькими десятками наиболее релевантных модальностей.
  3. Вручную просмотрите полученный список, чтобы удалить ненужные модальности, которые обычно представляют собой либо простые неправильные ответы, либо подкатегории другой модальности (например, при наличии консоли «PlayStation 4 Pro» обычно лучше оставить только часть «PlayStation 4» , что в любом случае будет более частым модальностью)

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

Анализ результатов

До сих пор мы рассмотрели только несколько примеров, уточняя наши первоначальные подсказки. Чтобы проверить полезность данных, мы отправили необработанный первоначальный набор данных о продуктах видеоигр для аннотаций, используя наш обычный конвейер с использованием аннотаторов-людей, и сравнили его с набором данных после обработки, созданным с помощью T0PP. Мы сами проанализировали каждую разницу в предсказании более чем на 600 примерах, классифицировав их либо как ошибки T0PP, либо как человеческие ошибки. Мы обнаружили, что прогнозы T0PP не только сохраняют точность более 95% для каждого атрибута, общая точность прогнозов T0PP даже выше, чем точность человеческих аннотаций. T0PP допустил некоторые ошибки из-за отсутствия некоторого подразумеваемого контекста, например, предсказал, что франшизой игры будет «SimCity», когда в описании продукта содержалось предложение «Создайте свой собственный город в стиле SimCity». Однако такие ошибки случались гораздо реже, чем ошибки, допущенные людьми из-за несоответствия, пропущенных кликов или просто незнания предметной области.

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

Хотя результаты этого нового подхода чрезвычайно многообещающи и позволят нам масштабировать многочисленные продукты намного дальше того, что мы считали возможным, при работе с большими языковыми моделями очень важно помнить о потенциальных предубеждениях, связанных с корпусом данных, используемым для их обучения. Здесь мы можем приветствовать HuggingFace за предоставление анализа предвзятости и справедливости для каждой из их моделей. T0PP не является исключением, и предубеждения, встроенные либо в интернет-данные, используемые для обучения исходного T5 [3], либо в общедоступные наборы данных Hugging Face, используемые для обучения T5 в T0PP, влияют на результирующую модель. Человеческий контроль извлеченных данных остается необходимым шагом для отслеживания и уменьшения таких предубеждений в наших собственных моделях.

Спасибо за прочтение!

Хотите работать с нашей командой? Criteo набирает сотрудников!



Библиография

[1] Языковые модели — это малоэффективные ученики, Том Б. Браун, Бенджамин Манн, Ник Райдер, Мелани Суббиа и др.

[2] Многозадачное обучение с подсказкой позволяет обобщать задачи с нулевым выстрелом, Виктор Сань, Альберт Вебсон, Колин Раффель и др.

[3] Изучение пределов трансферного обучения с помощью унифицированного преобразователя текста в текст, Колин Раффел, Ноам Шазир, Адам Робертс, Кэтрин Ли и др.