Google выпустила ML Drift, кроссплатформенный вычислительный движок на графическом процессоре с открытым исходным кодом, предназначенный для искусственного интеллекта на устройствах и машинного обучения. Лицензия Apache 2.0 позволяет абстрагироваться от сложностей различного оборудования графических процессоров и низкоуровневых API, поддерживая OpenGL ES, OpenCL, Metal и WebGPU.
ML Drift — это основной механизм ускорения графического процессора, лежащий в основе LiteRT. Открыв исходный код, Google позволяет разработчикам создавать собственную графику и среду выполнения для приложений, начиная от традиционного компьютерного зрения, аудио и обработки глубины и заканчивая генеративным искусственным интеллектом.
Одной из основных целей ML Drift является упрощение доступа к разнообразному оборудованию графических процессоров, с которым разработчики сталкиваются при создании приложений для периферийных устройств.
Разработчики сталкиваются с широким спектром архитектур графических процессоров, версий драйверов и низкоуровневых API, не зная заранее, на каком конкретном оборудовании будет работать приложение.
По словам Google, ML Drift стремится создать новую основу для портативности и производительности, обеспечивая «стабильность традиционного машинного обучения и максимальную производительность для самого передового генеративного искусственного интеллекта».
Для достижения этой цели ML Drift представляет несколько технических улучшений по сравнению с устаревшим делегатом графического процессора TFLite, включая унифицированные шейдеры посредством тензорной виртуализации, расширяемые пользовательские операции и поддержку пятимерных тензоров. Он также включает аппаратную оптимизацию для графических процессоров от Arm, Intel и Qualcomm Technologies для «максимального использования оборудования в современных графических процессорах».
ML Drift расширяет поддержку настольных компьютеров для вывода в Windows и Linux с помощью Dawn, реализации Chromium WebGPU, сохраняя при этом встроенную поддержку Metal в macOS. Dawn предоставляет унифицированную модель API, использующую уровень аппаратной абстракции WebGPU, что позволяет избежать необходимости напрямую взаимодействовать с графическими API для конкретной платформы, такими как DirectX и Vulkan.
Google протестировал ML Drift с использованием моделей Gemma на оборудовании рабочих станций уровня разработчиков и сообщил о снижении затрат памяти на 12 % по сравнению с другими платформами, включая llama.cpp и MLX LM. Компания также подчеркнула, что ML Drift уже работает на миллионах устройств через такие приложения, как Chrome, YouTube Shorts, Photos и Meet.
В YouTube Shorts технология ML Drift позволяет сократить среднюю задержку кадра на 40 % для эффектов сегментации на Android и iOS. В Google Photos он ускоряет процессы вычислительной фотографии и сегментации до двух секунд. Adobe Lightroom и Photoshop выигрывают от повышения производительности до 30 % для некоторых функций редактирования фотографий на основе искусственного интеллекта, таких как «Выбрать объект», «Выбрать небо» и «Адаптивный портрет». Наконец, Snapchat отмечает сокращение задержки модели на 30 % для эффектов создания лиц и стилей на основе машинного обучения на Android, что позволяет использовать более крупные диффузионные модели.
Комментируя объявление на LinkedIn, инженер AI/ML Павитра Аграхарам заявила, что
Встроенная поддержка 5D-тензоров без хаков с компоновкой — это огромное преимущество для запуска пространственных моделей и моделей преобразователей на периферийных графических процессорах. Отделение логических тензоров от распределения физической памяти должно значительно сократить фрагментацию памяти во время живого вывода.
Мэтью Чарльз Владислав Бусел, основатель и единственный разработчик Tensorust, задался вопросом, «как он сравнивается с Core ML на последних iPhone по задержке и памяти, поскольку это то, против чего сегодня большинство из нас», хотя Google не предоставил никаких сравнительных цифр.
С выпуском ML Drift Google прекратит обновление устаревшего делегата графического процессора TensorFlow Lite. Для обратной совместимости с существующими моделями компания рекомендует перейти на графический ускоритель LiteRT ML Drift. Разработчики приложений могут использовать ускоритель LiteRT ML Drift, а инженеры графических процессоров и системные инженеры могут получить доступ к его API C++ нижнего уровня для создания пользовательских GpuModel вычислять графики и писать собственные шейдеры.