Как библиотека PyTorch 3D ускорила обучение нейросетей с двух недель до трех часов

The TWIML AI Podcast 1,7 тыс. 36 мин 10 мин 10.09.2020
Главное

Развитие трехмерного компьютерного зрения открывает новые горизонты для создания по-настоящему интеллектуальных систем, способных воспринимать мир подобно человеку. В свежем выпуске подкаста The TWIML AI Podcast исследовательница Facebook AI Research Джорджия Гкиоксари рассказывает о создании и архитектуре библиотеки PyTorch 3D, призванной решить проблему нехватки эффективных инструментов для работы с 3D-данными. В центре дискуссии — переход от плоских 2D-рамок к объемному моделированию, низкоуровневая оптимизация нейросетей и будущее масштабных исследований в области искусственного интеллекта.

🎪 Анонсы сообщества и образовательные инициативы TWIML 0:10

Ведущий подкаста Сэм Чаррингтон начал выпуск с обзора ключевых событий для ИИ-сообщества. Главным событием осени станет грядущий фестиваль TWIML Fest, который пройдет с 13 по 30 октября и будет полностью бесплатным. Организаторы активно ищут спикеров и ведущих для проведения сессий, где эксперты смогут поделиться своим опытом.

Среди уже поданных заявок на фестиваль выделяются следующие темы:

Помимо фестиваля, Сэм Чаррингтон напомнил о двух образовательных курсах:

  1. Совместный курс с Луи Дораром (Louis Dorard) под названием «ML Systems for Leaders and Innovators». Программа разработана для бизнес-лидеров и технических руководителей, помогая им понять принципы создания сквозных ML-систем, приносящих реальную пользу бизнесу.
  2. Обновленный курс Роберта Несса (Robert Ness) по причинно-следственному моделированию (Causal Modeling) в машинном обучении. Информационный вебинар, предваряющий запуск осенней когорты, запланирован на понедельник, 14 сентября.

🎓 От спам-фильтра до FAIR: путь Джорджии Гкиоксари в компьютерное зрение 2:50

Академические корни в Афинах

Основная часть выпуска была посвящена беседе с Джорджией Гкиоксари, которая сегодня работает в качестве full-time исследователя (Research Scientist) в лаборатории Facebook AI Research (FAIR). Её путь в науку начал разворачиваться примерно 15 лет назад в Афинах (Греция), где она училась в университете по направлению электротехники и компьютерных наук. На старших курсах Джорджия посетила обзорный класс по компьютерному зрителю, который настолько увлек её, что она решила подать документы на докторскую программу (PhD) в США, выбрав Калифорнию.

Письмо, которое изменило всё

Приглашение на обучение пришло от известного ученого Джитендры Малика (Jitendra Malik), однако это письмо едва не потерялось:

Спустя пару месяцев она уже летела в самолете, чтобы начать PhD под руководством Малика. Это было время до начала современной эпохи глубокого обучения, когда исследователям приходилось создавать крайне сложные алгоритмы вручную, а публиковать научные работы было значительно труднее, чем сейчас. Защитив диссертацию в 2016 году, Джорджия Гкиоксари присоединилась к команде FAIR — сначала в качестве постдока, а затем перешла в штат на постоянную позицию.

🔄 Великий перелом 2012 года: как глубокое обучение изменило индустрию 5:38

Эпоха DPM и ручных конвейеров

В рамках своей научной работы Джорджия всегда фокусировалась на распознавании образов (Recognition) — объектов, сцен и их свойств. Суть этой дисциплины заключается в том, чтобы научить компьютерные системы переводить изображения или видео в семантические концепции, ведь для компьютера картинка — это просто набор случайных пикселей.

Вспоминая тектонический сдвиг, произошедший в компьютерном зрении после 2012 года с приходом глубокого обучения, исследовательница отмечает, что изменилось абсолютно всё. До этого момента доминирующим подходом к распознаванию объектов были так называемые деформируемые модели частей (DPM — Deformable Part Models).

Разработка систем на базе DPM сопровождалась серьезными трудностями:

Модульная революция

После 2012 года индустрия перешла на рельсы сквозного (end-to-end) обучения. Архитектуры стали модульными, а появление удобных open-source библиотек позволило ученым легко брать чужие наработки и развивать их дальше, что вызвало взрывной прогресс в области ИИ.

📐 Рождение PyTorch 3D: преодоление плоских ограничений CNN 8:49

Проблема плоских рамок

Несмотря на колоссальный прогресс 2D-распознавания, традиционные модели до сих пор делают предсказания в плоскости, размечая мир двухмерными рамками (bounding boxes). Этот подход идеально сочетается со стандартными сверточными нейросетями (CNN) и сеточными библиотеками вроде PyTorch или TensorFlow, где операции по умолчанию привязаны к регулярной сетке пикселей.

Однако реальный мир трехмерен. Когда возникает задача предсказать точную 3D-форму объекта, стандартный инструментарий CNN оказывается бессилен. Трехмерные данные принципиально отличаются по своей структуре:

Работая над проектом Mesh R-CNN, команда FAIR быстро осознала, что в индустрии отсутствует эффективная и быстрая библиотека для подобных задач. Это и подтолкнуло их к созданию PyTorch 3D — специализированного расширения, способного выполнять высокопроизводительные вычисления на трехмерных данных.

Дифференцируемый рендеринг как мост между мирами

Важнейшей вехой стала реализация дифференцируемого рендеринга (Differentiable Rendering). Традиционная компьютерная графика давно умеет переводить 3D-сцены в 2D-картинки, но для оптимизации нейросетей этот процесс должен поддерживать вычисление градиентов для обратного распространения ошибки. Разработчикам PyTorch 3D пришлось полностью переосмыслить классические графические функции, сделать их дифференцируемыми и адаптировать под запуск на GPU.

🧠 Латентные 3D-пространства и генерация новых ракурсов 12:11

Эксперименты на CVPR 2020

Библиотека PyTorch 3D оказалась востребованной в самых разных сферах, выходящих за рамки привычных визуальных моделей. Например, на GitHub пользователи активно применяют её для обработки неевклидовых данных, включая воксельные объемы в медицинской томографии.

Одно из наиболее перспективных направлений — использование латентных (скрытых) трехмерных пространств внутри нейросети. Поскольку все операторы PyTorch 3D дифференцируемы, их можно встраивать в любую часть архитектуры — в начало, середину или конец. Это позволяет сети производить геометрические рассуждения на уровне скрытых представлений, даже если на входе и выходе находятся обычные 2D-изображения.

Ярким примером такого подхода стала научная работа команды FAIR, представленная на конференции CVPR 2020. Совместно с интерном Оливией Уайлс (Olivia Wiles), а также известными учеными Риком Зелиски (Rick Szeliski) и Джастином Джонсоном (Justin Johnson) Джорджия Гкиоксари исследовала задачу синтеза новых ракурсов (Novel View Synthesis). Цель эксперимента — дать системе одно плоское изображение и заставить её «галлюцинировать», воссоздавая вид той же сцены при изменении угла обзора или движении камеры вперед.

В ходе исследования авторы пришли к важным выводам:

Технология NeRF и непрерывные сцены

Джорджия также упомянула технологию NeRF (Neural Radiance Fields), которая производит фурор в индустрии, позволяя генерировать фотореалистичные непрерывные трехмерные сцены на основе набора двухмерных фотографий, что лишний раз доказывает актуальность дифференцируемого рендеринга.

🚀 Путь к коммерциализации: от кода для ученых к реальным продуктам 17:01

Планка качества для AR/VR

Отвечая на вопрос Сэма Чаррингтона о зрелости технологии и её интеграции в экосистему Facebook, Джорджия Гкиоксари признает, что до массового потребительского рынка технология еще не добралась. По её мнению, в индустрии есть огромный отложенный спрос на 3D-восприятие, но коммерческие продукты требуют абсолютной надежности. Внедрение ИИ в реальные приложения — это совершенно другой уровень ответственности по сравнению с академическими экспериментами.

В настоящее время аудитория PyTorch 3D делится на две ключевые группы:

  1. Ученые и исследователи (Researchers), использующие библиотеку для проверки гипотез и написания статей.
  2. Разработчики (Developers), создающие специализированные прикладные решения.

Главным ориентиром и «планкой качества» для технологии Гкиоксари считает создание идеального и бесшовного опыта в сфере дополненной и виртуальной реальности (AR/VR). И хотя до полноценного решения этой задачи еще далеко, библиотека уже находит точечное применение в небольших продуктовых фичах.

Обучение ИИ по принципу человеческого восприятия

С фундаментальной точки зрения, внедрение 3D-моделирования способно решить одну из главных проблем современного ИИ — зависимость от ручной разметки. Сегодняшний успех 2D-систем (ImageNet, AlexNet, Mask R-CNN) построен на том, что люди-разметчики вручную обводят объекты, а нейросети просто имитируют их действия.

Переход в 3D предлагает принципиально иной путь обучения, близкий к человеческому:

Современные нейросети на это не способны. По мнению Гкиоксари, рассуждения в естественном трехмерном пространстве позволят ИИ обобщать знания (generalization) и обучаться на значительно меньшем количестве размеченных примеров (sample efficiency).

🛠️ Архитектура под капотом: низкоуровневая магия CUDA 22:32

Спектр применения библиотеки

PyTorch 3D не является заменой классического PyTorch — это комплементарное расширение. Архитектурная философия проекта, разработку которого возглавляет ведущий инженер FAIR Нихила (Nikhila), строится на модульности. Пользователи могут свободно комбинировать стандартные 2D-операторы PyTorch с трехмерными функциями PyTorch 3D внутри одного цикла обучения.

После релиза библиотеки в январе 2020 года разработчики зафиксировали колоссальный разброс сценариев использования на GitHub:

Две недели против трех часов

Создание такого инструмента потребовало решения сложнейших инженерных задач. Оказалось, что стандартных абстракций PyTorch недостаточно для обеспечения высокой скорости работы и экономии видеопамяти. Команде пришлось опуститься на низкий уровень и писать кастомные ядра CUDA (CUDA kernels). Джорджия шутит, что ниже этого уровня находится разве что ассемблер.

Оптимизация дала фантастический выигрыш в скорости вычислений:

«В рамках работы над статьей по Mask R-CNN я подсчитала, что без оптимизаций PyTorch 3D обучение нейросети, которое теперь занимает всего 3 часа, длилось бы около двух недель. А вести полноценную научную работу, когда одна итерация занимает 14 дней, просто физически невозможно», — делится расчетами Джорджия Гкиоксари.

Такой колоссальный скачок производительности объясняется тем, что графы трехмерных объектов в реальных задачах имеют огромный масштаб, и стандартные Python-операторы создают фатальные задержки при обработке данных.

🏛️ Масштабирование CVPR 2021: вызовы академической экосистемы 29:40

Проблема 10 000 публикаций

Помимо научной деятельности, Джорджия Гкиоксари назначена сопредседателем программного комитета (Program Co-Chair) престижной конференции CVPR 2021. Она признается, что эта административная роль сопряжена с колоссальным стрессом: подготовка начинается за два года до мероприятия, а закрытие всех процессов продолжается еще год после его окончания.

Программный комитет отвечает за формирование научной повестки, рецензирование работ и принятие финальных решений по публикациям. Для этого разворачивается огромная инфраструктура, включающая пул рецензентов (reviewers) и региональных председателей (Area Chairs), которые координируют обсуждение батчей научных статей.

Главный вызов современного академического сообщества — это взрывной, неконтролируемый рост масштабов:

Взгляд в будущее: данные «из дикой природы»

Гкиоксари подчеркивает важность соблюдения этики в огромном сообществе. Она разделяет мнение одного из старейших ученых в области компьютерного зрения: достаточно всего одного человека, ведущего себя неадекватно или токсично, чтобы испортить впечатление от конференции тысячам участников. Когда на мероприятии собирается более 7 000 человек, риски подобных инцидентов возрастают многократно. Учитывая текущие мировые реалии, оргкомитет уже сейчас планирует проведение CVPR 2021 в гибридном или полностью виртуальном формате.

В качестве напутствия молодым исследователям Джорджия советует сфокусироваться на решении проблемы «дикого» масштаба (in the wild data). Главная нерешенная задача в 3D ML сегодня — заставить трехмерные алгоритмы эффективно извлекать пользу из миллионов неструктурированных изображений в существующих базах данных, повторив тот триумф, который 2D-зрение пережило в прошлом десятилетии.

💬 Цитаты

«В рамках работы над статьей по Mask R-CNN я подсчитала, что без оптимизаций PyTorch 3D обучение нейросети, которое теперь занимает всего 3 часа, длилось бы около двух недель. А вести полноценную научную работу, когда одна итерация занимает 14 дней, просто физически невозможно»

Джорджия Гкиоксари 26:32

«Младенцы не учатся по плоским картинкам; они постоянно берут предметы в руки, крутят их, смотрят под разными углами. Это формирует у них базовое понимание границ, стабильности формы и семантики объектов.»

Джорджия Гкиоксари 20:07
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Дифференцируемый рендеринг
Технология компьютерной графики, позволяющая вычислять градиенты при преобразовании 3D-модели в 2D-изображение, что необходимо для сквозного обучения нейросетей.
Ядра CUDA (CUDA kernels)
Функции низкоуровневого кода, выполняемые параллельно на графических процессорах NVIDIA для ускорения математических расчетов.
Облако точек (Point Cloud)
Набор вершин в трехмерной системе координат, описывающий внешнюю форму физического объекта или сцены.
Синтез новых ракурсов (Novel View Synthesis)
Задача компьютерного зрения, заключающаяся в генерации изображений сцены с точек обзора, которые отсутствовали в исходных обучающих кадрах.
📊 Цифры
🗓 Хронология
  1. 2011 Джорджия Гкиоксари посещает свой первый университетский класс по компьютерному зрению в Афинах.
  2. 2012 Начало современной эпохи глубокого обучения, ознаменовавшее отказ от старых моделей DPM.
  3. 2016 Завершение PhD под руководством Джитендры Малика и переход в Facebook AI Research (FAIR).
  4. Январь 2020 Официальный публичный запуск библиотеки PyTorch 3D со стороны исследовательской команды FAIR.
  5. Июнь 2020 Презентация совместной научной работы по синтезу новых ракурсов сцен на конференции CVPR 2020.
  6. Июнь 2021 Проведение конференции CVPR 2021, в которой Джорджия выступает сопредседателем программного комитета.
⚖️ Другая сторона
Искусственный интеллект Джорджия Гкиоксари PyTorch 3D FAIR Сэм Чаррингтон компьютерное зрение