В июне 2017 года они были просто восемью инженерами, написавшими хорошую статью. Через неделю после публикации они уже занимались следующими проектами. Жизнь, как ей и положено, продолжалась.
А статья тем временем уходила в плавание. Через месяц после публикации её прочёл, в частности, один молодой исследователь из Сан-Франциско. Он работал в небольшой лаборатории под названием OpenAI, и в этой лаборатории, как мы помним, к лету 2017 года было много денег, много талантливых людей и совершенно отсутствовала ясная стратегия.
Молодого исследователя звали Алек Радфорд. Он прочитал препринт «Attention Is All You Need», подумал день или два, и понял, что у него появилась идея.
Алек Радфорд, OpenAI
Глава 7
Первая ставка OpenAI
Наша работа состоит из двух существующих идей: трансформеров и предобучения без учителя.
Алек Радфорд не был похож на типичных молодых звёзд Кремниевой долины. Не было ни эффектной биографии, ни диплома Стэнфорда, ни послужного списка в крупных корпорациях. Он учился в Олин-колледже — небольшом инженерном учебном заведении в штате Массачусетс, известном среди узких специалистов по необычной программе обучения, но широкой публике неизвестном; колледж он так и не закончил, бросил в 2014 году. У него не было докторской степени. Он не был блестящим лектором. На фотографиях, которые редко попадают в прессу, он выглядит как тихий, сосредоточенный человек чуть за тридцать, в скромной футболке, не делающий ничего, чтобы привлечь к себе внимание.
В OpenAI Алек пришёл в 2016 году, через полгода после её основания. До этого он со студенческими друзьями сооснововал стартап Indico Data в Бостоне — компанию, которую они запустили ещё в общежитии Олин-колледжа и которая занималась прикладным машинным обучением для бизнес-задач. На собеседовании в OpenAI его взяли на относительно скромную позицию исследователя. Никто из руководства организации в тот момент не подозревал, что только что нанятый ими двадцатидвухлетний инженер за следующие шесть лет окажется ведущим автором четырёх или пяти статей, изменивших всю отрасль.
В первый год работы в OpenAI Алек делал вещи, далёкие от больших языковых моделей. Он занимался обучением без учителя в широком смысле: нейронными сетями, которые учатся выделять структуру из данных, не имея размеченных примеров. Он опубликовал работу о нейронной сети, выучившейся, читая отзывы покупателей с Amazon, представлять тексты в виде векторов; в этой сети, среди многих других тонкостей, нашёлся один нейрон, который при чтении отзыва точно отражал, был отзыв положительным или отрицательным. Никто этого нейрона специально не обучал; он сам нашёл эту структуру в данных. Работа эта прошла относительно тихо, но среди коллег Алек после неё стал известен своей способностью замечать закономерности, которых не видят другие.
А потом был июнь 2017 года.
Алек прочитал препринт «Attention Is All You Need» где-то через неделю после его публикации, внимательно, два-три раза. Потом сел и стал думать.
В исходной статье трансформер был представлен как архитектура для машинного перевода. Encoder — для исходного предложения, decoder — для целевого. Восемь авторов из Google продемонстрировали его на двух конкретных задачах, обе из области перевода. Это было разумно: трансформер у них и задумывался как улучшение для seq2seq, и логично было показать, что он улучшает именно ту задачу, для которой был сделан.
Но Алек прочитал статью под другим углом. Он подумал так. Если из трансформера убрать энкодер и оставить только декодер, что получится? Декодер — это, по сути, генеративная модель. Он умеет читать уже сгенерированную часть последовательности и предсказывать, что должно идти следующим. То есть он умеет делать ровно то, что в 1948 году делал Клод Шеннон со своей книжкой с полки, только в гораздо большем масштабе.
Дальше шла та же логика, которой Илья Суцкевер пользовался ещё с 2010 года. Если у нас есть архитектура, которая хорошо масштабируется, и есть очень много данных без разметки (а Интернет в 2017 году содержал триллионы слов английского текста), почему бы не обучить большую модель просто на задаче предсказывать следующее слово в произвольном тексте? Никакой ручной разметки. Никаких ярлыков. Просто читай Википедию, художественную литературу, новости, форумы, что угодно — и угадывай следующее слово.