Исследователь в крупной компании хочет запустить ИИ-рабочую нагрузку на трех разных версиях PyTorch, чтобы выяснить, какая из них работает лучше, или протестировать изменения во внутренней библиотеке до того, как они попадут в продакшен. В любом случае ему требуется рабочее окружение: описание содержимого, площадка для выполнения этого описания и способ поддерживать результат в актуальном состоянии при изменении зависимостей. В продакшене ИИ таким окружением является контейнерный образ.
Вы наверняка уже собираете такие образы — будь то с помощью BuildKit, интегрированного в непрерывную интеграцию (CI), или собственных инструментов вашей платформенной команды. Эти сборки могут занимать от десятков минут и дольше, поэтому команды тщательно создают лишь горстку рабочих окружений, а затем берегут их вместо того, чтобы пересобирать по требованию.
Настройка только лишь слоя нативных библиотек может отнять целый день: нужно сопоставить сборку инструментария CUDA с правильным драйвером и всеми скомпилированными расширениями, необходимыми для рабочей нагрузки, не говоря уже об отсутствующих библиотеках и конфликтах версий, которые проявляются только после загрузки образа. Образ полугодовой давности с тремя уязвимостями (CVE) в зависимостях остается в продакшене просто потому, что его никто не хочет трогать, чтобы ничего не сломать. В результате исследователь, желающий попробовать другую версию PyTorch, натыкается на ту же стену, что и все остальные: создание нового окружения требует столько времени и согласований, что от этой затеи стараются отказаться.
Окружения Conda предоставили пакетам Anaconda место для запуска. Fast Bakery делает то же самое для продакшн-ИИ, где окружением является контейнерный образ, и работает как с пакетами conda, так и с PyPI.
Что делает Fast Bakery
Fast Bakery берет на себя все три составляющие: описание, выполнение и жизненный цикл. Окружение становится тем, что вы объявляете декларативно, а не собираете вручную, а затем оберегаете. Никто больше не пишет Dockerfile вручную, и никому не нужно помнить о необходимости его пересборки. Вы занимаетесь машинным обучением. Инфраструктуру мы берем на себя.
Запросите окружение по требованию — и Fast Bakery разрешит зависимости и соберет его за считанные секунды. В ходе тестов сборка любого тестового образа объемом до 6,7 ГБ занимала 40 секунд или меньше, в то время как стандартному конвейеру GitHub Actions для самого большого образа требовалось более 5 минут. Каждый рецепт проверяется на соответствие каналам пакетов, уже одобренным в вашей организации; пакеты, исключенные вашей политикой безопасности (например, содержащие известные CVE или имеющие недопустимые лицензии), отсеиваются до того, как образ будет собран. Результат тегируется и отслеживается все время, пока он используется. Организация может запускать столько уникальных окружений, сколько требуют ее рабочие нагрузки, и все они будут подчиняться единым правилам управления.
Fast Bakery работает не в изоляции. Fast Registry сохраняет созданные образы по цене, составляющей лишь малую долю от стоимости универсального реестра. Fast Container Runtime запускает образ на вычислительном узле так быстро, как позволяет железо, сокращая задержку запуска задач в бенчмарках в 4–10 раз. Вместе эти три компонента охватывают весь жизненный цикл: создание окружения, его хранение и запуск.
Исправление уязвимой зависимости
Допустим, в используемой вашими рабочими нагрузками зависимости обнаруживается уязвимость (CVE). Поскольку каждое окружение описано декларативно, а не собрано вручную, поиск образов, привязанных к уязвимой версии, сводится к поиску по коду. Устранение проблемы заключается в изменении одной строки с версией и повторном запуске. Fast Bakery разрешает зависимости и собирает пропатченное окружение за секунды, сохраняя при этом обе версии, так что вы можете напрямую сравнить их в деле, а не надеяться, что новая поведет себя точно так же. То, что раньше требовало координации усилий по исправлению между командами, теперь превращается в нечто вроде планового обслуживания.
Где это применяется
Fast Bakery создавала многогигабайтные ML/ИИ-образы менее чем за минуту там, где сопоставимым CI-конвейерам требовалось пять и более минут, а Fast Container Runtime сократила задержку запуска задач в 4–10 раз. Подробности читайте в статьях Fast, Automatic Containerization of ML and AI Projects with Fast Bakery и Faster Cloud Compute.
Fast Bakery представляет собой самостоятельную инфраструктуру и является частью оркестрации ИИ в Anaconda Platform. Укажите на нее из существующего CI-конвейера, блокнота или процесса развертывания — и каждый созданный ею образ будет соответствовать единой политике каналов и системе тегов независимо от того, чем был инициирован запрос.
Если вы хотите протестировать Fast Bakery на собственных рабочих нагрузках, запросите демо.









