11 ноября 2026 г.
ExecuTorch: модели PyTorch работают на GPU браузера из 1 файла .pte
10 ноября PyTorch добавил в ExecuTorch запуск моделей на GPU браузера без конвертации в GGUF, ONNX или TFLite.

Модель PyTorch теперь можно экспортировать в .pte и запустить в Chrome, Safari или другом браузере с WebGPU.
Раньше для браузерного запуска разработчики конвертировали модели в отдельные форматы. Новый backend ExecuTorch убирает этот промежуточный шаг. Формат .pte также используется для нативного выполнения через Metal, Vulkan и D3D12.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
Попробовать без установки. В ExecuTorch WebGPU Playground доступны чат, распознавание речи, сегментация объектов и оценка глубины изображения. Нужен браузер с WebGPU. Авторы проверили backend на семи моделях: - Llama 3.2 1B; - Qwen3-0.6B; - Gemma 3 1B; - SmolVLM; - SAM 2.1; - Depth Anything V2; - Whisper base.
В замерах PyTorch от 10 ноября модели обрабатывали входной запрос в 4–7 раз быстрее и генерировали ответ в 2–10 раз быстрее, чем при многопоточном выполнении через Wasm и XNNPACK на процессоре. Авторы тестировали Llama 3.2 1B и Qwen3-0.6B в Chrome на Apple M1 Pro с контекстом от 128 до 8192 токенов. Для каждого замера брали медиану пяти запусков после трёх прогревочных.
Подключить свою модель. Документация даёт цепочку экспорта: `torch.export.export` → `to_edge_transform_and_lower` с `WebGPUPartitioner()` → `to_executorch()`. Разработчик сохраняет `et_program.buffer` в файл .pte. Перед экспортом нужно проверить операторы: разбиение графа наследуется от Vulkan, поэтому неподдерживаемый WebGPU оператор приведёт к ошибке сборки графа без автоматического перехода на другой способ выполнения.
Готовый браузерный runtime опубликован в ExecuTorch Community на Hugging Face. По данным README от 10 ноября, файл `executorch_wasm_lib.wasm` занимает 6,6 МБ, JS-загрузчик ещё 166 КБ. После `createExecuTorch()` приложение вызывает `await et.initWebGPU()`, загружает модель через `et.Module.load(path)` и выполняет асинхронный `forward([tensors])`.
Для старта есть готовая Qwen3-0.6B: по карточке от 10 ноября модель с сопутствующими файлами занимает 397,1 МБ. Веса хранятся в 4-битном виде, KV cache использует fp16. Браузерная сборка принимает до 8960 токенов контекста против 32768 у исходной модели, а Playground по умолчанию отключает режим рассуждений.
Экспорт Qwen воспроизводится командой `python recipes/qwen3-0.6b.py --out out/qwen3-0.6b` из каталога `export/`. Для самостоятельной сборки runtime нужны Emscripten и флаг `EXECUTORCH_BUILD_WASM_WEBGPU=ON`. Опубликованную сборку подготовили с Emscripten 4.0.19, команды приведены в `BUILD_INFO.md`.
Авторы также заявили демонстрации дообучения через LoRA и DiReFT на самом устройстве.
Первоисточник