Инновация

Facebook Blender - чат-бот с открытым исходным кодом, который может обсуждать любую тему

Новый разговорный агент демонстрирует человеческое поведение в разговорах практически на любую тему.

Недавно я начал выпускать образовательный информационный бюллетень, посвященный ИИ, на который уже подписано более 70 000 человек. TheSequence - это информационный бюллетень, ориентированный на ML (то есть без рекламы, без новостей и т. Д.), На чтение которого уходит 5 минут. Наша цель - держать вас в курсе проектов, исследовательских работ и концепций машинного обучения. Пожалуйста, попробуйте, подписавшись ниже:



Понимание естественного языка (NLU) было одной из самых активных областей внедрения современных технологий глубокого обучения. Сегодня у нас есть десятки основных стеков NLU, которые позволяют с минимальными усилиями реализовать достаточно сложные переговорные агенты. Однако подавляющее большинство разговорных моделей по-прежнему сильно ограничены одним предметом. В отрасли эти агенты называются чат-ботами с закрытым доменом. Противоположностью чат-ботам закрытого домена будут агенты, которые могут участвовать в беседах по множеству тем, имитируя человеческий стиль разговора. Мы назвали этот тип агентов чат-ботами с открытым доменом, и их невероятно сложно реализовать. Несколько месяцев назад команда Facebook по исследованию искусственного интеллекта (FAIR) представила исследование и открытый исходный код для Blender, крупнейшего в истории чат-бота с открытым доменом.

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

1) Крупномасштабное предварительное обучение: Сегодня для создания чат-ботов с открытым доменом требуются предварительно обученные модели большого размера. Этот подход был доказан недавними языковыми агентами, такими как Google BERT или Microsoft Turing-NLG.

2) Совмещение навыков. Такие способности, как сочувствие, уникальная личность или контекстуальные знания, необходимы для хорошего разговора.

3) Человеческая субъективность. Не существует эффективного способа количественной оценки разговора, подобного человеческому. В этом мы по-прежнему полагаемся на человеческое суждение. Исследования показали, что субъективные аспекты, такие как длина ответа, могут повлиять на человеческие суждения о качестве.

Блендер

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

Шкала предтренинга

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

Смешивание навыков

Чтобы оценить Blender на предмет различных разговорных навыков, подобных человеческому, команда Facebook полагается на параллельное исследование, известное как Blended Skill Talk (BST). BST - это новый набор данных и эталонный тест для оценки таких способностей, как знания и сочувствие в разговорных агентах. В частности, BST объединяет следующие наборы данных для оценки различных навыков смешивания:

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

Стратегии генерации

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

Блендер Архитектура

Blender - это комбинация трех архитектур Transformer, которые оптимизируют различные аспекты чат-бота с открытым доменом.

1) Retriever: преобразователь Retriever получает в качестве входных данных историю диалогов и выбирает следующее высказывание. Обычно это делается путем выбора наивысшего балла из всех возможных ответов в обучающей выборке.

2) Генератор. Генератор-преобразователь - это модель Seq2Seq, которая генерирует разные ответы, а не выбирает их из набора обучающих данных. Blender использует модели Generator, включенные в текущую версию ParlAI.

3) Извлечь и уточнить. Эта модель преобразователя пытается уточнить реакцию, производимую традиционными генеративными моделями. Как известно, генеративные модели часто вызывают галлюцинации. Используемая архитектура Retrieve and Refine пытается решить эти проблемы, вводя этап извлечения перед этапом генерации и стараясь максимально его уточнить. Blender использует два метода поиска, известные как поиск диалога и поиск знаний.

Блендер в действии

Текущая версия Blender включает различные архитектуры, обученные параметрам 90M, 2.7B и 9.4B соответственно. Неудивительно, что первоначальные тесты показали, что более крупные модели могут достичь более высокой производительности за меньшее количество шагов.

Facebook оценил Blender с помощью различных тестов. В частности, Blender сравнивался с чат-ботом Google Meena с использованием попарных человеческих оценок. Blender превзошел Мину с точки зрения вовлеченности (а) и человечности (б) стиля общения.

Кроме того, Blender также сравнивали с человеческими реакциями, и результаты были сопоставимы. Фактически, до 49% экспертов предпочитали ответы Blender на людей.

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

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