К книге
Токен за токеномГлава 3 Спальня, две видеокарты и одна гипотеза
33%
Глава 3 Спальня, две видеокарты и одна гипотеза
5

Илья считал, что мы должны попробовать. Алекс заставил это работать. А я получил Нобелевскую премию.

Джеффри Хинтон, Нобелевская неделя 2024

Если бы кто-нибудь летом 2012 года заглянул в небольшой канадский дом в северо-западном пригороде Торонто, поднялся на второй этаж и открыл дверь в дальнюю спальню, он увидел бы такую картину. На обычном письменном столе, среди разбросанных бумаг и пустых банок из-под энергетика, стоял системный блок. Корпус был открыт, потому что в маленьком корпусе две видеокарты не помещались, и они торчали наружу из материнской платы, прикрученные к самодельным креплениям. Видеокарты были обычные потребительские, такие же продавались в любом компьютерном магазине: две Nvidia GeForce GTX 580, по три гигабайта памяти каждая. Они тихо, на пределе тепловыделения, гудели вентиляторами. На полу стоял стационарный пылесос, направленный на корпус, чтобы дополнительно охлаждать видеокарты. К стенам были прислонены постеры, которые висели тут с подростковых лет хозяина комнаты. Хозяина в комнате не было: он спал на диване в гостиной, потому что в спальне было слишком жарко.

Хозяина звали Алекс Крижевский, ему было двадцать шесть лет, и видеокарты в его спальне в эти дни обучали нейронную сеть, которой предстояло изменить всё.

Мальчик из Нижнего

Илья Суцкевер, 2023

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

Илья Суцкевер родился в 1986 году в Горьком — городе, в советское время закрытом для иностранцев, известном сегодня под старым названием Нижний Новгород. Семья была еврейская. В 1991 году, когда советский режим обрушился, родители Ильи воспользовались открывшимися возможностями для эмиграции и уехали в Израиль. Ему было пять лет. Детство он провёл в Иерусалиме. В шестнадцать лет семья перебралась снова, на этот раз в Канаду, в Торонто. Илья закончил местную старшую школу и поступил в Торонтский университет.

С математикой у него отношения сложились сразу. Преподаватели вспоминали потом, что такой студент встречается один на курс, в лучшем случае. Из тех, кому не нужно объяснять, а нужно только рассказать формулировку, и через пять минут он сам предложит решение, причём такое, какое не приходило в голову лектору. На третьем курсе Илья пришёл к Джеффри Хинтону.

Хинтону тогда было около шестидесяти. Он происходил из старинной английской интеллектуальной династии: его прапрадед Джордж Буль был тем самым автором булевой алгебры, без которой не было бы шенноновой магистерской диссертации 1937 года; прадед был математиком, дед — горным инженером и ботаником в Мексике, отец энтомологом. Сам Джеффри родился в Уимблдоне в 1947 году, защитился в Эдинбургском университете по нейронным сетям в семидесятые годы, когда это направление считалось безнадёжным, и преподавал сначала в Карнеги-Меллон, а с 1987 года в Торонто. Его лаборатория была одним из немногих мест в мире, где нейронные сети всё ещё изучались всерьёз.

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

Гипотеза

К концу нулевых годов Хинтонова группа разрабатывала так называемые глубокие сети доверия, deep belief networks. Это были многослойные нейронные сети, обучавшиеся в два этапа: сначала каждый слой по отдельности и без учителя, потом вся сеть целиком. Подход работал, но не блестяще. На тестовых задачах группе удавалось обходить лучшие классические методы на считанные проценты. На больших задачах никто из них своих сетей пока не пробовал, потому что для больших задач у них не хватало вычислительной мощности.

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

Большинство специалистов по машинному обучению того времени считали, что качество модели зависит прежде всего от идеи: какую архитектуру выбрать, какие признаки извлекать вручную, какой алгоритм оптимизации использовать. Размер модели и количество данных играли роль, но не главную. Главное было — придумать правильную теорию.

Илья думал ровно наоборот. Он считал, что главное — размер. Если нейронная сеть достаточно глубока и достаточно велика, и если у неё достаточно данных для обучения, и достаточно вычислительной мощности, чтобы это обучение довести до конца, то такая сеть сможет решить почти любую разумную задачу. Архитектурные детали важны, но второстепенны. Главное — масштаб.

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

ImageNet

Фей-Фей Ли, 2017

Чтобы проверить гипотезу Ильи, нужны были две вещи: достаточно большой набор данных и достаточно мощное железо. К 2012 году в мире как раз появилось и то, и другое.

Большой набор данных назывался ImageNet. Его собрала команда аспирантов под руководством Фей-Фей Ли, тогда профессора Принстона, потом перешедшей в Стэнфорд. Идея была простая. Чтобы машины научились распознавать предметы на фотографиях, им нужны миллионы примеров с подписями. Команда Ли воспользовалась платформой Amazon Mechanical Turk, где можно за небольшую плату нанимать тысячи людей по всему миру для выполнения коротких рутинных заданий. В течение нескольких лет тысячи таких работников вручную классифицировали миллионы картинок, скачанных из открытых источников интернета. К 2010 году база данных насчитывала четырнадцать миллионов изображений, разнесённых по двадцати тысячам категорий: породы собак, виды грибов, марки автомобилей, разновидности насекомых, инструменты, мебель, всё на свете.

В качестве дополнительной услуги научному сообществу команда ImageNet запустила ежегодное соревнование под названием ILSVRC. Участникам давали примерно полтора миллиона картинок из тысячи категорий, поделённых на обучающий и тестовый наборы. Задача: написать программу, которая для каждой картинки тестового набора предсказывает её категорию. Победителем считался тот, у кого top-5 error rate (доля картинок, для которых правильная категория не попала в первые пять предсказанных) оказывался наименьшим. Соревнование проходило с 2010 года. В первые два года побеждали системы, основанные на классическом подходе: ручная разработка признаков и классификация методом опорных векторов. В 2011 году победителю удалось довести top-5 error до 25,8 процента. Прогресс год от года был, но крошечный.

На семинарах лаборатории Хинтона про ImageNet говорили как про серьёзный челлендж, который однажды надо будет попробовать. Кто-то из присутствовавших аспирантов однажды сказал, что для этой задачи, наверное, через несколько лет получится написать нейросеть, которая будет конкурентоспособна с классическими методами. Илья сказал на это что-то в духе: не через несколько лет, а в этом году. И посмотрел на Алекса.

Алекс

Алекс Крижевский, 2018

Алекс Крижевский тоже родился в Советском Союзе, в Киеве, в 1986 году, в семье украинских евреев. В детстве, как и Илья, он уехал с родителями в Израиль, потом в Канаду. Они с Ильёй были ровесниками, учились на одном курсе в Торонто, оба попали в группу Хинтона. Внешне и по характеру они были очень разными. Илья — высокий, сосредоточенный, склонный к долгим разговорам про природу интеллекта, относящийся ко всему происходящему с серьёзностью, граничащей с религиозной. Алекс — короткий, замкнутый, ироничный, нелюбящий разговоры в принципе. Илья был теоретик, Алекс был инженер.

Но Алекс был не просто инженер. Он был тот редкий тип инженера, который умеет писать чудовищно быстрый низкоуровневый код. К 2011 году он уже написал на CUDA, графическом API компании Nvidia, библиотеку под названием cuda-convnet, позволявшую обучать свёрточные нейронные сети на одной видеокарте, и обучил с её помощью небольшую сеть для задачи распознавания изображений CIFAR-10 (шестьдесят тысяч картинок десяти категорий). Сеть работала и работала быстро. По меркам начала десятых годов это было заметное техническое достижение, потому что почти весь мир тогда обучал нейронные сети на центральных процессорах, и часами.

Гипотезу Ильи про размер Алекс воспринял со здоровым инженерным скепсисом. Если сеть будет достаточно большой, она, может быть, что-то и сможет, согласился он. Но кто сказал, что её получится обучить? На видеокартах с тремя гигабайтами памяти? За разумное время? На полутора миллионах картинок? Это всё очень сомнительно, сказал Алекс. Но если Илья настаивает, и Хинтон не против, можно попробовать.

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

Пять дней

Архитектура, которую Алекс с Ильёй спроектировали, состояла из восьми слоёв: пять свёрточных и три полносвязных. По нынешним меркам это смехотворно мало, но по тогдашним — рекорд. Шестьдесят миллионов параметров. Шестьсот пятьдесят тысяч искусственных нейронов. Для сравнения: тогдашние «большие» нейросети имели по два-три слоя и сотни тысяч параметров.

AlexNet: восемь слоёв свёрток и полносвязных

В одну видеокарту GTX 580 с её тремя гигабайтами памяти эта сеть не помещалась. Алекс придумал хитрый трюк: разрезал сеть пополам, чтобы каждая половина обучалась на своей видеокарте, а в нескольких точках обе половины обменивались промежуточными результатами. Это потребовало нетривиальных правок в cuda-convnet и почти двух месяцев отладки. Алекс работал в спальне у родителей, в которой ещё с подростковых лет стоял его компьютер и куда он вернулся после ухода из академического общежития ради экономии. Видеокарты он купил на стипендию.

Помимо размера сети, авторы использовали несколько технических трюков, многие из которых стали потом стандартными. Функция активации под названием ReLU — простая, как штакетник, и в десять раз ускоряющая обучение по сравнению с тогдашней нормой. Регуляризация через случайное отключение нейронов под названием dropout, изобретённая в той же лаборатории Хинтона. Расширение обучающего набора через геометрические преобразования картинок. По отдельности всё это уже было известно, но в одной сети ещё никто не собирал.

Одно полное обучение сети занимало пять или шесть дней непрерывной работы двух видеокарт на максимальной нагрузке. Лето в Торонто было жаркое. Кондиционера в комнате не было. Алекс ставил вентилятор, потом второй, потом подключил пылесос. Иногда он садился ночью в кресло перед компьютером, смотрел, как медленно бежит на экране лог обучения, и засыпал прямо там. Иногда сеть переставала сходиться, и нужно было разбираться, почему, что-то менять, запускать заново, ждать пять дней. Через всё лето Алекс прошёл, наверное, тридцать или сорок таких полных циклов обучения.

Илья и Хинтон в это время в основном ждали и подбадривали. Раз в несколько недель собирались втроём в кабинете Хинтона, смотрели на цифры, обсуждали, что попробовать дальше. К концу лета цифры начали выглядеть невероятно.

30 сентября 2012

Результаты ImageNet 2012 объявили в начале октября. Команда под названием SuperVision (Алекс, Илья, Хинтон) пришла первой. Top-5 error rate: 15,3 процента. Команда, занявшая второе место, использовала классические методы и получила 26,2 процента. Отрыв в десять с лишним процентных пунктов — в области, где обычно мерились десятыми долями процента, в области, где за год прогресс мерится одним-двумя процентами, в области, где никто никогда не выигрывал с таким отрывом.

Многие специалисты, узнав о результатах, поначалу не поверили. Решили, что в коде какая-то ошибка, что-то учтено неправильно, что-то протекло из тестового набора в обучающий. Алекс предоставил исходный код. Стороны разобрали его построчно. Никакой утечки не нашли. Сеть действительно работала так, как написано. Свёрточная нейронная сеть, обученная на потребительских видеокартах в спальне у аспиранта, разнесла все классические системы по этой задаче в пыль.

В октябре 2012 года в Флоренции, на Европейской конференции по компьютерному зрению, Алекс с Ильёй выступили с устным докладом. Доклад слушал, в частности, Ян ЛеКун, тогда профессор Нью-Йоркского университета, один из «канадской мафии», один из немногих в зале, кто понимал значение происходящего. Через несколько лет он скажет в одном из интервью, что это выступление было поворотным моментом всей истории компьютерного зрения. Он, ЛеКун, в тот день в зале сидел и думал, что наблюдает рождение новой эпохи. Большинство остальных слушателей восприняло доклад как любопытное, но локальное достижение. Они ошибались.

Янн ЛеКун, 2024

Конференция и аукцион

В декабре того же 2012 года, в курортном местечке Лейк Таху на границе Калифорнии и Невады, проходила ежегодная конференция NIPS, главное событие в мире машинного обучения. Лейк Таху — место красивое: альпийское озеро, лыжные склоны, ёлки, гостиничные комплексы в стиле ранчо. Конференция собирала несколько тысяч участников. К декабрю 2012 года вся эта профессиональная публика уже понимала, что произошло в сентябре в Торонто.

Хинтон в это время уже был немолод. Шестьдесят пять лет, проблемы со спиной, не позволявшие ему сидеть на стульях (он на конференциях обычно стоял или сидел на полу), несколько десятилетий академической работы за плечами, нобелевская премия ещё ждала впереди и не подразумевалась. Зато ему было ясно, что у него на руках три карты: он сам, Илья и Алекс. И что эти три карты в декабре 2012 года стоят больше, чем они когда-либо стоили или будут стоить снова.

За месяц до конференции Хинтон зарегистрировал в Торонто фирму с одним сотрудником и без продуктов. Фирма называлась DNNResearch Inc. Её активами были: трое сотрудников (Хинтон, Илья, Алекс), исходный код AlexNet и идея, что эти трое будут продолжать работать вместе. Накануне конференции Хинтон через знакомых дал понять нескольким крупным технологическим компаниям, что DNNResearch будет выставлена на торги.

В торгах изъявили желание участвовать четыре компании: Google, Microsoft, Baidu и DeepMind. Последняя на тот момент была маленьким лондонским стартапом, годом ранее основанным Демисом Хассабисом, в широких кругах ещё неизвестным. Первым к Хинтону подъехал Кай Ю, тогдашний глава отдела мультимедиа в Baidu, прилетевший специально из Пекина.

Демис Хассабис, 2024

Аукцион Хинтон провёл не в зале с молотком, как полагается, а из своего гостиничного номера, номер семьсот третий. Из-за больной спины он не мог сидеть в кресле и сидел на полу. По его правилам, торги шли по электронной почте: каждый час участники присылали новые ставки, шаг должен был быть не меньше миллиона долларов. Хинтон распечатывал письма на гостиничном принтере и раскладывал их на ковре.

Цена росла. Первые торги начались с нескольких миллионов. К концу первого дня поднялись до двадцати. На второй день — до сорока. После того как ставка достигла сорока четырёх миллионов, Хинтон попросил паузу. Через несколько часов он связался с участниками и сообщил, что аукцион закрыт. Победителем объявлен Google. Технически Baidu предлагала столько же, но Хинтон выбрал Google, потому что хотел работать с Джеффом Дином, главой Google Brain.

Сорок четыре миллиона долларов за компанию, существовавшую месяц и не имеющую ни одного продукта. Сорок процентов от этой суммы — около восемнадцати миллионов долларов — досталось Хинтону. Илья и Алекс разделили остальное.

Сдвиг

После Лейк Таху мир изменился. Не сразу, в течение полутора-двух лет, но необратимо.

Видеокарты, ещё недавно бывшие нишевым товаром для геймеров, внезапно стали стратегическим ресурсом. Курс акций Nvidia за следующие два года вырос в три раза. Все крупные технологические компании запустили внутренние программы по найму специалистов в области глубокого обучения. Зарплаты выпускников, защитившихся по нейросетям, выросли с типичных академических ста тысяч долларов в год до полумиллиона, потом миллиона, потом нескольких миллионов с бонусами. На несколько лет состоялась настоящая золотая лихорадка: кто первый соберёт у себя самых сильных людей в новой области, тот выиграет рынок.

Хинтон с Ильёй и Алексом перебрались в Google. Хинтон стал делить время между Торонто и Маунтин-Вью; Илья пошёл в Google Brain, в группу к Джеффу Дину; Алекс продолжал работать с архитектурой нейронных сетей и в основном сидел тихо, как любил всегда. Параллельно DeepMind, проигравшая аукцион, в начале 2014 года была куплена тем же Google за пятьсот миллионов долларов: Хассабис в Лондоне быстро превращался в фигуру, без которой ландшафт ИИ уже невозможно было представить.

А Илья за следующие три года в Google Brain сделает с Ориолом Виньялсом и Квоком Ле работу, которая первая по-настоящему применит нейронные сети к языку. Идея, что нейронные сети должны расти с количеством данных, перестанет быть его частной гипотезой и станет общим местом. Под эту идею, постепенно, начнут перестраиваться целые корпоративные стратегии.

Но это уже история следующей главы.

Что касается Алексовой спальни в торонтском пригороде, она ещё несколько лет простояла, как стояла. Системный блок с торчащими видеокартами увезли на хранение, потом передали в Музей компьютерной истории в Маунтин-Вью. В 2025 году исходный код AlexNet будет официально опубликован на GitHub под лицензией BSD-2, и любой желающий сможет скачать его себе на компьютер и запустить, теперь уже на одной видеокарте, потому что современные карты в десятки раз мощнее тех двух GTX 580.

Что касается двух видеокарт, на которых обучалась исходная сеть, их дальнейшая судьба неизвестна. Возможно, они до сих пор лежат у Алекса в коробке в гараже. Стоит ли об этом сожалеть? Не знаю. Любая обыденная вещь, оказавшаяся в эпицентре исторического сдвига, обычно остаётся обыденной. Книги, которые читал Эйнштейн, ничем не отличаются от других книг своего времени. Лампа, при свете которой Шеннон считал свои псевдо-английские фразы, ничем не отличается от других ламп. Видеокарты GTX 580 ничем не отличаются от других видеокарт. Особенным был не металл, а то, что эти трое в спальне пригородного дома в 2012 году сделали с ним.

А ещё особенной была одна гипотеза: сделать сеть достаточно большой, и она научится сама.

Эту гипотезу теперь предстояло применить к самому сложному из материалов: к человеческому языку.

Предыдущая главаГлава 5 из 15Следующая глава