Студент превзошел учителя: как ИИ создает базы знаний лучше человека

Yannic Kilcher 25 тыс. 45 мин 7 мин 24.10.2021
Главное

В своем новом обзоре популярный ИИ-блогер Янник Кильхер (Yannic Kilcher) подробно разбирает прорывное исследование ученых из Вашингтонского университета и Института искусственного интеллекта Аллена. Работа под названием «Symbolic Knowledge Distillation» описывает революционный подход к автоматическому созданию баз знаний здравого смысла с помощью больших языковых моделей. Ключевая идея заключается в переходе от классической схемы обучения машин на человеческих данных к циклу «от машины к корпусу и снова к машине», где искусственный интеллект выступает одновременно и автором данных, и их цензором.

🧠 Смена парадигмы: от человеческого труда к ИИ-генерации 0:00

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

Янник Кильхер противопоставляет этот метод старой парадигме:

По словам ведущего, результаты исследования оказались весьма интригующими: дистиллированная компактная модель в итоге работает не только лучше моделей, обученных на человеческих данных, но даже превосходит своего собственного «учителя» в лице GPT-3. Секрет успеха кроется в хитром комбинировании промпт-инжиниринга, фильтрации и точечного, стратегического привлечения людей для оценки качества данных. По мнению Кильхера, этот пайплайн может послужить готовым рецептом для решения самого широкого спектра задач в области обработки естественного языка (NLP).

🎭 Анатомия здравого смысла: события, отношения и инференс 4:17

Прежде чем переходить к технической реализации, необходимо понять, что именно авторы подразумевают под «символическим знанием здравого смысла». В рамках данного исследования знание кодируется в виде триплета: Событие (Event) — Отношение (Relation) — Инференс (Inference).

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

Янник Кильхер приводит наглядные примеры таких триплетов:

Событие: «X начинает бегать» $\rightarrow$ Отношение: effect $\rightarrow$ Инференс: «X приходит в хорошую форму».

Событие: «X ниму кому не нравится» $\rightarrow$ Отношение: react $\rightarrow$ Инференс: «X чувствует себя одиноко».

Здесь нет жесткой математической логики — инференс является лишь вероятным, понятным любому человеку исходом. Исторически главным подспорьем в этой области был созданный людьми датасет Atomic 2020. Модель, обученная непосредственно на этом человеческом датасете, называется Comet 2020, и именно она выступает в качестве базового уровня (baseline) для сравнения. Цель авторов — создать новый корпус Atomic 10x (в 10 раз больше человеческого) и обучить модель Comet Distill, которая превзойдет предшественников по всем статьям.

🛠️ Пошаговый туториал: генерация базы событий через умный промптинг 12:33

Первым практическим шагом алгоритма Symbolic Knowledge Distillation является масштабная генерация уникальных бытовых событий. Для этого авторы используют GPT-3 не через дообучение, а через строго структурированные запросы (Few-Shot Prompting). В процессе исследования были обнаружены важные технические параметры и хаки промпт-инжиниринга, существенно влияющие на качество:

  1. Нумерация примеров: Использование явных числовых индексов (1, 2, 3...) в промпте критически важно. Как утверждают авторы, это заставляет GPT-3 жестко следовать заданной структуре и шаблону.
  2. Замена переменных на имена: Замена абстрактных переменных «X» и «Y» на обычные человеческие имена (например, Алекс, Тейлор) в теле примеров значительно повышает качество генерации.

Сам процесс генерации базы событий выглядит следующим образом:

Используя всего 100 исходных человеческих примеров в качестве «затравки», авторы сгенерировали 165 000 уникальных событий. Для сравнения: весь человеческий корпус Atomic 2020 содержит лишь 6,2 тысячи уникальных базовых событий.

📊 Фабрика триплетов: создание датасета Atomic 10x 18:28

После того как 165 тысяч событий получены, их необходимо превратить в полноценные триплеты, то есть дописать к ним логические инференсы по каждому из 7 каузальных отношений. Здесь снова применяется Few-Shot промптинг, но со специальным текстовым шаблоном для каждого типа связи.

Например, для отношения need (потребность) авторы создали текстовое представление «Prerequisites for this to happen» (Предпосылки для того, чтобы это произошло). Промпт для GPT-3 собирается по следующей схеме:

В целях экономии бюджета авторы использовали не самую большую и дорогую версию GPT-3, а вторую по старшинству модель в линейке OpenAI. Повторив этот процесс для всех сгенерированных событий и комбинаций отношений, исследователи получили гигантский массив из 6,46 миллиона триплетов здравого смысла. Этот массив назвали Atomic 10x, так как он на порядок превосходит по объему оригинальный Atomic 2020, содержащий всего около 600 000 триплетов. При этом финансовая стоимость его создания оказалась ничтожно малой долей от затрат на оплату краудсорсинга для ручного сбора.

🕵️‍♂️ Появление критика: фильтрация брака с помощью RoBERTa-large 26:55

Несмотря на колоссальный объем, сырой массив данных от GPT-3 имеет очевидный недостаток — его качество «из коробки» несколько ниже человеческого. Согласно ручной оценке валидаторами, уровень одобрения (accept rate) сырых триплетов GPT-3 составил 78%, тогда как у человеческого датасета он держится на уровне 85%. Оставшиеся 22% приходятся на два типа ИИ-брака:

Чтобы решить эту проблему, авторы вводят в цепочку Критика (Critic). Математически это означает, что базовая вероятность генерации токена языковой моделью умножается на оценку валидности от модели-критика.

На этом этапе ученые стратегически привлекают минимальный объем человеческого труда. Они взяли случайные 10 000 записей из полученного ИИ-корпуса и попросили людей просто разметить их бинарно: «адекватно» или «мусор». Причем для экономии собиралась всего одна оценка на триплет (шумная разметка). На этих 10 000 примеров была обучена модель-классификатор RoBERTa-large, ставшая суровым критиком.

Применяя критика с разной степенью жесткости отсечения (cutoff), инженеры получили поразительные результаты:

Янник Кильхер с иронией подмечает забавный феномен: при усилении фильтрации разнообразие данных (diversity) в датасете только выросло. По его мнению, это доказывает, что «весь мусор, генерируемый GPT-3, одинаков и монотонен», в то время как удачные генерации модели глубоко уникальны и разнообразны.

🎓 Финал дистилляции: компактный студент превосходит учителя 36:35

Финальный аккорд исследования — возвращение от терабайтов текстов к компактной локальной модели. Вместо того чтобы каждый раз отправлять дорогостоящие запросы к API OpenAI и мучаться с промптами, авторы взяли скромную модель GPT-2 и обучили ее на базе данных Atomic 10x напрямую предсказывать текст инференса по поданному в контекст событию и отношению.

Результаты финального тестирования на валидационной выборке силами независимых людей-экспертов зафиксировали триумф алгоритма:

Таким образом, маленькая локальная модель GPT-2, прошедшая процедуру Symbolic Knowledge Distillation, оказалась умнее и точнее в генерации суждений здравого смысла, чем огромная базовая GPT-3 и модели, построенные на ручном труде сотен людей.

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

💬 Цитаты

«Маленькая обученная модель может быть намного меньше, чем GPT-3, потому что она натренирована строго под конкретную задачу, и вам не придется платить OpenAI каждый раз при ее вызове.»

Янник Кильхер 37:52

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

Янник Кильхер 34:47
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Символический граф знаний
Структурированная база данных, в которой понятия и объекты представлены в виде узлов, а логические или каузальные связи между ними — в виде ребер.
Дистилляция знаний (Knowledge Distillation)
Метод переноса знаний из крупной, вычислительно сложной модели (учителя) в более компактную и быструю модель (студента).
Nucleus Sampling (Top-p)
Метод генерации текста, при котором модель выбирает следующее слово только из подмножества наиболее вероятных токенов, суммарная вероятность которых достигает порога p.
Инференс (Inference)
В контексте статьи — логический вывод, следствие или предсказание, полученное на основе исходного события и типа связи.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Symbolic Knowledge Distillation GPT-3 RoBERTa-large Янник Кильхер Atomic 2020