Hugging Face выпустила библиотеку WebGPU-ядер для ускорения ИИ в браузере
Hugging Face представила коллекцию из более чем 200 оптимизированных WebGPU-ядер, призванную сделать запуск нейросетей прямо в браузере быстрее и доступнее для разработчиков.
Hugging Face представила коллекцию из более чем 200 оптимизированных WebGPU-ядер, призванную сделать запуск нейросетей прямо в браузере быстрее и доступнее для разработчиков.
2 мин

Команда WebAI из Hugging Face сделала важный шаг в развитии локального искусственного интеллекта. Они представили @huggingface/kernels — минималистичную библиотеку для загрузки и выполнения оптимизированных WebGPU-ядер (kernels) напрямую из репозитория Hugging Face Hub. На старте коллекция включает 207 ядер, покрывающих базовые операции для широкого спектра архитектур машинного обучения.
Запуск моделей в браузере — это сложный многоуровневый процесс. Чтобы нейросеть работала эффективно, она должна быть разбита на последовательность графических операций: матричные умножения, нормализации, свертки и механизмы внимания. Стандарт WebGPU предоставляет переносимый интерфейс (API) для этих операций в современных браузерах. Однако переносимость не гарантирует высокой производительности. Два шейдера могут выполнять одну и ту же математическую задачу, но работать совершенно по-разному на разных ускорителях из-за особенностей доступа к памяти, векторизации и архитектуры конкретного устройства.
Именно эту проблему решает новая библиотека. Каждое из 207 ядер публикуется как отдельный версионированный пакет с открытым исходным кодом (лицензия Apache-2.0). В репозитории хранятся не только шаблоны шейдеров на языке WGSL, но и манифесты, тесты на корректность и сценарии для бенчмарков. Разработчики могут использовать специальный JavaScript-загрузчик, который автоматически скачивает, подготавливает и запускает нужные ядра в зависимости от задачи.
Результаты внутреннего тестирования показывают значительный прирост производительности. В сравнении с ORT WebGPU (от ONNX Runtime) на графическом процессоре Apple M4, ядра от Hugging Face оказались в среднем в 2.57 раза быстрее. В некоторых специфических и сложных сценариях, таких как билинейные операции Einsum, специализированное ядро отработало в тысячи раз быстрее, избежав медленных путей общего алгоритма. Важно отметить, что эти цифры отражают скорость выполнения самих вычислений на GPU, без учета времени на загрузку данных и компиляцию шейдеров.
Вместе с библиотекой ядер компания запустила Fleet — инструмент для тестирования и бенчмаркинга в браузере. Fleet позволяет краудсорсить данные о производительности и корректности работы ядер на реальных устройствах пользователей. Это критически важно, так как производительность WebGPU сильно варьируется в зависимости от видеокарты, драйверов и конкретного браузера.
Этот релиз означает переход к более модульному и оптимизированному подходу в веб-инференсе. Предоставляя разработчикам доступ к базовым, хорошо протестированным примитивам, Hugging Face закладывает фундамент для создания более быстрых высокоуровневых сред выполнения. Компания уже сотрудничает с командой ONNX Runtime, чтобы интегрировать эти улучшения в широкую экосистему. В перспективе это сделает работу с локальными ИИ-моделями в вебе такой же привычной и плавной, как использование обычных веб-приложений.
Hugging Face стандартизирует и ускоряет выполнение ИИ-моделей в браузере, предоставляя разработчикам набор из 200+ оптимизированных графических примитивов (ядер).
Открытая публикация не просто шейдеров, а полных тестовых контрактов и бенчмарков для каждого ядра превращает математические операции в надежные программные артефакты, независимые от конкретного движка.