Google AI Edge открыла исходный код ML Drift — нового cross-platform GPU compute engine для локального AI и ML inference.
Проект опубликован под Apache 2.0 и уже используется как основной GPU acceleration engine внутри LiteRT.
Главная задача ML Drift — дать одному runtime работать на разных GPU и низкоуровневых API: OpenGL ES, OpenCL, Metal и WebGPU.
Почему Google понадобился новый GPU runtime
Datacenter inference работает на относительно предсказуемом железе. На edge всё сложнее.
Приложение может запуститься на:
- Android-смартфоне с Adreno;
- устройстве с Mali;
- iPhone/iPad с Metal;
- Windows PC;
- Linux workstation;
- браузере через WebGPU.
У всех разные драйверы, memory layout и возможности hardware.
Старый TensorFlow Lite GPU delegate создавался для более раннего поколения mobile ML, когда основными задачами были computer vision и небольшие нейросети.
Современные local models включают LLM, diffusion и сложные multimodal architectures, которые гораздо сильнее нагружают memory и compute.
ML Drift отделяет логический tensor от физического GPU storage
Одна из ключевых архитектурных идей — tensor virtualization.
Раньше optimized shaders часто напрямую зависели от того, как tensor размещён в texture/buffer конкретного backend.
ML Drift отделяет logical representation tensor от физического размещения на GPU.
Dynamic shader templates разрешают координаты на этапе compiler initialization, что позволяет использовать более единый shader model на разных backends.
Что абстрагирует ML Drift
- Model graphПриложение задаёт AI/ML workload
- Tensor virtualizationLogical tensor отделён от конкретного GPU storage
- Shader layerRuntime выбирает и генерирует подходящие kernels
- BackendOpenGL ES, OpenCL, Metal или WebGPU
- GPUWorkload выполняется на конкретном устройстве
Custom Ops можно добавлять напрямую
ML Drift получил новый custom op framework.
Разработчик может регистрировать собственные operators и работать с low-level shading languages.
Google отдельно добавила agentic SKILL.md guide, чтобы coding agents могли помогать писать, регистрировать и проверять custom shaders.
Это интересный пример того, как AI-agent начинает использоваться уже внутри GPU/runtime engineering.
Появилась поддержка 5D tensors
Legacy TFLite GPU delegate был структурно привязан к 4D tensors.
Для некоторых моделей это требовало layout hacks.
ML Drift поддерживает 5D tensors напрямую.
Это важно для:
- 3D convolutional networks;
- volumetric AI;
- spatiotemporal models;
- современных vision architectures.
Runtime оптимизирован и под локальные LLM
Inference autoregressive LLM состоит минимум из двух очень разных стадий:
- prefill — compute-heavy обработка контекста;
- decode — memory-bandwidth-heavy генерация tokens.
ML Drift умеет переключать kernels и memory layouts в зависимости от активной стадии.
Для decode Google использует специальный KV-cache layout и in-kernel activation quantization, чтобы уменьшить лишние memory roundtrips.
Windows и Linux получают WebGPU backend
ML Drift изначально использовал WebGPU для browser acceleration.
Благодаря Dawn — Chromium implementation WebGPU — тот же backend можно запускать нативно вне браузера.
Это даёт Google единый путь для Windows и Linux, обходя необходимость поддерживать отдельную полноценную реализацию под DirectX и Vulkan.
На macOS остаётся native Metal backend.
Google показывает меньший memory overhead
По внутренним Gemma benchmarks ML Drift показывает до 12% меньший memory overhead по сравнению с другими frameworks в тесте Google.
Memory здесь критична: local AI ограничен не только FLOPS, но и тем, помещается ли модель и KV cache в доступную память одновременно с приложением.
ML Drift уже используется в production
Это не экспериментальный runtime, который только появился на GitHub.
Google пишет, что ML Drift уже работает на миллионах устройств и используется в:
- Chrome;
- YouTube Shorts;
- Google Photos;
- Google Meet;
- Google AI Edge apps.
YouTube Shorts: до 40% меньше frame latency
YouTube Shorts перенёс segmentation effects на ML Drift.
По данным Google, это дало до 40% снижения average frame latency на Android и iOS.
Для camera effects это напрямую влияет на UX: обработка должна успевать в реальном времени без пропуска кадров.
Google Photos: ускорение до двух секунд
Google Photos использует ML Drift в computational photography и segmentation pipelines.
Компания сообщает об ускорении некоторых операций до двух секунд по сравнению с legacy GPU delegate.
Это уже не абстрактный benchmark, а заметная пользовательская задержка.
Chrome использует ML Drift для Gemini Nano
Chrome интегрировал ML Drift в runtime infrastructure для hardware-accelerated Gemini Nano.
Это используется в Built-in AI APIs, включая:
- Prompt API;
- Summarize API;
- Writer API.
То есть web applications могут косвенно получать ускорение локального AI через browser runtime.
Adobe и Snap тоже используют технологию
Google приводит примеры внешних партнёров.
Adobe Lightroom и Photoshop ускорили on-device AI-функции вроде Select Subject, Select Sky и Adaptive Portrait.
По данным Google, улучшение performance в некоторых сценариях достигает 30%.
Snap также использует LiteRT/ML Drift для AI effects в Snapchat lenses и показывает примерно 30% улучшение model latency для отдельных workloads.
Google работала с Arm, Intel и Qualcomm
Чтобы runtime работал не только теоретически cross-platform, Google оптимизировала его вместе с hardware vendors.
В публикации упоминаются:
- Arm Mali и Immortalis;
- Intel Core Ultra / Xe graphics;
- Qualcomm Adreno.
Это важно, потому что хороший GPU abstraction layer всё равно должен учитывать реальные особенности silicon.
Что будет со старым TFLite GPU delegate
Legacy TFLite GPU delegate больше не будет получать новые feature updates.
Google рекомендует переходить на LiteRT ML Drift GPU accelerator.
При этом заявлена backward compatibility для существующих моделей.
Как начать использовать ML Drift
Google предлагает два пути.
Для обычного application developer
Использовать LiteRT ML Drift accelerator и получить готовые:
- model partitioning;
- tensor virtualization;
- LLM acceleration;
- cross-platform backend selection.
Для GPU/system engineer
Работать напрямую со standalone C++ API ML Drift, строить собственные GpuModel graphs и писать custom shaders.
Почему это важно для локального AI
Основная проблема local AI — фрагментация.
Модель может хорошо работать на одном GPU и плохо на другом не из-за архитектуры самой модели, а из-за runtime, driver и memory layout.
Если ML Drift действительно стабильно абстрагирует разные mobile и desktop backends, разработчику становится проще выпускать один on-device AI product на нескольких платформах.
Это не замена Ollama
ML Drift находится на другом уровне.
Ollama — удобный runtime и distribution layer для локальных моделей, в основном ориентированный на developer/user workflow.
ML Drift — low-level GPU compute/inference foundation, который может использоваться внутри приложений и frameworks.
Мы уже разбирали, как GitHub Copilot CLI подключает локальные Ollama-модели. Здесь Google решает другую часть local AI stack — эффективное выполнение модели на разнообразном GPU hardware.
Практический вывод
ML Drift показывает, куда движется on-device AI: от отдельных mobile delegates к единому runtime для vision, generative AI и local LLM.
Проект уже работает внутри крупных продуктов Google, а теперь открыт для внешних разработчиков.
Главный вопрос будет не в том, умеет ли ML Drift запустить модель, а насколько стабильно он даст одинаково хорошую производительность на огромном количестве GPU и драйверов.
Официальный источник
Google Developers Blog — ML Drift: Next-Gen GPU AI/ML Inference at the Edge
Обсуждение
Вопросы и комментарии
Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.