Преобразование генеративных задач в задачи классификации

Transforming generative tasks into classification tasks

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

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

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

Способы повышения производительности

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

  1. Мы можем упростить саму задачу творческими способами.
  2. Затем, при возможности, мы можем использовать более простые и компактные модели.
  3. Наконец, мы можем использовать инновационные техники для уменьшения вычислительной сложности с некоторым уменьшением точности.

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

Хотя более крупные модели помогают в генеративных задачах и также в обобщении для разных задач (так называемое трансферное обучение), часто проблемы генерации могут быть сведены к задачам классификации, которыми могут справиться модели в стиле BERT. Другими словами, если мы можем сузить область того, что мы хотим, чтобы модель делала, нам не нужна большая модель для этого. Более компактная модель может быть также точной, и обучать и использовать ее будет гораздо быстрее и дешевле. Однако, если мы хотим, чтобы модель выполняла различные задачи, тогда нам может понадобиться более крупная модель. Это связано с тем, что более крупные модели могут иметь лучшую обобщающую способность (трансферное обучение). В некоторых случаях мы даже можем свести задачу генерации к задаче поиска и извлечения информации.

Кейс-стади: Шаблоны поддержки клиентов

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

Сбор обучающих данных

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

Этап 1: Сбор обучающего набора данных

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

Собранные обучающие данные имеют несколько преимуществ:

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

Обучение моделей классификации

Мы можем обучить модель классификации в три шага:

  1. Настройка задач путем разбиения полученных ответов шаблонов. Это означает разделение ответов шаблонов на отдельные компоненты, такие как слова, фразы и сущности. При разбиении полученных ответов шаблонов необходимо быть осторожным и избегать выбора несоответствующих шаблонов.
  2. Кодирование взаимодействий и шаблонов с использованием SentenceBERT, Word2Vec и т.д. Это означает представление взаимодействий и шаблонов в виде векторов чисел. При кодировании взаимодействий и шаблонов необходимо выбрать технику кодирования, которая сохраняет семантическое значение.
  3. Использование простой и недорогой модели машинного обучения для предсказания лучшего шаблона. Модель может быть простой глубокой нейронной сетью (DNN). При использовании простой и недорогой DNN для предсказания лучшего шаблона необходимо выбрать подходящую DNN. Например, для сложной классификации можно использовать DNN, обученную на большом корпусе текста.

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

Фактически, обученная модель не обязательно должна быть DNN. Она также может быть случайным лесом (классификатором, основанным на XGBoost), который обладает еще большими преимуществами в скорости выполнения и легкости обучения. Преимущества этой модели классификации:

  • Низкая стоимость обучения: Эта модель относительно недорога в обучении по сравнению с другими моделями, такими как глубокие нейронные сети.

  • Низкая стоимость обслуживания: Эта модель также относительно недорога в обслуживании после прохождения обучения.

  • Легкость повторного обучения: Эта модель легко повторно обучается, если появляются новые данные.

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

Фактически, обученная модель не обязательно должна быть DNN. Она также может быть случайным лесом (классификатором, основанным на XGBoost), который известен своей скоростью и точностью выполнения. Каждое дерево решений обучается на разных подмножествах данных, а предсказания отдельных деревьев затем объединяются для получения окончательного предсказания. Такой подход может быть очень эффективным для задач классификации и может также быть очень быстрым в обучении и обслуживании.

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