Развитие технологий искусственного интеллекта и машинного обучения ставит перед разработчиками задачи, требующие значительных вычислительных ресурсов. Облачные вычисления с поддержкой графических процессоров (GPU) становятся все более востребованными благодаря своей мощности и гибкости. Однако запуск и работа с облачными ноутбуками, особенно с GPU, зачастую сопровождаются существенной задержкой - от нескольких десятков секунд до минут. Компания Modal подошла к этой проблеме с системной точки зрения и создала решение, которое меняет представление о работе в облачной среде с GPU - Modal Notebooks, облачный GPU-ноутбук, загружающийся за несколько секунд. В данной статье рассмотрим ключевые технические решения и инновации, которые сделали возможным такой прорыв и раскрываем, как они работают на практике.
Суть проекта Modal Notebooks возникла из идеи построения высокопроизводительной и одновременно удобной в использовании онлайн среды, которая объединяет возможности Jupyter ноутбуков, современных редакторов, а также высокопроизводительные вычислительные ресурсы GPU. В отличие от традиционного подхода, где Jupyter запускается локально или на выделенных мощных серверах, Modal выбрали мультиарендный облачный формат с мгновенным доступом, устойчивостью и возможностью масштабирования. Основной задачей было убрать хотя бы часть очевидных проблем, как длительная загрузка контейнеров, управление ресурсами, хранение данных и синхронизация между пользователями. Одним из ключевых элементов архитектуры стали Modal Sandboxes - изолированные процессы с собственной файловой системой, ресурсами и жизненным циклом. Эти песочницы позволили запускать ядра Jupyter ноутбуков, поддерживающие сотни CPU и топовые Nvidia GPU без существенной задержки.
Отличие Modal Sandboxes от аналогичных систем - фокус на вычисления с высокой производительностью, возможность ленивой загрузки файловой системы (lazy-loading) и использование системы, которая загружает лишь необходимые в момент выполнения данные. Благодаря этому ноутбуки работают на мощном оборудовании, но при этом запускаются мгновенно. Одним из самых больших узких мест в стандартных Docker или Kubernetes окружениях была загрузка тяжелых образов. В среднем разворачивание 8 ГБ образа на Python/ML занимает порядка минуты, что крайне негативно сказывается на интерактивности. Modal реализовали уникальную ленивую загрузку контейнерных образов через FUSE файловую систему, написанную на Rust.
Вместо того чтобы загружать все файлы сразу, система подгружает только метаданные и "монтирует" файловую систему, а фактические данные считываются по мере обращения к ним приложением. Для ускорения доступа используется многоуровневый кэш, включающий память, локальные SSD, региональные CDN и облачное хранилище. Такой подход существенно снижает время запуска контейнера и улучшает пользовательский опыт. Параллельно была решена задача эффективного распределения вычислительных ресурсов. Modal имеет общий пул с тысячами CPU и многими современными GPU (например, Nvidia H100 и B200), из которого по запросу выделяются нужные мощности.
Планировщик системно балансирует нагрузку и обеспечивает моментальные запуски контейнеров даже при высоких требованиях к ресурсам. Для экономии средств и оптимизации затрат реализована функция автоматической паузы неактивных ядер, что позволяет приостановить работу крупного экземпляра без потери данных и быстро возобновить её у пользователя, создавая illusion постоянной машины без постоянных расходов. Большое внимание было уделено вопросам хранения данных. Современные AI и ML сценарии требуют глобального, доступного и быстрого персистентного хранилища, поскольку задачи обычно распределены и выполняются на разнородном оборудовании по всему миру. Modal использует VolumeFS - собственную FUSE-файловую систему, построенную на распределённой сети хранения с большими объёмами данных и моделью eventual consistency.
VolumeFS позволяет файловым структурам сохранять целостность и оставаться максимально быстрыми в глобальном контексте. Пользователь работает с файлами, словно с локальными, но при этом может запускать вычисления где угодно в мире и иметь доступ к своим данным без задержек. Для реализации возможности коллективной и синхронной работы с ноутбуками Modal создал собственный слой реального времени на базе протокола оперативного преобразования (operational transformation). В качестве основы выбрана библиотека Rushlight, интегрированная с CodeMirror 6 - современным редактором кода. Редакторы пользователей синхронизированы через Redis Streams, редактор отображает курсоры и изменения других участников, поддерживая одновременную работу нескольких пользователей без конфликтов.
Такой подход обеспечивает плавность взаимодействия и дает возможность выполнять код совместно, видеть результаты и обмениваться идеями мгновенно. Особое внимание разработчики уделили отделению состояния редактирования от состояния выполнения. Это значит, что результаты вычислений - вывод ячеек, графики, медиа - выводятся в реальном времени, но при повторном подключении можно получить актуальное состояние с сервера, сохраняя целостность данных. Крупные артефакты сохраняются во внешнем объектном хранилище, что помогает сохранять быстродействие редактора и снижает нагрузку на коммуникационные каналы. Чтобы повысить удобство разработчиков, Modal интегрировали в редактор полноценную поддержку Language Server Protocol с помощью Pyright для Python, что дало автодополнение, подсказки по API, подсветку синтаксиса и даже AI-подсказки.
Интеграция с Ruff обеспечивает автоматическое форматирование кода прямо в браузере через WebAssembly версии инструмента. AI-помощник на базе Claude 4 дает предложения по следующему редактированию, а эксперименты с собственным хостингом моделей Zed на GPU открывают перспективы еще более тесной интеграции машинного интеллекта с разработкой. В результате Modal Notebooks - это не просто обыкновенный облачный ноутбук, а полнофункциональная высокопроизводительная среда для разработки с поддержкой самых современных технологий. Пользователь получает мгновенный старт среды с быстрым доступом к GPU, коллаборативное редактирование в реальном времени, грамотное управление ресурсами и данных, а также удобный и современный редактор с поддержкой AI и LSP. Для практических пользователей это означает возможность создать эффективный исследовательский или производственный pipeline всего за считанные минуты, не переживая о загрузках образов или выделении дорогостоящих серверов на весь период работы.
Подобный уровень комфорта ускоряет эксперименты и выводит процесс разработки на новый уровень. Будущее таких платформ - в расширении возможностей интеграции с разнообразными облачными сервисами, более интеллектуальном управлении ресурсами и еще более глубокой коллаборации, которая стирает границы между локальным и удалённым разработчиком. Modal Notebooks уже сегодня задают высокие стандарты работы с облачными вычислениями на GPU и показывают, как должно выглядеть эффективное и удобное решение для инженеров и исследователей в эпоху искусственного интеллекта. .