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