Диллон Эрб: «Машинное обучение — это дисциплина программной инженерии»

The TWIML AI Podcast 1,1 тыс. 47 мин 4 мин 27.08.2020
Главное

В новом выпуске подкаста The TWIML AI Podcast Сэм Чаррингтон беседует с Диллоном Эрбом, сооснователем и генеральным директором Paperspace. В центре дискуссии — трансформация машинного обучения из экспериментальной области в строгую инженерную дисциплину, интеграция практик CI/CD и будущее инфраструктуры для ИИ.

🏗️ От архитектуры зданий к архитектуре нейросетей 1:10

История компании Paperspace началась около пяти лет назад. Путь Диллона Эрба в индустрию был нетривиальным: он изучал архитектуру зданий и инженерное дело, где соприкоснулся с миром высокопроизводительных вычислений (HPC). В частности, Эрб работал с генетическими алгоритмами и оптимизацией топологий, что привело его к глубокому интересу к параллельным вычислениям и графическим процессорам (GPU).

Вместе со своим сооснователем Дэном Кобрандом Эрб запустил Paperspace, исходя из предположения, что GPU станут повсеместным облачным ресурсом. Изначально они ориентировались на визуальные вычисления, но быстро осознали, что главным драйвером рынка станет глубокое обучение (Deep Learning) и обработка массивов данных. По воспоминаниям Эрба, в их первой презентации для инвесторов даже был слайд с объяснением «Что такое GPU», так как в то время технология еще не была мейнстримом.

🛠️ Машинное обучение как инженерная дисциплина 8:30

Центральный тезис Диллона Эрба заключается в том, что машинное обучение (ML) должно рассматриваться как часть традиционной практики разработки программного обеспечения. Он считает, что для индустрии это хорошая новость, так как позволяет использовать накопленный за последние 10 лет опыт современной разработки:

Эрб проводит параллель с развитием мобильной разработки. Когда появился iPhone, в компаниях были отдельные команды для iOS и для веба, но со временем эти направления слились, приняв единые базовые стандарты разработки. Аналогичный процесс, по мнению гостя, сейчас происходит с ML.

Хотя многие специалисты по данным возражают, утверждая, что ML — это непредсказуемый исследовательский процесс, Эрб настаивает на пользе аналогий. Он отмечает, что такие концепции, как ветвление (branching), запросы на слияние (pull requests) и разделение окружений на разработку, тестирование и продакшн (staging/production), критически важны для масштабирования ML-проектов.

🧪 Платформа Gradient: от ноутбуков к продакшну 16:40

Основной продукт Paperspace — платформа Gradient — призвана стать мостом между исследовательским кодом и стабильным ПО. Диллон Эрб подчеркивает, что их подход базируется на нескольких уровнях:

  1. Gradient Notebook Lab: Оболочка вокруг Jupyter, которая является точкой входа для большинства разработчиков.
  2. ML Showcase: Инструмент, позволяющий запустить модель в облаке в один клик на бесплатных инстансах.
  3. Воспроизводимость: Каждый шаг процесса в Gradient получает уникальный идентификатор (UUID). Когда пользователь закрывает ноутбук, система автоматически создает Docker-commit, чтобы сохранить состояние среды и историю изменений.

По мнению Эрба, ноутбуки — это лишь начало. Для полноценного цикла разработки Gradient предлагает SDK на Python и интерфейс командной строки (CLI) для распределенного обучения на множестве узлов, а также бота Gradient CI для GitHub, который возвращает подробную информацию о ходе обучения прямо в pull request.

⚙️ Технологический стек и вызовы масштабирования 31:11

В основе Gradient лежит Kubernetes. Эрб признает, что сама по себе эта технология не решает задачи машинного обучения, такие как автомасштабирование GPU, но является отличным фундаментом. Для управления пайплайнами Paperspace использует Argo CD — нативный для Kubernetes движок CI/CD.

Разработчики Gradient создали собственный синтаксис, который компилируется в YAML для Argo, чтобы упростить жизнь пользователям. Ключевой технической проблемой Эрб называет «внутреннюю петлю разработки» (inner loop of development) — задачу сохранения идентичности между локальной средой на ноутбуке разработчика и сложной микросервисной архитектурой в продакшне.

Среди сложностей работы в масштабе провайдера (provider scale) Эрб выделяет:

🔮 Будущее: синтетические данные и визуализация 42:09

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

Эрб приводит в пример забавный кейс: один из пользователей Paperspace обучал модель водить машину в игре Grand Theft Auto, транслируя процесс на Twitch. Зрители могли донатить, чтобы оплачивать вычислительные мощности Paperspace для этой нейросети.

В завершение беседы гость отметил, что, несмотря на 60 миллионов часов вычислений, проведенных через их платформу, индустрия все еще находится в начале пути. Главный вызов сегодня — сделать ML доступным не только для узкого круга академиков, но и для миллионов обычных инженеров-программистов.

💬 Цитаты

«Вы не сможете создать алгоритм для беспилотного автомобиля на хромбуке.»

Диллон Эрб 04:02

«Машинное обучение — это часть традиционной практики проектирования программного обеспечения.»

Диллон Эрб 08:35
👥 Спикеры
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
ML Ops
Набор практик, направленных на надежное и эффективное развертывание и поддержку моделей машинного обучения в продакшне.
CI/CD
Методология автоматизации тестирования и доставки кода, позволяющая часто выпускать обновления продукта.
Provenance
История происхождения данных или моделей, позволяющая отследить, как и из чего был получен конкретный результат.
Argo
Движок для управления рабочими процессами (workflow) в Kubernetes.
📊 Цифры
🗓 Хронология
  1. 2015 Примерное время основания Paperspace (упоминается 5 лет работы на момент 2020 года).
  2. 2017 Участие Диллона Эрба в конференции SIGGRAPH, где наметился тренд на ИИ в графике.
  3. 2020 Запись подкаста и обсуждение стабилизации ландшафта ML-инструментов.
⚖️ Другая сторона
Искусственный интеллект Dillon Erb Paperspace Gradient ML Ops Kubernetes