Выбрать главу

В одной из исследовательских групп Google под руководством Якова Девлина возникла такая идея. Что если, вместо того чтобы обучать трансформер предсказывать следующий токен в последовательности (как это делал GPT), использовать только энкодерную часть и обучать его на другой задаче — предсказывать пропущенные слова в середине предложения?

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

Модель эту назвали BERT — Bidirectional Encoder Representations from Transformers. Девлин с коллегами опубликовали статью в октябре 2018 года, через четыре месяца после GPT-1. Результаты были ещё более впечатляющими: BERT побил state-of-the-art на одиннадцати из одиннадцати задач, на которых тестировался. Причём на нескольких — с большим отрывом.

В академическом сообществе эффект был мгновенный. BERT за несколько недель стал самой обсуждаемой моделью в обработке естественного языка. Google выложил веса модели в открытый доступ; за месяц её скачали и стали использовать тысячи компаний по всему миру. Для большинства специалистов BERT в конце 2018 года был просто новым стандартом: любая система, работающая с английским текстом, должна была использовать BERT-овские эмбеддинги.

GPT-1 на этом фоне выглядел блекло. Он был меньше (BERT-large имел триста сорок миллионов параметров против ста семнадцати у GPT-1), он работал на чуть других задачах, он принадлежал маленькой лаборатории в Сан-Франциско, а не корпоративному гиганту. В большинстве обзоров обработки естественного языка конца 2018 года GPT-1 упоминался коротко, BERT — обстоятельно.

Если бы в этот момент кто-нибудь спросил у среднего исследователя, какая из двух работ важнее, ответ был бы — BERT. Очевидно BERT. Без сомнения BERT.

Выбор OpenAI

GPT и BERT: два направления

В OpenAI после октябрьского BERT-а наступила пара недель внутренних дискуссий. Что делать дальше? Стоит ли переключаться на BERT-овскую парадигму, тем более что в Google открыли веса и поделились кодом? Или продолжать собственную линию, GPT-направление?

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

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

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

Кроме того, в идее «модель, порождающая язык» было что-то философски привлекательное. Не маленький инструмент для конкретной задачи; а нечто вроде универсального синтезатора текста, который может приспособиться к чему угодно. Это резонировало с долгосрочной миссией OpenAI: построить AGI, общий искусственный интеллект.

Поэтому в OpenAI решили: продолжаем GPT. Будем масштабировать. Делать больше, обучать на большем массиве данных. Алек получил поддержку и начал готовить вторую итерацию.

В коридоре что-то происходит

Год 2018-й закончился для OpenAI странным эмоциональным состоянием. С одной стороны, у них впервые был результат, на который можно было всерьёз указать: GPT-1 работал, был опубликован, цитировался. С другой стороны, BERT-овская волна затмевала их, и в академических кругах их по-прежнему воспринимали как небольшую частную лабораторию с большими амбициями и средними результатами.

В феврале 2018 года из OpenAI ушёл Илон Маск. Формальная причина: возникающий конфликт интересов с его работой в Tesla, где разрабатывался автопилот с использованием нейронных сетей. Реальные причины, вышедшие наружу значительно позже, были сложнее. Маск, по слухам, хотел получить личный контроль над OpenAI и был раздражён, что Альтман и Брокман отказались ему его дать. Был один или несколько неприятных разговоров. Маск ушёл с поста сопредседателя совета. Финансирование с его стороны после этого продолжалось ещё некоторое время, но в значительно меньшем объёме, чем планировалось изначально.