Transformers.js v3: WebGPU, новые модели и всё, что нужно знать разработчику

Hugging Face выпустил Transformers.js v3 — третью версию библиотеки, которая позволяет запускать модели машинного обучения прямо в браузере на JavaScript. Главное нововведение — поддержка WebGPU, что даёт возможность использовать графический процессор для ускорения вычислений. Ранее Transformers.js

Transformers.js v3: WebGPU, новые модели и всё, что нужно знать разработчику

Hugging Face выпустил Transformers.js v3 — третью версию библиотеки, которая позволяет запускать модели машинного обучения прямо в браузере на JavaScript. Главное нововведение — поддержка WebGPU, что даёт возможность использовать графический процессор для ускорения вычислений. Ранее Transformers.js работал только на CPU, что ограничивало производительность сложных моделей. С WebGPU открывается путь к запуску тяжёлых языковых моделей с приемлемой скоростью без отправки данных на сервер. Это повышает приватность и снижает задержки, делая AI-функции доступными прямо в браузере.

Что такое Transformers.js и зачем он нужен

Transformers.js — это библиотека от Hugging Face, которая адаптирует популярные модели трансформеров для работы в среде JavaScript. Она позволяет выполнять инференс моделей непосредственно в браузере или в Node.js, без необходимости разворачивать серверную инфраструктуру. Это особенно ценно для веб-приложений, где важны скорость отклика и конфиденциальность данных. С версией v3 библиотека делает шаг вперёд, интегрируя WebGPU — современный API для доступа к GPU в браузере.

Как работает поддержка WebGPU в Transformers.js v3

WebGPU — это низкоуровневый API, который даёт разработчикам прямой доступ к графическим процессорам. В отличие от WebGL, он оптимизирован не только для рендеринга, но и для общих вычислений, таких как машинное обучение. Transformers.js v3 использует WebGPU для ускорения матричных операций, которые лежат в основе нейросетей. Это позволяет снизить время инференса в несколько раз по сравнению с CPU. Например, модель BERT, которая ранее обрабатывала запрос за секунды на CPU, теперь может делать это за миллисекунды на GPU. Важно, что WebGPU поддерживается в современных версиях Chrome, Edge и Firefox, а также в Safari (хотя с ограничениями).

Какие новые модели и задачи появились в v3

Помимо поддержки WebGPU, Transformers.js v3 расширил каталог предобученных моделей. Теперь доступны модели для обработки изображений: сегментация объектов, детекция и классификация. Например, можно запустить DETR для обнаружения объектов на фото или SAM для сегментации. В области аудио добавлены модели распознавания речи (Whisper) и классификации звуков. Для генерации текста появились лёгкие версии GPT-2 и T5. Также улучшена совместимость с ONNX Runtime, что позволяет загружать модели в формате ONNX и оптимизировать их под WebGPU. API упрощён: теперь для разных задач используется единый интерфейс pipeline, что сокращает код.

Как это повлияет на веб-разработку и пользователей

Transformers.js v3 открывает новые возможности для веб-разработчиков. Теперь можно создавать приложения с ИИ без серверной части: чат-боты, переводчики в реальном времени, анализаторы изображений — всё работает на стороне клиента. Пользователи получают более быстрые и приватные AI-функции, так как данные не покидают устройство. Исследователи могут тестировать модели прямо в браузере без установки Python и зависимостей. Однако есть и ограничения: производительность зависит от GPU пользователя, а на мобильных устройствах WebGPU пока не везде поддерживается (например, в Safari на iOS поддержка ограничена).

Как начать использовать Transformers.js v3

Чтобы начать, достаточно установить библиотеку через npm: npm install @xenova/transformers. Затем можно загрузить модель и выполнить инференс. Например, для анализа тональности текста: javascript import { pipeline } from '@xenova/transformers'; const classifier = await pipeline('sentiment-analysis'); const result = await classifier('I love Transformers.js!'); Для работы с WebGPU нужно указать устройство: await pipeline('text-generation', { device: 'webgpu' }). Hugging Face предоставляет документацию и примеры на своём сайте.

Какие ограничения и неизвестные моменты остаются

Несмотря на прогресс, остаются вопросы. Полный список поддерживаемых моделей и их производительность на разных GPU пока не опубликованы. Совместимость с мобильными браузерами, особенно с Safari на iOS, ограничена — WebGPU там работает нестабильно. Также не все модели оптимизированы под WebGPU, и для некоторых задач CPU может быть быстрее из-за накладных расходов на передачу данных. Разработчикам стоит тестировать свои сценарии на целевых устройствах.

Что такое WebGPU и почему это важно для машинного обучения в браузере

WebGPU — это новый графический API, который пришёл на смену WebGL. Он предоставляет более прямой доступ к GPU, что критично для машинного обучения. В отличие от WebGL, WebGPU поддерживает вычислительные шейдеры, которые идеально подходят для нейросетей. Это позволяет выполнять инференс моделей в 10-100 раз быстрее, чем на CPU, в зависимости от модели и GPU. Для веб-разработчиков это означает, что сложные AI-задачи, такие как обработка видео или генерация текста, становятся возможными в реальном времени.

Заключение

Transformers.js v3 — значительный шаг вперёд для машинного обучения в браузере. Поддержка WebGPU, новые модели и упрощённый API делают библиотеку мощным инструментом для веб-разработчиков. Несмотря на некоторые ограничения, она открывает путь к созданию быстрых и приватных AI-приложений. Если вы хотите попробовать, начните с установки и экспериментов с простыми моделями. Следите за обновлениями — Hugging Face активно развивает проект.