Читать книгу Гений кода. Истории самых впечатляющих ИИ-проектов, которые уже меняют жизнь - Ар'лан ис'Дрекхэм - Страница 6
Часть 2: Рождение титанов. Истории прорывов, изменивших правила игры
Глава 5. AlexNet (2012): Как студент победил всех на конкурсе и начал революцию (Компьютерное зрение)
ОглавлениеКрючок: Скука, которая изменила мир
Представь себе 2012 год. В мире ещё нет приложений, которые узнают твоё лицо, чтобы разблокировать телефон. Нет фильтров в соцсетях, которые превращают тебя в щенка. Нет машин, которые ездят сами. Если ты хотел, чтобы компьютер что-то увидел, ты должен был объяснить ему это человеческим языком: «Сначала найди края, потом углы, потом проверь, есть ли у этого уши…» Это была муторная работа программистов-ремесленников.
В это время в Торонто, в Университете, сидел аспирант по имени Алекс Крижевский. Он был родом из Украины, учился у гуру нейросетей Джеффри Хинтона и… ему было просто интересно поковыряться с железом. Буквально.
Алекс любил видеокарты. Он знал, что они созданы для игр, чтобы быстро рисовать пиксели, но в глубине души подозревал: эти штуки могут делать не только красивые картинки в Crysis, но и считать. Считать параллельно, быстро, как стая муравьёв.
В 2012 году никто в научном мире всерьёз не использовал GPU (видеокарты) для обучения нейросетей. Все работали на процессорах (CPU). Это было медленно, чинно и благородно. А Алекс взял две игровые видеокарты NVIDIA GTX 580 (каждая стоила около 500 долларов, такие же ставили геймеры для стрелялок), соединил их простым кабелем и сказал: «А давай-ка попробуем скормить им все картинки мира».
Он не знал, что эти две карты, купленные в обычном магазине, станут тем самым «ядерным реактором», который запустит эру современного ИИ.
Герои и их боль: Три мушкетёра глубокого обучения
За этим проектом стояли три человека, и каждый из них – легенда.
– Алекс Крижевский – тот самый парень, который писал код. Но он писал его не на Python, как все сейчас, а на CUDA/C++. Вручную, с нуля. Он создавал механизмы, которые обычно входят в стандартные библиотеки, своими пальцами. Это было безумно сложно, но давало максимальную скорость. Его код был произведением искусства для тех, кто понимает.
– Илья Суцкевер – ещё один аспирант Хинтона, тоже с украинскими корнями. Если Алекс был «инженером», то Илья был «архитектором». Он понимал, как заставить сеть учиться, как подбирать параметры, чтобы она не сходила с ума. Позже Илья станет сооснователем OpenAI и сделает ChatGPT, но пока это был просто талантливый парень, который верил в идею.
– Джеффри Хинтон – «крестный отец» глубокого обучения. Ему было уже под 70. Он всю жизнь, с 70-х годов, доказывал, что нейросети – это будущее, и все эти годы над ним смеялись. Его идеи считались маргинальной ересью. Но он продолжал верить и собрал вокруг себя таких же сумасшедших романтиков, как Алекс и Илья.
Их боль была огромной.
У них не было суперкомпьютера. Не было денег Google. У них были старые видеокарты и данные, которые едва влезали в память. 3 гигабайта памяти на карту – этого катастрофически не хватало, чтобы загрузить всю сеть целиком. Поэтому им пришлось пойти на хитрость: они разрезали нейросеть пополам и положили каждую половину на отдельную карту. Карты общались друг с другом только в самые важные моменты, экономя драгоценные мегабайты.
И вот так, на коленке, с паяльником в душе, они собирали бомбу замедленного действия.
Конфликт: Гонка с ветеранами
В 2012 году прошёл очередной конкурс ImageNet (ILSVRC-2012). Это была Олимпиада в мире компьютерного зрения. Участникам давали 1,3 миллиона фотографий, разбитых на 1000 категорий: от «сиамская кошка» до «стиральная машина». Нужно было научить компьютер угадывать, что на фото.
Лучшие команды мира – исследовательские центры Google, Microsoft, Oxford – бились над этой задачей годами. Они использовали классические методы: люди вручную придумывали признаки объектов (SIFT, HOG), программировали сложные алгоритмы, и те показывали результат. Лучший результат прошлого года был с ошибкой около 26%.
Команда Хинтона (они назвали себя SuperVision) подошла к старту с непонятной для всех штукой под названием «свёрточная нейросеть». Никто не верил, что эти древние концепции могут выиграть у инженерной мысли человечества.
Обучение длилось 5—6 дней. Компьютер гудел, квартира Алекса, видимо, превратилась в сауну. Они наблюдали за цифрами ошибок и не верили своим глазам: сеть училась слишком хорошо.
Развязка: Разрыв шаблона
Когда объявили результаты, академический мир взорвался. SuperVision не просто выиграла. Она уничтожила конкурентов.
– Ошибка лучших традиционных методов: 26,2%.
– Ошибка AlexNet: 15,3%.
Разрыв в почти 11% – это даже не победа, это смена эпох. Это как если бы в забеге спортсменов на стометровку вдруг прилетела ракета. С этого момента стало ясно: старые методы мертвы.
Интересно, что сначала их открытие просто проигнорировали. Ну, подумаешь, очередная нейросеть. Но когда увидели цифры, началась паника и эйфория одновременно.
Инсайт: Что они сделали такого особенного?
Гениальность Алекса, Ильи и Джеффри была не в том, что они придумали что-то космически новое. Они сделали три вещи правильно:
– Масштаб. Они поняли: нейросети работают, если они большие. 60 миллионов параметров (настроек) – это был абсурдный по тем временам объём. Все боялись таких масштабов, а они не побоялись.
– Железо. Они доказали, что видеокарты (GPU) – это новый станок индустрии. Если бы не GTX 580, обучение заняло бы не неделю, а год. Именно эта победа заставила NVIDIA обратить внимание на ИИ. Через несколько лет они станут главным бенефициаром бума нейросетей.
– Трюки против переобучения. Они использовали приём под названием Dropout – во время обучения случайно выключали половину нейронов, чтобы сеть не заучивала картинки наизусть, а училась обобщать. И функцию активации ReLU, которая ускоряла обучение в разы. Эти приёмы стали классикой.
Наследие: Всё пошло отсюда
Та самая архитектура AlexNet (8 слоёв, хитрые свёртки) стала прародительницей всего. Без неё не было бы:
– VGG, ResNet (которые победили в последующие годы).
– Распознавания лиц в iPhone.
– Теслы, которая видит дорогу.
– И даже самого ChatGPT, потому что языковые модели – это наследницы той самой идеи «масштабируем нейросети и кормим их данными».
Ирония судьбы:
После победы они основали компанию DNNResearch. Бизнес-план был простой: «У нас есть гениальный код». Через несколько месяцев Google купил эту компанию за несколько миллионов долларов. Говорят, сумма была около 50 миллионов. Хинтон, Алекс и Илья стали работать на Google.
Кстати, сам исходный код AlexNet десятилетиями считался потерянным. Он лежал в недрах Google, и только в 2024—2025 годах Музей компьютерной истории уговорил корпорацию выложить его на GitHub. Теперь любой студент может скачать код, который перевернул мир.
Твой ход: Три урока от Алекса
Что нам, простым смертным, вынести из этой истории?
– Не жди идеальных условий. У Алекса были две старые видеокарты, а не суперкомпьютер. Он использовал то, что было под рукой. Начни с тем, что у тебя есть.
– Будь на «ты» с инструментом. Алекс писал на CUDA вручную, потому что хотел выжать максимум. Тебе не нужно писать с нуля, но понимать, как работает твой инструмент (библиотеки Python, нейросети) – обязательно.
– Масштабируй гениальность. Идея была не нова. Они просто сделали её больше. Иногда прорыв – это не изобретение велосипеда, а постройка огромного завода по производству велосипедов.
P.S.
Знаешь, что самое крутое? Когда Алекс Крижевский учился, никто не давал ему грантов на «разработку революционного ИИ». Он просто занимался тем, что ему нравилось: ковырялся в коде и видеокартах. И это изменило мир.
Так что, может, твой код, который ты пишешь сегодня ночью на старом ноутбуке, – это AlexNet 2030 года?