Три слоя MAX: компилятор преобразует вычисления в код, среда исполнения организует выполнение, аппаратный бэкенд связывает платформу с устройством.

Modular открыла исходники всего MAX: разработчикам дали доступ внутрь ИИ-движка

Модель отвечает медленно, ускоритель загружен, а где именно теряется время — непонятно. Для разработчика ИИ-сервиса это вполне практическая проблема: между кодом модели и работающим устройством находится несколько слоёв программного обеспечения. Если часть из них закрыта, поиск причины может закончиться у чужой двери.

Modular открыла эту дверь в MAX. В выпуске 26.7 от 22 октября компания сделала доступным исходный код оставшихся компонентов своей платформы: компилятора, среды исполнения и аппаратных бэкендов. Теперь разработчики могут изучать, собирать и изменять весь стек. При этом MAX распространяется по модели source available: доступный исходный код сопровождается ограничениями собственной лицензии.

От операции модели до команды ускорителю

MAX — программная платформа для выполнения ИИ-моделей. Внутри неё компилятор преобразует вычисления в исполняемый код, среда исполнения организует его работу, а аппаратный бэкенд связывает общую систему с конкретным типом вычислительного устройства. Для пользователя приложения эта кухня обычно незаметна. Для инженера, которому нужно добиться приемлемых задержек и стоимости обработки запросов, она может оказаться решающей.

Представим, что команда добавила в модель собственную операцию и обнаружила замедление. Проверить саму формулу недостаточно: имеет значение, какой код получился после преобразований, как передаются данные и что происходит при выполнении на устройстве. Доступ к исходникам позволяет проследить этот путь через разные части MAX, проверить предположение о причине и при необходимости подготовить изменение.

Вместо ожидания ответа разработчика платформы у команды появляется возможность разобраться самостоятельно. Особенно ценен доступ сразу ко всем слоям: проблема на стыке компилятора и среды исполнения плохо укладывается в границы одного открытого компонента.

Для производителей ускорителей важен другой участок — аппаратные бэкенды. Они помогают понять, как MAX взаимодействует с устройством и где потребуется адаптация под другую архитектуру. Исходники плагинов Qualcomm Dragonfly и Google TPU компания обещает открыть позднее.

Сначала проверить операцию, потом компилировать модель

В том же выпуске появился eager mode — режим непосредственного выполнения операций. Его смысл проще всего увидеть на этапе отладки: разработчику нужно быстро проверить отдельный шаг, посмотреть результат, поменять реализацию и повторить проверку. Для этого не обязательно каждый раз проходить полную компиляцию модели.

Обычно между удобным экспериментом и подготовкой к быстрому исполнению приходится выстраивать переход: сначала разобраться с вычислением, затем убедиться, что оно работает и после оптимизаций. MAX предлагает общий путь кода для eager-режима и режима с компиляцией. Собственную операцию можно отлаживать в первом, а затем использовать в компилируемом варианте без создания отдельной реализации специально для проверки.

Открытие исходников и eager mode решают разные части этой задачи. Первое даёт возможность изучить устройство платформы и менять её внутренности. Второе делает удобнее повседневную проверку кода. Вместе они полезны прежде всего тем, кто разрабатывает модели, собственные операции или инфраструктуру их исполнения, а не просто подключает готовый сервис через API.

Коммерческие приложения разрешены, свободный форк — с условиями

Открытый для чтения код легко принять за разрешение делать с ним что угодно. У MAX границы конкретнее. В объяснении новой лицензии и самом документе Modular разделяет использование платформы, распространение исходников и выпуск готовых программ.

Коммерческое использование разрешено. Для приложений и распространения объектного, то есть скомпилированного, кода предусмотрены отдельные разрешения. Публикация изменённых исходников в собственном форке допускается для внесения вклада обратно в MAX. Это существенное отличие от свободной open-source-лицензии, позволяющей развивать самостоятельную ветку без такого ограничения.

Отдельное условие касается юридических лиц, которые предлагают другим юридическим лицам коммерческие размещённые или управляемые сервисы обучения и выполнения ИИ-моделей на MAX: лицензия требует использовать обозначение Modular Accelerated в установленном порядке согласования.

ИИ-инструментами пользоваться тоже можно: анализировать, объяснять и улучшать код MAX, разрабатывать совместимые приложения. Ограничение направлено на использование кода в качестве входных данных для ИИ ради создания замены самому MAX. Ранее открытые компоненты сохраняют свои лицензии, в том числе Apache; новые условия не отменяют уже предоставленные по ним права.

Для команды, выбирающей платформу, новость означает вполне осязаемую перемену: MAX теперь можно изучить целиком, а не оценивать только через документацию и доступные интерфейсы. Перед собственным распространением или запуском сервиса придётся сопоставить свою схему работы с лицензией. А разбираться в работе платформы теперь можно вплоть до конкретной строки её кода.

Схема: digital times.

Поделиться

TelegramFacebookLinkedInWhatsAppX