Перейти к содержанию
Публикация AiManual

ML Drift от Google: кросс-платформенный GPU-движок для AI-инференса на устройствах

Google AI Edge Team открыла код ML Drift: кросс-платформенного GPU-движка для AI-инференса на устройствах под лицензией Apache 2.0. Разбираем, какие API он абст

Коротко

Что будет в материале

  1. 01

    Что такое ML Drift и зачем он нужен

  2. 02

    Как ML Drift упрощает работу с GPU

  3. 03

    Связь ML Drift с LiteRT

  4. 04

    Кому и для каких задач подходит ML Drift

Что такое ML Drift и зачем он нужен

Google AI Edge Team открыла исходный код ML Drift, кросс-платформенного GPU-вычислительного движка для AI/ML-инференса прямо на устройствах. Лицензия Apache 2.0, репозиторий называется google-ai-edge/ml-drift, анонс датирован 9 октября 2026 года. Первоисточник анонса и репозиторий.

Задачу движок решает понятную. GPU в смартфонах, планшетах, ноутбуках и браузерах говорят на разных языках: OpenGL ES, OpenCL, Metal, WebGPU. У каждого свои шейдерные языки, правила работы с памятью, ограничения драйверов и свои трюки для ускорения. Когда инференс модели пишут на GPU вручную, приходится держать в голове все эти различия или поддерживать несколько версий одного и того же кода. ML Drift берёт эту работу на себя: разработчик обращается к единому интерфейсу, а движок разбирается с низкоуровневым API конкретной платформы.

Формулировка Google звучит амбициозно: единая основа для пиковой производительности везде. Это заявка вендора, а не измеренный результат. Ниже разберём, что подтверждено фактами, а что пока остаётся обещанием.

Кто стоит за разработкой

Автор релиза - Google AI Edge Team, команда Google по инструментам AI для edge-устройств. Она же развивает LiteRT, рантайм для запуска моделей на устройствах. Это официальный проект внутри Google, а не эксперимент одного разработчика, и такой статус заметно повышает шансы на регулярные обновления. Публичных данных о размере команды, сроках работы над движком и планах развития в анонсе нет.

Лицензия и открытый код

Apache 2.0 - permissive-лицензия. Она разрешает коммерческое использование, изменение и распространение кода, а также содержит явный грант патентных прав. На практике это значит, что ML Drift можно встроить в проприетарное приложение и не открывать собственные исходники: достаточно сохранить уведомления об авторстве. Для команд, которые выбирают зависимости для продакшена, критерий важный, и здесь Google не навязывает копилефт.

Как ML Drift упрощает работу с GPU

Ценность абстракции проявляется там, где один и тот же ML-код должен работать на разных платформах, а не на одном заранее известном устройстве.

Какие API поддерживаются

Четыре низкоуровневых API: OpenGL ES, OpenCL, Metal и WebGPU. Покрытие выглядит так:

  • OpenGL ES - основной графический API Android и встраиваемых GPU;
  • OpenCL - вычислительный API, распространённый на мобильных чипах и во встраиваемых решениях;
  • Metal - API Apple для iPhone, iPad и Mac;
  • WebGPU - веб-API для доступа к GPU из браузера.

Набор закрывает Android, iOS, macOS и веб. Браузерный сценарий пока самый капризный: WebGPU включён не во всех браузерах и не на всём железе, а поведение внутри одной платформы зависит от драйверов. В разборе Transformers.js v3 показано, почему WebGPU и 4-битные веса подходят не для каждой модели и не для каждого пользователя.

Что это даёт разработчику

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

Второй эффект - порог входа. Разработчику ML-фичи не нужно разбираться, как именно Apple или Qualcomm советуют работать с памятью на своём GPU. Он описывает вычисление, а подстройку под железо делает библиотека. Google называет движок высокопроизводительным и говорит о пиковой производительности на всех платформах, однако конкретных замеров в анонсе нет, поэтому эту часть стоит проверять самостоятельно на своих моделях.

Для сравнения: в браузерном инференсе через WebGPU уже встречаются впечатляющие цифры. По данным разбора про запуск LFM 2.5 на WebGPU скорость достигала 1440 токенов/с на RTX 3090 и до 500 токенов/с на Apple M4, но там речь о другом стеке и аппаратно-специфичных ядрах.

Связь ML Drift с LiteRT

LiteRT знаком тем, кто запускает модели на мобильных устройствах и встраиваемых системах. ML Drift встроен в этот рантайм, и это определяет, как оба проекта соотносятся друг с другом.

Роль в экосистеме LiteRT

ML Drift служит ядром GPU-ускорения внутри LiteRT. GPU-путь в рантайме опирается на этот движок, а не на отдельный набор реализаций под каждый API. Практический вывод простой: приложение на LiteRT с GPU-делегатом получает улучшения ML Drift автоматически при обновлении рантайма, без отдельной работы. Детали интеграции Google не раскрывает: неизвестно, какие части LiteRT уже переведены на новый движок, а какие остались на прежних реализациях, и насколько велика разница в скорости между ними. Анонс проекта.

Использование как отдельной библиотеки

ML Drift можно взять без LiteRT: он поставляется как самостоятельная библиотека для кастомных графических и инференс-рантаймов. Сценарий типичный: у команды свой рантайм моделей или собственный пайплайн обработки видео и графики, и нужен доступ к вычислениям на GPU без привязки к чужому фреймворку. Тогда абстракция над OpenGL ES, OpenCL, Metal и WebGPU даёт единый код для всех платформ, а само ядро инференса пишется отдельно. Второй вариант - держать общий графический пайплайн, куда ML-этапы встраиваются в общую очередь вычислений на GPU.

Кому и для каких задач подходит ML Drift

Примеры использования

  • видеоэффекты в реальном времени: фильтры, стилизация, сегментация и улучшение кадра прямо на устройстве;
  • генеративный AI на устройстве, где важны задержка ответа и приватность данных пользователя;
  • интерактивные ML-фичи: распознавание в потоке камеры, трекинг, обработка жестов;
  • кастомные графические и инференс-рантаймы, которым нужен единый слой над GPU-API.

Общая черта этих задач - жёсткие требования к задержке и работа на нескольких платформах сразу. Если один и тот же код должен крутиться на Android, iOS и в браузере, абстракция окупается. Новичку, который только пробует GPU-инференс на одном устройстве, выгода будет меньше, чем команде с кросс-платформенным продуктом.

Когда ML Drift не нужен

Есть случаи, когда слой абстракции только мешает. Если инференс идёт на CPU и GPU не задействован, движок не даст ничего, кроме лишней зависимости. Если проект живёт на одной платформе и вы разбираетесь в её API, прямой код окажется проще и предсказуемее, особенно когда нужны нестандартные оптимизации под конкретный чип. Если у вас уже есть рабочий кросс-платформенный GPU-слой или фреймворк с готовыми делегатами, переход добавит риск без гарантированной выгоды.

Ограничения и неизвестные

Самый честный раздел материала. Анонс описывает идею и архитектурную роль движка, но почти не даёт данных для инженерного решения.

Что не раскрыто в релизе

  • нет бенчмарков: ни задержек, ни пропускной способности, ни сравнений с прямым использованием графических API;
  • нет списка поддерживаемых GPU, чипсетов и версий драйверов;
  • нет номеров версий, дат релизов и дорожной карты;
  • нет описания того, как именно устроена интеграция с LiteRT;
  • нет данных о стабильности и готовности к продакшену.

Утверждение о пиковой производительности на всех платформах стоит воспринимать как цель команды, пока не появятся независимые замеры. Как проверять подобные цифры, видно на примере разбора заявления о 100% эффективности GPU: без методики, сценария и указания железа такие числа почти ничего не говорят о реальной работе.

Потенциальные сложности на практике

Старые устройства - первое место, где начнутся проблемы. Уровни OpenGL ES и качество драйверов на бюджетных Android-чипах заметно отличаются, а WebGPU доступен не везде. Документация к молодому проекту обычно отстаёт от кода, поэтому отладка ляжет на разработчика. Если сроки жёсткие, разумно подождать пару релизов и первых публичных отчётов, прежде чем строить на ML Drift критичную часть продукта. Текущее состояние проекта и его место в экосистеме полезно отслеживать по тому же обсуждению релиза.

Как начать работать с ML Drift

Где взять код и документацию

Исходники лежат в репозитории google-ai-edge/ml-drift под лицензией Apache 2.0. Документацию стоит искать в README и вики проекта, а за контекстом следить в блоге Google AI Edge: команда публикует там материалы по своим инструментам для устройств. Полноценных гайдов и туториалов на момент анонса не заявлено, так что первые шаги придётся выяснять по коду и примерам в репозитории, если они там есть.

Первые шаги для интеграции

  1. Определите целевые платформы и проверьте, какой из четырёх API там реально доступен: OpenGL ES, OpenCL, Metal или WebGPU.
  2. Соберите библиотеку под свою платформу и прогоните простую модель, чтобы оценить задержку.
  3. Сравните результат с CPU-версией и с прямым обращением к GPU-API: разница покажет, есть ли смысл в абстракции именно для вашей задачи.
  4. Если вы на LiteRT, включите GPU-ускорение в актуальной версии рантайма и проверьте, какой путь задействуется на вашем устройстве.
  5. Заложите время на отладку на реальных устройствах, а не только на эмуляторах: разница в драйверах там проявляется сильнее всего.

ML Drift закрывает реальную боль кросс-платформенного GPU-инференса, но пока это ранний open-source релиз с минимумом публичных данных. Начинать стоит с небольших экспериментов на своём железе и целевой модели, а решение о продакшене принимать по собственным замерам. Первые отчёты сообщества и обновления репозитория покажут, насколько заявленная производительность подтвердится на практике.

Подписаться на канал